org.mozilla.javascript.ast
Interface IdeErrorReporter

All Superinterfaces:
ErrorReporter
All Known Implementing Classes:
ErrorCollector

public interface IdeErrorReporter
extends ErrorReporter

This is interface defines a protocol for the reporting of errors during JavaScript translation in IDE-mode. If the Parser's error reporter is set to an instance of this interface, then this interface's warning(java.lang.String, java.lang.String, int, int) and error(java.lang.String, java.lang.String, int, int) methods are called instead of the ErrorReporter versions.

These methods take a source char offset and a length. The rationale is that in interactive IDE-type environments, the source is available and the IDE will want to indicate where the error occurred and how much code participates in it. The start and length are generally chosen to fit within a single line, for readability, but the client is free to use the AST to determine the affected node(s) from the start position and change the error or warning's display bounds.

Author:
Steve Yegge

Method Summary
 void error(java.lang.String message, java.lang.String sourceName, int offset, int length)
          Report an error.
 void warning(java.lang.String message, java.lang.String sourceName, int offset, int length)
          Report a warning.
 
Methods inherited from interface org.mozilla.javascript.ErrorReporter
error, runtimeError, warning
 

Method Detail

warning

void warning(java.lang.String message,
             java.lang.String sourceName,
             int offset,
             int length)
Report a warning.

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

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

void error(java.lang.String message,
           java.lang.String sourceName,
           int offset,
           int length)
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.

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