Package gw.lang.ir.statement
Class IRSwitchStatement
- java.lang.Object
-
- gw.lang.ir.IRElement
-
- gw.lang.ir.IRStatement
-
- gw.lang.ir.statement.IRSwitchStatement
-
public class IRSwitchStatement extends IRStatement
-
-
Constructor Summary
Constructors Constructor Description IRSwitchStatement(IRStatement init, List<IRCaseClause> cases, List<IRStatement> defaultStatements, boolean areLabelsConstant)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
areLabelsConstant()
List<IRCaseClause>
getCases()
List<IRStatement>
getDefaultStatements()
IRStatement
getInit()
IRTerminalStatement
getLeastSignificantTerminalStatement()
The switch statement has a non-null terminal stmt iff: 1) There are no case stmts or all the the case stmts have non-break terminator and 2) The default stmt exists and has a non-break terminator-
Methods inherited from class gw.lang.ir.IRStatement
getOriginalSourceStatement, setOriginalSourceStatement
-
Methods inherited from class gw.lang.ir.IRElement
getLineNumber, getParent, isImplicit, maybeEraseStructuralSymbolTypes, maybeEraseStructuralType, maybeEraseStructuralType, maybeEraseStructuralTypes, setImplicit, setLineNumber, setParent, setParentToThis
-
-
-
-
Constructor Detail
-
IRSwitchStatement
public IRSwitchStatement(IRStatement init, List<IRCaseClause> cases, List<IRStatement> defaultStatements, boolean areLabelsConstant)
-
-
Method Detail
-
getInit
public IRStatement getInit()
-
areLabelsConstant
public boolean areLabelsConstant()
-
getCases
public List<IRCaseClause> getCases()
-
getDefaultStatements
public List<IRStatement> getDefaultStatements()
-
getLeastSignificantTerminalStatement
public IRTerminalStatement getLeastSignificantTerminalStatement()
The switch statement has a non-null terminal stmt iff: 1) There are no case stmts or all the the case stmts have non-break terminator and 2) The default stmt exists and has a non-break terminator- Specified by:
getLeastSignificantTerminalStatement
in classIRStatement
-
-