Package gw.internal.gosu.parser
Class Statement
- java.lang.Object
-
- gw.internal.gosu.parser.ParsedElement
-
- gw.internal.gosu.parser.Statement
-
- All Implemented Interfaces:
IParsedElement
,IStatement
- Direct Known Subclasses:
ArrayAssignmentStatement
,AssertStatement
,AssignmentStatement
,BeanMethodCallStatement
,BlockInvocationStatement
,CatchClause
,ClassFileStatement
,ClasspathStatement
,ClassStatement
,EvalStatement
,ExpressionStatement
,FunctionStatement
,IfStatement
,InitializerAssignment
,LoopStatement
,MapAssignmentStatement
,MemberAssignmentStatement
,MethodCallStatement
,NamespaceStatement
,NewStatement
,NoOpStatement
,NotAStatement
,PropertyStatement
,StatementList
,SwitchStatement
,SyntheticMemberAccessStatement
,TerminalStatement
,TryCatchFinallyStatement
,TypeLoaderStatement
,UsesStatement
,UsesStatementList
,UsingStatement
,VarStatement
public abstract class Statement extends ParsedElement implements IStatement
The root class for all Statements represented in a parse tree. As specified in the Gosu grammar.- See Also:
IGosuParser
-
-
Field Summary
Fields Modifier and Type Field Description static Object
VOID_RETURN_VALUE
-
Fields inherited from class gw.internal.gosu.parser.ParsedElement
_tokens, UNDEF_FILE, UNDEF_FUNCTION, UNDEF_MODULE
-
-
Constructor Summary
Constructors Constructor Description Statement()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Object
execute()
Execute this statement.Object
execute(IExternalSymbolMap externalSymbols)
Execute this statement.protected List
getExcludedReturnTypeElements()
static ITerminalStatement
getLeastSignificant(ITerminalStatement... termStmts)
ITerminalStatement
getLeastSignificantTerminalStatement(boolean[] bAbsolute)
Indicates whether or not control flow is terminal at this statement.protected abstract ITerminalStatement
getLeastSignificantTerminalStatement_internal(boolean[] bAbsolute)
IType
getReturnType()
boolean
hasContent()
boolean
isNoOp()
void
setParent(IParsedElement rootElement)
abstract String
toString()
Subclasses should return a String representing the parsed statement.-
Methods inherited from class gw.internal.gosu.parser.ParsedElement
addExceptionsFrom, addParseException, addParseException, addParseException, addParseExceptions, addParseIssues, addParseWarning, addParseWarning, addParseWarnings, addToken, adjustColumn, adjustLineNum, assignTokens, clearParseExceptions, clearParseTreeInformation, clearParseWarnings, compactParseTree, findAncestorParsedElementByType, findDeclaringStatement, findLineNumberOfDeclaration, findRootParsedElement, getAnnotations, getColumn, getContainedParsedElementsByType, getContainedParsedElementsByTypes, getContainedParsedElementsByTypesWithIgnoreSet, getEnclosingFeatureInfo, getFunctionName, getGosuClass, getGosuProgram, getImmediateParseIssue, getImmediateParseIssues, getLineNum, getLocation, getModule, getParent, getParseExceptions, getParseIssues, getParseWarnings, getQualifyingEnclosingTypeInfo, getTokens, hasImmediateParseIssue, hasImmediateParseWarning, hasImmediateParseWarnings, hasParseException, hasParseExceptions, hasParseIssue, hasParseIssues, hasParseWarning, hasParseWarnings, initEmptyParseTree, initLocation, isCompileTimeConstant, isSuppressed, isSuppressed, isSynthetic, makeDoubleValue, makeFloatValue, makeInteger, makeLong, removeParseException, removeParseWarning, removeParseWarningRecursively, setGosuProgram, setLineNum, setLocation, setSynthetic, shouldClearParseInfo, visit
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gw.lang.parser.IParsedElement
addExceptionsFrom, addParseException, addParseException, addParseWarning, addParseWarning, clearParseExceptions, clearParseTreeInformation, clearParseWarnings, findAncestorParsedElementByType, findDeclaringStatement, findRootParsedElement, getColumn, getContainedParsedElementsByType, getContainedParsedElementsByTypes, getContainedParsedElementsByTypesWithIgnoreSet, getFunctionName, getGosuClass, getGosuProgram, getImmediateParseIssue, getImmediateParseIssues, getLineNum, getLocation, getModule, getParent, getParseExceptions, getParseIssues, getParseWarnings, getTokens, hasImmediateParseIssue, hasImmediateParseWarnings, hasParseException, hasParseExceptions, hasParseIssue, hasParseIssues, hasParseWarning, hasParseWarnings, isCompileTimeConstant, isSuppressed, isSynthetic, setLocation, visit
-
-
-
-
Field Detail
-
VOID_RETURN_VALUE
public static final Object VOID_RETURN_VALUE
-
-
Method Detail
-
execute
public Object execute()
Description copied from interface:IStatement
Execute this statement.- Specified by:
execute
in interfaceIStatement
-
execute
public Object execute(IExternalSymbolMap externalSymbols)
Description copied from interface:IStatement
Execute this statement.- Specified by:
execute
in interfaceIStatement
-
toString
public abstract String toString()
Subclasses should return a String representing the parsed statement.
-
isNoOp
public boolean isNoOp()
-
getReturnType
public IType getReturnType()
- Specified by:
getReturnType
in interfaceIParsedElement
-
getExcludedReturnTypeElements
protected List getExcludedReturnTypeElements()
-
hasContent
public boolean hasContent()
- Specified by:
hasContent
in interfaceIStatement
-
setParent
public void setParent(IParsedElement rootElement)
- Specified by:
setParent
in interfaceIParsedElement
- Overrides:
setParent
in classParsedElement
-
getLeastSignificantTerminalStatement
public final ITerminalStatement getLeastSignificantTerminalStatement(boolean[] bAbsolute)
Description copied from interface:IStatement
Indicates whether or not control flow is terminal at this statement.- Specified by:
getLeastSignificantTerminalStatement
in interfaceIStatement
-
getLeastSignificantTerminalStatement_internal
protected abstract ITerminalStatement getLeastSignificantTerminalStatement_internal(boolean[] bAbsolute)
-
getLeastSignificant
public static ITerminalStatement getLeastSignificant(ITerminalStatement... termStmts)
-
-