DiagnosticImpl.java revision 1209:36fbf759ab8d
1158421Swollman/* 2153761Swollman * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. 3153761Swollman * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 42742Swollman * 586464Swollman * This code is free software; you can redistribute it and/or modify it 62742Swollman * under the terms of the GNU General Public License version 2 only, as 72742Swollman * published by the Free Software Foundation. Oracle designates this 82742Swollman * particular file as subject to the "Classpath" exception as provided 92742Swollman * by Oracle in the LICENSE file that accompanied this code. 102742Swollman * 112742Swollman * This code is distributed in the hope that it will be useful, but WITHOUT 1286222Swollman * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1386222Swollman * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 142742Swollman * version 2 for more details (a copy is included in the LICENSE file that 1558787Sru * accompanied this code). 162742Swollman * 172742Swollman * You should have received a copy of the GNU General Public License version 182742Swollman * 2 along with this work; if not, write to the Free Software Foundation, 192742Swollman * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 202742Swollman * 212742Swollman * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2258787Sru * or visit www.oracle.com if you need additional information or have any 2358787Sru * questions. 2458787Sru */ 252742Swollman 262742Swollmanpackage jdk.nashorn.api.tree; 279908Swollman 282742Swollmanimport jdk.nashorn.internal.parser.Token; 2930711Swollmanimport jdk.nashorn.internal.runtime.ParserException; 302742Swollman 319908Swollmanfinal class DiagnosticImpl implements Diagnostic { 322742Swollman private final ParserException exp; 3358787Sru private final Kind kind; 3458787Sru 3514343Swollman DiagnosticImpl(final ParserException exp, final Kind kind) { 3614343Swollman this.exp = exp; 3714343Swollman this.kind = kind; 3814343Swollman } 3914343Swollman 402742Swollman @Override 419908Swollman public Kind getKind() { 4220094Swollman return kind; 43149514Swollman } 4420094Swollman 4520094Swollman @Override 4620094Swollman public long getPosition() { 4720094Swollman return exp.getPosition(); 4820094Swollman } 4920094Swollman 5020094Swollman @Override 5120094Swollman public String getFileName() { 5220094Swollman return exp.getFileName(); 5320094Swollman } 5420094Swollman 5558787Sru @Override 5658787Sru public long getLineNumber() { 5721217Swollman return exp.getLineNumber(); 5821217Swollman } 5958787Sru 6058787Sru @Override 612742Swollman public long getColumnNumber() { 6258787Sru return exp.getColumnNumber(); 6321217Swollman } 6420094Swollman 6558787Sru @Override 6658787Sru public String getCode() { 6720094Swollman final long token = exp.getToken(); 682742Swollman return (token < 0)? null : Token.toString(null, token, true); 699908Swollman } 702742Swollman 7114343Swollman @Override 7214343Swollman public String getMessage() { 7314343Swollman return exp.getMessage(); 7414343Swollman } 7514343Swollman 7614343Swollman @Override 7764499Swollman public String toString() { 7864499Swollman return getMessage(); 7964499Swollman } 8064499Swollman} 8164499Swollman