Class ErrorCollector

  • All Implemented Interfaces:
    Serializable

    public class ErrorCollector
    extends Object
    implements 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 Detail

      • warnings

        protected LinkedList warnings
        WarningMessages collected during processing
      • errors

        protected 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 List getWarnings()
        Returns the list of warnings, or null if there are none.
      • getErrors

        public 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 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,
                               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,
                               String text,
                               Object data,
                               CSTNode context,
                               SourceUnit source)
        Convenience wrapper for addWarning() that won't create an object unless it is relevant.
      • write

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