Class 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 errors
      ErrorMessages collected during processing
      protected java.util.LinkedList warnings
      WarningMessages collected during processing
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addCollectorContents​(ErrorCollector er)  
      void addError​(java.lang.String text, CSTNode context, SourceUnit source)
      Convenience wrapper for addError().
      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)
      Convenience wrapper for addError().
      void addErrorAndContinue​(Message message)
      Adds an error to the message set, but does not cause a failure.
      void addException​(java.lang.Exception cause, SourceUnit source)  
      void addFatalError​(Message message)
      Adds a fatal exception to the message set and throws the unit as a PhaseFailedException.
      void addWarning​(int importance, java.lang.String text, java.lang.Object data, CSTNode context, SourceUnit source)
      Convenience wrapper for addWarning() that won't create an object unless it is relevant.
      void addWarning​(int importance, java.lang.String text, CSTNode context, SourceUnit source)
      Convenience wrapper for addWarning() that won't create an object unless it is relevant.
      void addWarning​(WarningMessage message)
      Adds a WarningMessage 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 getErrors()
      Returns the list of errors, or null if there are none.
      java.lang.Exception getException​(int index)
      Convenience routine to return the specified error's underlying Exception, or null if it isn't one.
      Message getLastError()
      Returns the last error reported
      SyntaxException getSyntaxError​(int index)
      Convenience routine to return 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 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 Detail

      • warnings

        protected java.util.LinkedList warnings
        WarningMessages collected during processing
      • errors

        protected java.util.LinkedList errors
        ErrorMessages collected during processing
      • configuration

        protected CompilerConfiguration configuration
        Configuration and other settings that control processing
    • Constructor Detail

      • ErrorCollector

        public ErrorCollector​(CompilerConfiguration configuration)
        Initialize the ErrorReporter.
    • Method Detail

      • addCollectorContents

        public void addCollectorContents​(ErrorCollector er)
      • 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
      • hasErrors

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

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

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

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

        public java.util.List getErrors()
        Returns the list of errors, or null if there are none.
      • getWarningCount

        public int getWarningCount()
        Returns the number of warnings.
      • getErrorCount

        public int getErrorCount()
        Returns the number of errors.
      • getWarning

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

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

        public Message getLastError()
        Returns the last error reported
      • getSyntaxError

        public SyntaxException getSyntaxError​(int index)
        Convenience routine to return the specified error's underlying SyntaxException, or null if it isn't one.
      • getException

        public java.lang.Exception getException​(int index)
        Convenience routine to return the specified error's underlying Exception, or null if it isn't one.
      • addWarning

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

        public void addWarning​(int importance,
                               java.lang.String text,
                               CSTNode context,
                               SourceUnit source)
        Convenience wrapper for addWarning() that won't create an object unless it is relevant.
      • addWarning

        public void addWarning​(int importance,
                               java.lang.String text,
                               java.lang.Object data,
                               CSTNode context,
                               SourceUnit source)
        Convenience wrapper for addWarning() that won't create an object unless it is relevant.
      • write

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