org.mozilla.javascript.ast
Class ErrorCollector

java.lang.Object
  extended by org.mozilla.javascript.ast.ErrorCollector
All Implemented Interfaces:
IdeErrorReporter, ErrorReporter

public class ErrorCollector
extends java.lang.Object
implements IdeErrorReporter

An error reporter that gathers the errors and warnings for later display. This a useful ErrorReporter when the CompilerEnvirons is set to ide-mode (for IDEs).

Author:
Steve Yegge

Constructor Summary
ErrorCollector()
           
 
Method Summary
 void error(java.lang.String message, java.lang.String sourceName, int fileOffset, int length)
          Report an error.
 void error(java.lang.String message, java.lang.String sourceName, int line, java.lang.String lineSource, int lineOffset)
          This is not called during AST generation.
 java.util.List<ParseProblem> getErrors()
          Returns the list of errors and warnings produced during parsing.
 EvaluatorException runtimeError(java.lang.String message, java.lang.String sourceName, int line, java.lang.String lineSource, int lineOffset)
          Creates an EvaluatorException that may be thrown.
 java.lang.String toString()
           
 void warning(java.lang.String message, java.lang.String sourceName, int offset, int length)
          Report a warning.
 void warning(java.lang.String message, java.lang.String sourceName, int line, java.lang.String lineSource, int lineOffset)
          This is not called during AST generation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ErrorCollector

public ErrorCollector()
Method Detail

warning

public void warning(java.lang.String message,
                    java.lang.String sourceName,
                    int line,
                    java.lang.String lineSource,
                    int lineOffset)
This is not called during AST generation. warning(String,String,int,int) is used instead.

Specified by:
warning in interface ErrorReporter
Parameters:
message - a String describing the warning
sourceName - a String describing the JavaScript source where the warning occured; typically a filename or URL
line - the line number associated with the warning
lineSource - the text of the line (may be null)
lineOffset - the offset into lineSource where problem was detected
Throws:
java.lang.UnsupportedOperationException

warning

public void warning(java.lang.String message,
                    java.lang.String sourceName,
                    int offset,
                    int length)
Description copied from interface: IdeErrorReporter
Report a warning.

The implementing class may choose to ignore the warning if it desires.

Specified by:
warning in interface IdeErrorReporter
Parameters:
message - a String describing the warning
sourceName - a String describing the JavaScript source where the warning occured; typically a filename or URL
offset - the warning's 0-indexed char position in the input stream
length - the length of the region contributing to the warning

error

public void error(java.lang.String message,
                  java.lang.String sourceName,
                  int line,
                  java.lang.String lineSource,
                  int lineOffset)
This is not called during AST generation. warning(String,String,int,int) is used instead.

Specified by:
error in interface ErrorReporter
Parameters:
message - a String describing the error
sourceName - a String describing the JavaScript source where the error occured; typically a filename or URL
line - the line number associated with the error
lineSource - the text of the line (may be null)
lineOffset - the offset into lineSource where problem was detected
Throws:
java.lang.UnsupportedOperationException

error

public void error(java.lang.String message,
                  java.lang.String sourceName,
                  int fileOffset,
                  int length)
Description copied from interface: IdeErrorReporter
Report an error.

The implementing class is free to throw an exception if it desires.

If execution has not yet begun, the JavaScript engine is free to find additional errors rather than terminating the translation. It will not execute a script that had errors, however.

Specified by:
error in interface IdeErrorReporter
Parameters:
message - a String describing the error
sourceName - a String describing the JavaScript source where the error occured; typically a filename or URL
fileOffset - 0-indexed char position of the error in the input stream
length - the length of the region contributing to the error

runtimeError

public EvaluatorException runtimeError(java.lang.String message,
                                       java.lang.String sourceName,
                                       int line,
                                       java.lang.String lineSource,
                                       int lineOffset)
Description copied from interface: ErrorReporter
Creates an EvaluatorException that may be thrown. runtimeErrors, unlike errors, will always terminate the current script.

Specified by:
runtimeError in interface ErrorReporter
Parameters:
message - a String describing the error
sourceName - a String describing the JavaScript source where the error occured; typically a filename or URL
line - the line number associated with the error
lineSource - the text of the line (may be null)
lineOffset - the offset into lineSource where problem was detected
Returns:
an EvaluatorException that will be thrown.

getErrors

public java.util.List<ParseProblem> getErrors()
Returns the list of errors and warnings produced during parsing.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object