Package org.codehaus.groovy.control

# Class ErrorCollector

java.lang.Object
org.codehaus.groovy.control.ErrorCollector

All Implemented Interfaces:
  `java.io.Serializable`

    public class ErrorCollector
    extends java.lang.Object
    implements java.io.Serializable

A base class for collecting messages and errors during processing. Each CompilationUnit should have an ErrorCollector, and the SourceUnits should share their ErrorCollector with the CompilationUnit.

See Also:
  Serialized Form

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `protected CompilerConfiguration` | `configuration` | Configuration and other settings that control processing
  `protected java.util.LinkedList<Message>` | `errors` | ErrorMessages collected during processing
  `protected java.util.LinkedList<WarningMessage>` | `warnings` | WarningMessages collected during processing

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `ErrorCollector​(CompilerConfiguration configuration)` | Initialize the ErrorReporter.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `addCollectorContents​(ErrorCollector that)` |
  `void` | `addError​(java.lang.String error, CSTNode context, SourceUnit source)` |
  `void` | `addError​(Message message)` | Adds a non-fatal error to the message set, which may cause a failure if the error threshold is exceeded.
  `void` | `addError​(Message message, boolean fatal)` | Adds an optionally-fatal error to the message set.
  `void` | `addError​(SyntaxException error, SourceUnit source)` |
  `void` | `addErrorAndContinue​(java.lang.String error, ASTNode node, SourceUnit source)` |
  `void` | `addErrorAndContinue​(Message message)` | Adds an error to the message set, but does not cause a failure.
  `void` | `addErrorAndContinue​(SyntaxException error, SourceUnit source)` |
  `void` | `addException​(java.lang.Exception exception, SourceUnit source)` |
  `void` | `addFatalError​(Message message)` | Adds an error to the message set and throws CompilationFailedException.
  `void` | `addWarning​(int importance, java.lang.String text, java.lang.Object data, CSTNode context, SourceUnit source)` | Adds a warning to the message set if it is relevant.
  `void` | `addWarning​(int importance, java.lang.String text, CSTNode context, SourceUnit source)` | Adds a warning to the message set if it is relevant.
  `void` | `addWarning​(WarningMessage message)` | Adds a warning to the message set.
  `protected void` | `failIfErrors()` | Causes the current phase to fail by throwing a CompilationFailedException.
  `CompilerConfiguration` | `getConfiguration()` |
  `Message` | `getError​(int index)` | Returns the specified error message, or null.
  `int` | `getErrorCount()` | Returns the number of errors.
  `java.util.List<? extends Message>` | `getErrors()` | Returns the list of errors, or null if there are none.
  `java.lang.Exception` | `getException​(int index)` | Returns the specified error's underlying Exception, or null if it isn't one.
  `Message` | `getLastError()` | Returns the last error reported.
  `SyntaxException` | `getSyntaxError​(int index)` | Returns the specified error's underlying SyntaxException, or null if it isn't one.
  `WarningMessage` | `getWarning​(int index)` | Returns the specified warning message, or null.
  `int` | `getWarningCount()` | Returns the number of warnings.
  `java.util.List<WarningMessage>` | `getWarnings()` | Returns the list of warnings, or null if there are none.
  `boolean` | `hasErrors()` | Returns true if there are any errors pending.
  `boolean` | `hasWarnings()` | Returns true if there are any warnings pending.
  `void` | `write​(java.io.PrintWriter writer, Janitor janitor)` | Writes error messages to the specified PrintWriter.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### errors

    protected java.util.LinkedList<Message> errors
    ErrorMessages collected during processing

  - ### warnings

    protected java.util.LinkedList<WarningMessage> warnings
    WarningMessages collected during processing

  - ### configuration

    protected final CompilerConfiguration configuration
    Configuration and other settings that control processing

- ## Constructor Details

  - ### ErrorCollector

    public ErrorCollector​(CompilerConfiguration configuration)
    Initialize the ErrorReporter.

