Class IfStatement
- java.lang.Object
-
- gw.internal.gosu.parser.ParsedElement
-
- gw.internal.gosu.parser.Statement
-
- gw.internal.gosu.parser.statements.IfStatement
-
- All Implemented Interfaces:
IParsedElement
,IStatement
,IIfStatement
public final class IfStatement extends Statement implements IIfStatement
Represents an if-statement as specified in the Gosu grammar:if-statement if ( <expression> ) <statement> [ else <statement> ] [ unless ( <expression> ) ]
- See Also:
IGosuParser
-
-
Field Summary
Fields Modifier and Type Field Description protected Statement
_elseStatement
protected Expression
_expression
protected Statement
_statement
-
Fields 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 Constructor Description IfStatement()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
execute()
Statement
getElseStatement()
Expression
getExpression()
protected ITerminalStatement
getLeastSignificantTerminalStatement_internal(boolean[] bAbsolute)
Statement
getStatement()
boolean
hasElseStatement()
void
setElseStatement(Statement elseStatement)
void
setExpression(Expression expression)
void
setStatement(Statement statement)
String
toString()
Subclasses should return a String representing the parsed statement.-
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.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 Detail
-
_expression
protected Expression _expression
-
_statement
protected Statement _statement
-
_elseStatement
protected Statement _elseStatement
-
-
Method Detail
-
getExpression
public Expression getExpression()
- Specified by:
getExpression
in interfaceIIfStatement
- Returns:
- The conditional expression.
-
setExpression
public void setExpression(Expression expression)
- Parameters:
expression
- The conditional expression.
-
getStatement
public Statement getStatement()
- Specified by:
getStatement
in interfaceIIfStatement
- Returns:
- The statement to execute if the conditional expression evaluates to true.
-
setStatement
public void setStatement(Statement statement)
- Parameters:
statement
- The statement to execute if the conditional expression evaluates to true.
-
getElseStatement
public Statement getElseStatement()
- Specified by:
getElseStatement
in interfaceIIfStatement
- Returns:
- The else statement to execute if the conditional expression evaluates to false.
-
hasElseStatement
public boolean hasElseStatement()
- Specified by:
hasElseStatement
in interfaceIIfStatement
- Returns:
- true if this if statement has an else statement.
-
setElseStatement
public void setElseStatement(Statement elseStatement)
- Parameters:
elseStatement
- The else statement to execute if the conditional expression evaluates to false.
-
execute
public Object execute()
- Specified by:
execute
in interfaceIStatement
- Overrides:
execute
in classStatement
-
getLeastSignificantTerminalStatement_internal
protected ITerminalStatement getLeastSignificantTerminalStatement_internal(boolean[] bAbsolute)
- Specified by:
getLeastSignificantTerminalStatement_internal
in classStatement
-
-