Class SwitchStatement
- java.lang.Object
-
- gw.internal.gosu.parser.ParsedElement
-
- gw.internal.gosu.parser.Statement
-
- gw.internal.gosu.parser.statements.SwitchStatement
-
- All Implemented Interfaces:
IParsedElement,IStatement,ISwitchStatement
public final class SwitchStatement extends Statement implements ISwitchStatement
Represents a switch-statement as specified in the Gosu grammar:switch-statement switch (<expression>) { [switch-cases] [switch-default] } switch-cases <switch-case> <switch-cases> <switch-case> switch-case case <expression> : [statement-list] switch-default default : [statement-list]- See Also:
IGosuParser
-
-
Field Summary
Fields Modifier and Type Field Description protected CaseClause[]_casesprotected List<Statement>_defaultStatementsprotected Expression_switchExpression-
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 SwitchStatement()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectexecute()Execute the switch statementCaseClause[]getCases()List<Statement>getDefaultStatements()protected ITerminalStatementgetLeastSignificantTerminalStatement_internal(boolean[] bAbsolute)bAbsolute is true iff there are no break terminals anywhere in any cases and the default clause's terminator is non-break and absoluteExpressiongetSwitchExpression()booleanisCoveredEnumSwitch()voidsetCases(CaseClause[] cases)voidsetDefaultStatements(List<Statement> defaultStatements)voidsetSwitchExpression(Expression switchExpression)StringtoString()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
-
_switchExpression
protected Expression _switchExpression
-
_cases
protected CaseClause[] _cases
-
-
Method Detail
-
getSwitchExpression
public Expression getSwitchExpression()
- Specified by:
getSwitchExpressionin interfaceISwitchStatement
-
setSwitchExpression
public void setSwitchExpression(Expression switchExpression)
-
getCases
public CaseClause[] getCases()
- Specified by:
getCasesin interfaceISwitchStatement
-
setCases
public void setCases(CaseClause[] cases)
-
getDefaultStatements
public List<Statement> getDefaultStatements()
- Specified by:
getDefaultStatementsin interfaceISwitchStatement
-
execute
public Object execute()
Execute the switch statement- Specified by:
executein interfaceIStatement- Overrides:
executein classStatement
-
getLeastSignificantTerminalStatement_internal
protected ITerminalStatement getLeastSignificantTerminalStatement_internal(boolean[] bAbsolute)
bAbsolute is true iff there are no break terminals anywhere in any cases and the default clause's terminator is non-break and absolute- Specified by:
getLeastSignificantTerminalStatement_internalin classStatement
-
isCoveredEnumSwitch
public boolean isCoveredEnumSwitch()
- Specified by:
isCoveredEnumSwitchin interfaceISwitchStatement
-
-