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.SerializableA 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 CompilerConfigurationconfigurationConfiguration and other settings that control processingprotected java.util.LinkedListerrorsErrorMessages collected during processingprotected java.util.LinkedListwarningsWarningMessages collected during processing
-
Constructor Summary
Constructors Constructor Description ErrorCollector(CompilerConfiguration configuration)Initialize the ErrorReporter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCollectorContents(ErrorCollector er)voidaddError(java.lang.String text, CSTNode context, SourceUnit source)Convenience wrapper for addError().voidaddError(Message message)Adds a non-fatal error to the message set, which may cause a failure if the error threshold is exceeded.voidaddError(Message message, boolean fatal)Adds an optionally-fatal error to the message set.voidaddError(SyntaxException error, SourceUnit source)Convenience wrapper for addError().voidaddErrorAndContinue(Message message)Adds an error to the message set, but does not cause a failure.voidaddErrorAndContinue(SyntaxException error, SourceUnit source)voidaddException(java.lang.Exception cause, SourceUnit source)voidaddFatalError(Message message)Adds a fatal exception to the message set and throws the unit as a PhaseFailedException.voidaddWarning(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.voidaddWarning(int importance, java.lang.String text, CSTNode context, SourceUnit source)Convenience wrapper for addWarning() that won't create an object unless it is relevant.voidaddWarning(WarningMessage message)Adds a WarningMessage to the message set.protected voidfailIfErrors()Causes the current phase to fail by throwing a CompilationFailedException.CompilerConfigurationgetConfiguration()MessagegetError(int index)Returns the specified error message, or null.intgetErrorCount()Returns the number of errors.java.util.ListgetErrors()Returns the list of errors, or null if there are none.java.lang.ExceptiongetException(int index)Convenience routine to return the specified error's underlying Exception, or null if it isn't one.MessagegetLastError()Returns the last error reportedSyntaxExceptiongetSyntaxError(int index)Convenience routine to return the specified error's underlying SyntaxException, or null if it isn't one.WarningMessagegetWarning(int index)Returns the specified warning message, or null.intgetWarningCount()Returns the number of warnings.java.util.ListgetWarnings()Returns the list of warnings, or null if there are none.booleanhasErrors()Returns true if there are any errors pending.booleanhasWarnings()Returns true if there are any warnings pending.voidwrite(java.io.PrintWriter writer, Janitor janitor)Writes error messages to the specified PrintWriter.
-
-
-
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(SyntaxException error, SourceUnit source) throws CompilationFailedException
- Throws:
CompilationFailedException
-
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
Convenience wrapper for addError().- Throws:
CompilationFailedException
-
addError
public void addError(java.lang.String text, CSTNode context, SourceUnit source) throws CompilationFailedExceptionConvenience wrapper for addError().- Throws:
CompilationFailedException
-
addFatalError
public void addFatalError(Message message) throws CompilationFailedException
Adds a fatal exception to the message set and throws the unit as a PhaseFailedException.- Throws:
CompilationFailedException
-
addException
public void addException(java.lang.Exception cause, SourceUnit source) throws CompilationFailedException- 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.
-
failIfErrors
protected void failIfErrors() throws CompilationFailedExceptionCauses 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.
-
-