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 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.