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

Methods
`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