001: /* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
002: *
003: * The contents of this file are subject to the Netscape Public
004: * License Version 1.1 (the "License"); you may not use this file
005: * except in compliance with the License. You may obtain a copy of
006: * the License at http://www.mozilla.org/NPL/
007: *
008: * Software distributed under the License is distributed on an "AS
009: * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
010: * implied. See the License for the specific language governing
011: * rights and limitations under the License.
012: *
013: * The Original Code is Rhino code, released
014: * May 6, 1999.
015: *
016: * The Initial Developer of the Original Code is Netscape
017: * Communications Corporation. Portions created by Netscape are
018: * Copyright (C) 1997-1999 Netscape Communications Corporation. All
019: * Rights Reserved.
020: *
021: * Contributor(s):
022: * Norris Boyd
023: *
024: * Alternatively, the contents of this file may be used under the
025: * terms of the GNU Public License (the "GPL"), in which case the
026: * provisions of the GPL are applicable instead of those above.
027: * If you wish to allow use of your version of this file only
028: * under the terms of the GPL and not to allow others to use your
029: * version of this file under the NPL, indicate your decision by
030: * deleting the provisions above and replace them with the notice
031: * and other provisions required by the GPL. If you do not delete
032: * the provisions above, a recipient may use your version of this
033: * file under either the NPL or the GPL.
034: */
035: // Modified by Google
036: // API class
037: package com.google.gwt.dev.js.rhino;
038:
039: /**
040: * This is interface defines a protocol for the reporting of
041: * errors during JavaScript translation or execution.
042: *
043: * @author Norris Boyd
044: */
045:
046: public interface ErrorReporter {
047:
048: /**
049: * Report a warning.
050: *
051: * The implementing class may choose to ignore the warning
052: * if it desires.
053: *
054: * @param message a String describing the warning
055: * @param sourceName a String describing the JavaScript source
056: * where the warning occured; typically a filename or URL
057: * @param line the line number associated with the warning
058: * @param lineSource the text of the line (may be null)
059: * @param lineOffset the offset into lineSource where problem was detected
060: */
061: void warning(String message, String sourceName, int line,
062: String lineSource, int lineOffset);
063:
064: /**
065: * Report an error.
066: *
067: * The implementing class is free to throw an exception if
068: * it desires.
069: *
070: * If execution has not yet begun, the JavaScript engine is
071: * free to find additional errors rather than terminating
072: * the translation. It will not execute a script that had
073: * errors, however.
074: *
075: * @param message a String describing the error
076: * @param sourceName a String describing the JavaScript source
077: * where the error occured; typically a filename or URL
078: * @param line the line number associated with the error
079: * @param lineSource the text of the line (may be null)
080: * @param lineOffset the offset into lineSource where problem was detected
081: */
082: void error(String message, String sourceName, int line,
083: String lineSource, int lineOffset);
084:
085: /**
086: * Creates an EvaluatorException that may be thrown.
087: *
088: * runtimeErrors, unlike errors, will always terminate the
089: * current script.
090: *
091: * @param message a String describing the error
092: * @param sourceName a String describing the JavaScript source
093: * where the error occured; typically a filename or URL
094: * @param line the line number associated with the error
095: * @param lineSource the text of the line (may be null)
096: * @param lineOffset the offset into lineSource where problem was detected
097: * @return an EvaluatorException that will be thrown.
098: */
099: EvaluatorException runtimeError(String message, String sourceName,
100: int line, String lineSource, int lineOffset);
101: }
|