- ## Method Details

  - ### addCollectorContents

    public void addCollectorContents​(ErrorCollector that)

  - ### addErrorAndContinue

    public void addErrorAndContinue​(java.lang.String error, ASTNode node, SourceUnit source)

  - ### addErrorAndContinue

    public void addErrorAndContinue​(SyntaxException error, SourceUnit source)

  - ### addErrorAndContinue

    public void addErrorAndContinue​(Message message)
    Adds an error to the message set, but does not cause a failure. The message is not required to have a source line and column specified, but it is best practice to try and include that information.

  - ### addError

    public void addError​(Message message) throws CompilationFailedException
    Adds a non-fatal error to the message set, which may cause a failure if the error threshold is exceeded. The message is not required to have a source line and column specified, but it is best practice to try and include that information.
    Throws:
      `CompilationFailedException`

  - ### addError

    public void addError​(Message message, boolean fatal) throws CompilationFailedException
    Adds an optionally-fatal error to the message set. The message is not required to have a source line and column specified, but it is best practice to try and include that information.
    Parameters:
      `fatal` - if true then then processing will stop
    Throws:
      `CompilationFailedException`

  - ### addError

    public void addError​(SyntaxException error, SourceUnit source) throws CompilationFailedException
    Throws:
      `CompilationFailedException`

  - ### addError

    public void addError​(java.lang.String error, CSTNode context, SourceUnit source) throws CompilationFailedException
    Throws:
      `CompilationFailedException`

  - ### addException

    public void addException​(java.lang.Exception exception, SourceUnit source) throws CompilationFailedException
    Throws:
      `CompilationFailedException`

  - ### addFatalError

    public void addFatalError​(Message message) throws CompilationFailedException
    Adds an error to the message set and throws CompilationFailedException.
    Throws:
      `CompilationFailedException`

  - ### addWarning

    public void addWarning​(WarningMessage message)
    Adds a warning to the message set.

  - ### addWarning

    public void addWarning​(int importance, java.lang.String text, CSTNode context, SourceUnit source)
    Adds a warning to the message set if it is relevant.

  - ### addWarning

    public void addWarning​(int importance, java.lang.String text, java.lang.Object data, CSTNode context, SourceUnit source)
    Adds a warning to the message set if it is relevant.

  - ### getConfiguration

    public CompilerConfiguration getConfiguration()
    Returns:
      the compiler configuration used to create this error collector

  - ### getErrorCount

    public int getErrorCount()
    Returns the number of errors.

  - ### getError

    public Message getError​(int index)
    Returns the specified error message, or null.

  - ### getErrors

    public java.util.List<? extends Message> getErrors()
    Returns the list of errors, or null if there are none.

  - ### hasErrors

    public boolean hasErrors()
    Returns true if there are any errors pending.

  - ### getWarningCount

    public int getWarningCount()
    Returns the number of warnings.

  - ### getWarning

    public WarningMessage getWarning​(int index)
    Returns the specified warning message, or null.

  - ### getWarnings

    public java.util.List<WarningMessage> getWarnings()
    Returns the list of warnings, or null if there are none.

  - ### hasWarnings

    public boolean hasWarnings()
    Returns true if there are any warnings pending.

  - ### getLastError

    public Message getLastError()
    Returns the last error reported.

  - ### getException

    public java.lang.Exception getException​(int index)
    Returns the specified error's underlying Exception, or null if it isn't one.

  - ### getSyntaxError

    public SyntaxException getSyntaxError​(int index)
    Returns the specified error's underlying SyntaxException, or null if it isn't one.

  - ### failIfErrors

    protected void failIfErrors() throws CompilationFailedException
    Causes the current phase to fail by throwing a CompilationFailedException.
    Throws:
      `CompilationFailedException`

  - ### write

    public void write​(java.io.PrintWriter writer, Janitor janitor)
    Writes error messages to the specified PrintWriter.