Class StatementList
java.lang.Object
gw.internal.gosu.parser.ParsedElement
gw.internal.gosu.parser.Statement
gw.internal.gosu.parser.statements.StatementList
- All Implemented Interfaces:
IParsedElement,IStatement,IStatementList
Represents a statement-list as specified in the Gosu grammar:
statement-list <statement> <statement-list> <statement>
- See Also:
-
Field Summary
FieldsFields inherited from class gw.internal.gosu.parser.Statement
VOID_RETURN_VALUEFields inherited from class gw.internal.gosu.parser.ParsedElement
_tokens, UNDEF_FILE, UNDEF_FUNCTION, UNDEF_MODULE -
Constructor Summary
ConstructorsConstructorDescriptionStatementList(IStackProvider stackProvider) Constructs a StatementList given an ISymbolTable instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidadjustLineNum(int offset) voidexecute()Execute the list of statements.intprotected ITerminalStatementgetLeastSignificantTerminalStatement_internal(boolean[] bAbsolute) getLeastSignificantTerminalStatementAfter(Statement fromStmt, boolean[] bAbsolute) booleanhasScope()for testingintvoidsetLastLineNumber(int lastLine) voidvoidsetStatements(List<Statement> statements) toString()Subclasses should return a String representing the parsed statement.private voidA statement-list needs to push a new scope on the symbol table to provide a for local variable scoping.Methods inherited from class gw.internal.gosu.parser.Statement
execute, getExcludedReturnTypeElements, getLeastSignificant, getLeastSignificantTerminalStatement, getReturnType, hasContent, isNoOp, setParentMethods inherited from class gw.internal.gosu.parser.ParsedElement
addExceptionsFrom, addParseException, addParseException, addParseException, addParseExceptions, addParseIssues, addParseWarning, addParseWarning, addParseWarnings, addToken, adjustColumn, assignTokens, clearParseExceptions, 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, visitMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface gw.lang.parser.IParsedElement
addExceptionsFrom, addParseException, addParseException, addParseWarning, addParseWarning, clearParseExceptions, clearParseWarnings, findAncestorParsedElementByType, findDeclaringStatement, findRootParsedElement, getColumn, getContainedParsedElementsByType, getContainedParsedElementsByTypes, getContainedParsedElementsByTypesWithIgnoreSet, getFunctionName, getGosuClass, getGosuProgram, getImmediateParseIssue, getImmediateParseIssues, getLineNum, getLocation, getModule, getParent, getParseExceptions, getParseIssues, getParseWarnings, getReturnType, getTokens, hasImmediateParseIssue, hasImmediateParseWarnings, hasParseException, hasParseExceptions, hasParseIssue, hasParseIssues, hasParseWarning, hasParseWarnings, isCompileTimeConstant, isSuppressed, isSynthetic, setLocation, setParent, visitMethods inherited from interface gw.lang.parser.IStatement
execute, getLeastSignificantTerminalStatement, hasContent
-
Field Details
-
_statements
-
_stackProvider
-
_lastLine
private int _lastLine
-
-
Constructor Details
-
StatementList
Constructs a StatementList given an ISymbolTable instance.
-
-
Method Details
-
clearParseTreeInformation
public void clearParseTreeInformation()- Specified by:
clearParseTreeInformationin interfaceIParsedElement- Overrides:
clearParseTreeInformationin classParsedElement
-
getStatements
- Specified by:
getStatementsin interfaceIStatementList- Returns:
- A list of Statements representing this statement-list.
-
setStatements
- Parameters:
statements- A list of Statements representing this statement-list.
-
indexOf
-
tryToEliminateTheScope
private void tryToEliminateTheScope()A statement-list needs to push a new scope on the symbol table to provide a for local variable scoping. Since this is a relatively expensive operation we avoid pushing the scope if we know none of the statements declare variables. -
setNoScope
public void setNoScope() -
hasScope
public boolean hasScope()for testing- Specified by:
hasScopein interfaceIStatementList
-
execute
Execute the list of statements.- Specified by:
executein interfaceIStatement- Overrides:
executein classStatement
-
getLeastSignificantTerminalStatement_internal
- Specified by:
getLeastSignificantTerminalStatement_internalin classStatement
-
getLeastSignificantTerminalStatementAfter
public ITerminalStatement getLeastSignificantTerminalStatementAfter(Statement fromStmt, boolean[] bAbsolute) -
toString
Description copied from class:StatementSubclasses should return a String representing the parsed statement. -
getSelfOrSingleStatement
-
getLastLine
public int getLastLine()- Specified by:
getLastLinein interfaceIStatementList
-
setLastLineNumber
public void setLastLineNumber(int lastLine) -
adjustLineNum
public void adjustLineNum(int offset) - Overrides:
adjustLineNumin classParsedElement
-