Class WhileStatement
java.lang.Object
gw.internal.gosu.parser.ParsedElement
gw.internal.gosu.parser.Statement
gw.internal.gosu.parser.statements.LoopStatement
gw.internal.gosu.parser.statements.WhileStatement
- All Implemented Interfaces:
IParsedElement
,IStatement
,ILoopStatement
,ITerminalStatement
,IWhileStatement
Represents an while-statement as specified in the Gosu grammar:
while-statement while ( <expression> ) <statement>
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class gw.internal.gosu.parser.statements.LoopStatement
LoopStatement.ArrayIterator
-
Field Summary
FieldsFields inherited from class gw.internal.gosu.parser.Statement
VOID_RETURN_VALUE
Fields inherited from class gw.internal.gosu.parser.ParsedElement
_tokens, UNDEF_FILE, UNDEF_FUNCTION, UNDEF_MODULE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionexecute()
Execute the while statementprotected ITerminalStatement
getLeastSignificantTerminalStatement_internal
(boolean[] bAbsolute) Mostly this is important so we can weight the terminal types i.e., the ordinal in the enum is significantvoid
setExpression
(Expression expression) void
setStatement
(Statement statement) toString()
Subclasses should return a String representing the parsed statement.Methods inherited from class gw.internal.gosu.parser.statements.LoopStatement
getArrayComponentType, getArrayLength, isConditionLiteralTrue, isIteratorType, makeIterator
Methods inherited from class gw.internal.gosu.parser.Statement
execute, getExcludedReturnTypeElements, getLeastSignificant, getLeastSignificantTerminalStatement, getReturnType, hasContent, isNoOp, setParent
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.statements.ILoopStatement
isConditionLiteralTrue
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, getReturnType, getTokens, hasImmediateParseIssue, hasImmediateParseWarnings, hasParseException, hasParseExceptions, hasParseIssue, hasParseIssues, hasParseWarning, hasParseWarnings, isCompileTimeConstant, isSuppressed, isSynthetic, setLocation, setParent, visit
Methods inherited from interface gw.lang.parser.IStatement
execute, getLeastSignificantTerminalStatement, hasContent
-
Field Details
-
_expression
-
_statement
-
-
Constructor Details
-
WhileStatement
public WhileStatement()
-
-
Method Details
-
getExpression
- Specified by:
getExpression
in interfaceILoopStatement
- Returns:
- The conditional expression.
-
setExpression
- Parameters:
expression
- The conditional expression.
-
getStatement
- Specified by:
getStatement
in interfaceILoopStatement
- Returns:
- The statement to execute while the conditional expression evaluates to true.
-
setStatement
- Parameters:
statement
- The statement to execute while the conditional expression evaluates to true.
-
execute
Execute the while statement- Specified by:
execute
in interfaceIStatement
- Overrides:
execute
in classStatement
-
getLeastSignificantTerminalStatement_internal
- Specified by:
getLeastSignificantTerminalStatement_internal
in classStatement
-
getTerminalType
Description copied from interface:ITerminalStatement
Mostly this is important so we can weight the terminal types i.e., the ordinal in the enum is significant- Specified by:
getTerminalType
in interfaceITerminalStatement
-
toString
Description copied from class:Statement
Subclasses should return a String representing the parsed statement.
-