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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classStatement.LeastSigTerminal
-
Field Summary
Fields Modifier and Type Field Description private Statement.LeastSigTerminal_cachedLeastSigTermprivate static Statement.LeastSigTerminalEMPTY_LSTstatic java.lang.ObjectVOID_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 java.lang.Objectexecute()Execute this statement.java.lang.Objectexecute(IExternalSymbolMap externalSymbols)Execute this statement.protected java.util.ListgetExcludedReturnTypeElements()static ITerminalStatementgetLeastSignificant(ITerminalStatement... termStmts)ITerminalStatementgetLeastSignificantTerminalStatement(boolean[] bAbsolute)Indicates whether or not control flow is terminal at this statement.protected abstract ITerminalStatementgetLeastSignificantTerminalStatement_internal(boolean[] bAbsolute)ITypegetReturnType()booleanhasContent()booleanisNoOp()voidsetParent(IParsedElement rootElement)abstract java.lang.StringtoString()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
-
EMPTY_LST
private static final Statement.LeastSigTerminal EMPTY_LST
-
VOID_RETURN_VALUE
public static final java.lang.Object VOID_RETURN_VALUE
-
_cachedLeastSigTerm
private Statement.LeastSigTerminal _cachedLeastSigTerm
-
-
Method Detail
-
execute
public java.lang.Object execute()
Description copied from interface:IStatementExecute this statement.- Specified by:
executein interfaceIStatement
-
execute
public java.lang.Object execute(IExternalSymbolMap externalSymbols)
Description copied from interface:IStatementExecute this statement.- Specified by:
executein interfaceIStatement
-
toString
public abstract java.lang.String toString()
Subclasses should return a String representing the parsed statement.- Overrides:
toStringin classjava.lang.Object
-
isNoOp
public boolean isNoOp()
-
getReturnType
public IType getReturnType()
- Specified by:
getReturnTypein interfaceIParsedElement
-
getExcludedReturnTypeElements
protected java.util.List getExcludedReturnTypeElements()
-
hasContent
public boolean hasContent()
- Specified by:
hasContentin interfaceIStatement
-
setParent
public void setParent(IParsedElement rootElement)
- Specified by:
setParentin interfaceIParsedElement- Overrides:
setParentin classParsedElement
-
getLeastSignificantTerminalStatement
public final ITerminalStatement getLeastSignificantTerminalStatement(boolean[] bAbsolute)
Description copied from interface:IStatementIndicates whether or not control flow is terminal at this statement.- Specified by:
getLeastSignificantTerminalStatementin interfaceIStatement
-
getLeastSignificantTerminalStatement_internal
protected abstract ITerminalStatement getLeastSignificantTerminalStatement_internal(boolean[] bAbsolute)
-
getLeastSignificant
public static ITerminalStatement getLeastSignificant(ITerminalStatement... termStmts)
-
-