Package gw.lang.parser.exceptions
Class ParseException
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- gw.lang.parser.exceptions.ParseIssue
-
- gw.lang.parser.exceptions.ParseException
-
- All Implemented Interfaces:
IParseIssue
,Serializable
- Direct Known Subclasses:
DoesNotOverrideFunctionException
,ImplicitCoercionError
,NoCtorFoundException
,NotImplementedParseException
,PropertyNotFoundException
,SymbolNotFoundException
,WrongNumberOfArgsException
public class ParseException extends ParseIssue
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ParseException(ParseException e)
ParseException(IParserState parserState, ResourceKey messageKey, Object... args)
ParseException(IParserState parserState, IType typeExpected, ResourceKey msgKey, Object... args)
ParseException(Integer lineNumber, Integer lineOffset, Integer tokenColumn, Integer tokenStart, Integer tokenEnd, ISymbolTable symbolTable, ResourceKey key, Object... msgArgs)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ParseException
getAlternateException()
An alternate ParseException that may provide additional information.String
getConsoleMessage()
Override so we can reset the message if need be.IType
getExpectedType()
IMemberAccessExpression
getMemberAccessContext()
IType[]
getParamTypesExpected()
IParameterInfo[][]
getParamTypesPossible()
boolean
isCausedByArgumentList()
void
setAlternateException(ParseException alternateException)
void
setCausedByArgumentList(boolean bCausedByArgumentList)
void
setExpectedType(IType typeExpected)
Sets the expected type information from the parser.void
setMemberAccessContext(IMemberAccessExpression ma)
void
setParamTypesExpected(IType... paramTypesExpected)
void
setParamTypesPossible(IParameterInfo[][] paramTypesPossible)
static ParseException
shallowCopy(ParseException source)
String
toString()
static ParseException
wrap(Throwable t, IParserState state)
-
Methods inherited from class gw.lang.parser.exceptions.ParseIssue
addLineOffset, adjustOffset, appliesToPosition, fillInStackTrace, formatError, getColumn, getContextString, getContextStringNoLineNumbers, getLine, getLineNumber, getLineOffset, getLineReportingOffset, getMessageArgs, getMessageKey, getPlainMessage, getSource, getStateSource, getSymbolTable, getTokenColumn, getTokenEnd, getTokenStart, getUIMessage, makeContextString, resetPositions, resolve, setMessage, setSource, setStateSource
-
Methods inherited from class java.lang.Throwable
addSuppressed, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gw.lang.parser.IParseIssue
printStackTrace
-
-
-
-
Constructor Detail
-
ParseException
public ParseException(IParserState parserState, ResourceKey messageKey, Object... args)
- Parameters:
parserState
- The tokenizer in use by the parser (helpful for
-
ParseException
public ParseException(Integer lineNumber, Integer lineOffset, Integer tokenColumn, Integer tokenStart, Integer tokenEnd, ISymbolTable symbolTable, ResourceKey key, Object... msgArgs)
-
ParseException
public ParseException(IParserState parserState, IType typeExpected, ResourceKey msgKey, Object... args)
-
ParseException
protected ParseException(ParseException e)
-
-
Method Detail
-
wrap
public static ParseException wrap(Throwable t, IParserState state)
-
shallowCopy
public static ParseException shallowCopy(ParseException source)
-
getConsoleMessage
public String getConsoleMessage()
Override so we can reset the message if need be.- Specified by:
getConsoleMessage
in interfaceIParseIssue
- Overrides:
getConsoleMessage
in classParseIssue
- Returns:
- the message for this parse issue formatted for printing out to a console
-
getExpectedType
public IType getExpectedType()
- Specified by:
getExpectedType
in interfaceIParseIssue
- Overrides:
getExpectedType
in classParseIssue
- Returns:
- The parser's exprected types.
-
setExpectedType
public void setExpectedType(IType typeExpected)
Sets the expected type information from the parser.
-
getParamTypesExpected
public IType[] getParamTypesExpected()
-
setParamTypesExpected
public void setParamTypesExpected(IType... paramTypesExpected)
-
setParamTypesPossible
public void setParamTypesPossible(IParameterInfo[][] paramTypesPossible)
-
getParamTypesPossible
public IParameterInfo[][] getParamTypesPossible()
-
getMemberAccessContext
public IMemberAccessExpression getMemberAccessContext()
- Returns:
- A member access context expression to further qualify the expected type. Typically the member access expression is an LHS operand in the containing. For example, the member access expression facilitates in TypeKey qualification -- we need the name of a field/property to get an appropriately filtered TypeList for a specific TypeKey on a specific field in an entity.
-
setMemberAccessContext
public void setMemberAccessContext(IMemberAccessExpression ma)
- Parameters:
ma
- A member access expression context to further qualify the expected type.
-
getAlternateException
public ParseException getAlternateException()
An alternate ParseException that may provide additional information. For example, if the type of script is not know in advance (is it an expression or a program?), the script is first compiled as an expression. If a ParseException is thrown, the script is compiled as a program. If a ParseException is thrown again, the former exception is rethrown with the latter as the 'alternate'.
-
setAlternateException
public void setAlternateException(ParseException alternateException)
-
isCausedByArgumentList
public boolean isCausedByArgumentList()
-
setCausedByArgumentList
public void setCausedByArgumentList(boolean bCausedByArgumentList)
-
-