coins.ir.hir
インタフェース SwitchStmt

すべてのスーパーインタフェース:
java.lang.Cloneable, HIR, HIR0, IR, IR0, Stmt
既知の実装クラスの一覧:
SwitchStmtImpl

public interface SwitchStmt
extends Stmt

switch statement interface.


フィールドの概要
 
インタフェース coins.ir.hir.HIR から継承したフィールド
OP_CODE_NAME, OP_CODE_NAME_DENSE
 
インタフェース coins.ir.IR から継承したフィールド
OP_INF, OP_LIST, OP_PROG, OP_SUBP_DEF
 
インタフェース coins.ir.hir.HIR0 から継承したフィールド
FLAG_C_PTR, FLAG_CONST_EXP, FLAG_INIT_BLOCK, FLAG_LOOP_WITH_CONDITIONAL_INIT, FLAG_NOCHANGE, FLAG_NONTERMINAL, OP_ADD, OP_ADD_ASSIGN, OP_ADDR, OP_AND, OP_AND_ASSIGN, OP_ARROW, OP_ASM, OP_ASSIGN, OP_BLOCK, OP_CALL, OP_CMP_EQ, OP_CMP_GE, OP_CMP_GT, OP_CMP_LE, OP_CMP_LT, OP_CMP_NE, OP_COMMA, OP_CONST, OP_CONTENTS, OP_CONV, OP_DECAY, OP_DIV, OP_DIV_ASSIGN, OP_ELEM, OP_ENCLOSE, OP_EQ_ZERO, OP_EXP_STMT, OP_EXPLIST, OP_EXPREPEAT, OP_FOR, OP_IF, OP_INDEX, OP_INDEXED_LOOP, OP_JUMP, OP_LABEL, OP_LABEL_DEF, OP_LABELED_STMT, OP_LG_AND, OP_LG_OR, OP_MOD, OP_MOD_ASSIGN, OP_MULT, OP_MULT_ASSIGN, OP_NEG, OP_NOT, OP_NULL, OP_OFFSET, OP_OR, OP_OR_ASSIGN, OP_PARAM, OP_PHI, OP_POST_DECR, OP_POST_INCR, OP_PRE_DECR, OP_PRE_INCR, OP_QUAL, OP_REPEAT, OP_RETURN, OP_SELECT, OP_SEQ, OP_SETDATA, OP_SHIFT_L_ASSIGN, OP_SHIFT_LL, OP_SHIFT_R, OP_SHIFT_R_ASSIGN, OP_SHIFT_RL, OP_SIZEOF, OP_STMT, OP_STMT_UPPER, OP_SUB, OP_SUB_ASSIGN, OP_SUBP, OP_SUBS, OP_SWITCH, OP_SYM, OP_TYPE, OP_UNDECAY, OP_UNTIL, OP_VAR, OP_WHILE, OP_XOR, OP_XOR_ASSIGN
 
メソッドの概要
 Stmt getBodyStmt()
          Gget switch-body statement that contains case statements.
 Const getCaseConst(int index)
          Get the n-th (head is 0) case constant.
 int getCaseCount()
           
 Label getCaseLabel(int index)
          getCaseLabel Get n-th (head is 0) case label.
 LabelNode getCaseLabelNode(int index)
          getCaseLabelNode Get LabelNode of n-th (head is 0) case label.
 Label getDefaultLabel()
          Get default label
 LabelNode getDefaultLabelNode()
          Get default label node
 Label getEndLabel()
          Get break destination label (switch-end label) of this switch statement.
 Exp getSelectionExp()
          Get selection expression
 LabeledStmt getSwitchEndNode()
          Get the switch end node to where break statements jump.
 void setSelectionExp(Exp pSelectionExp)
          Set selection expression
 
インタフェース coins.ir.hir.Stmt から継承したメソッド
addNextStmt, ancestorControlStmtOfConditionalExp, attachLabel, attachLabelAsFirstOne, combineStmt, combineWithConditionalExp, copyPosition, cutLabelLinkOfStmt, deleteThisStmt, getBlockStmt, getFileName, getLabel, getLabelDefList, getLabeledStmt, getLineNumber, getPreviousStmt, getUpperStmt, insertPreviousStmt, insertPreviousStmt, isBranchStmt, isMultiBlock, isolateThisStmt, replaceThisStmtWith, setFileName, setLineNumber
 
インタフェース coins.ir.hir.HIR から継承したメソッド
addrExp, asmStmt, checkLinkage, conditionalExp, contains, copyInfListFrom, cutParentLink, exp, expList, expRepeat, forStmt, getExpId, getFlowAnalSym, getIndentSpace, getInfString, getIrName, getSourceNode, getSourceNode1, getSourceNode2, getSymOrExpId, getWork, hirNodeClone, hirSeq, hirSeq, indexedLoopStmt, indexedLoopStmt, infStmt, infStmt, intConstNode, irList, isEmpty, isStmt, isTree, nullNode, nullStmt, offsetConstNode, phiExp, repeatStmt, replaceSource, replaceSource1, replaceSource2, returnStmt, setChild1, setChild2, setChildren, setChildren, setDataStmt, setIndex, setIndexNumberToAllNodes, setParent, setType, setWork, subpDefinition, subpIterator, subscriptedExp, toString, toStringDetail, toStringShort, toStringWithChildren, undecayExp, undecayExp, undecayExp, whileStmt
 
インタフェース coins.ir.IR から継承したメソッド
addInf, getChild1, getChild2, getInf, getInfList, getParent, getSym, print, print, removeInf
 
インタフェース coins.ir.IR0 から継承したメソッド
getChild, getChildCount, getIndex, getOperator, setChild
 
インタフェース coins.ir.hir.HIR0 から継承したメソッド
accept, assignStmt, blockStmt, callStmt, constNode, contentsExp, convExp, copyWithOperands, copyWithOperandsChangingLabels, decayExp, elemNode, exp, exp, expStmt, falseNode, finishHir, forStmt, functionExp, getChildNumber, getFlag, getFlagBox, getNextStmt, getStmtContainingThisNode, getType, hirClone, hirIterator, hirList, hirSeq, ifStmt, intConstNode, irList, isSameAs, jumpStmt, labelDef, labeledStmt, labelNode, pointedExp, print, program, qualifiedExp, repeatStmt, replaceThisNode, returnStmt, setFlag, setIndexNumberToAllNodes, sizeofExp, sizeofExp, subpDefinition, subpNode, subscriptedExp, switchStmt, symNode, trueNode, undecayExp, varNode, whileStmt
 

メソッドの詳細

getSelectionExp

public Exp getSelectionExp()
Get selection expression

戻り値:
the selection expression.

setSelectionExp

public void setSelectionExp(Exp pSelectionExp)
Set selection expression

パラメータ:
pSelectionExp - Selection expression of this switch statement.

getCaseCount

public int getCaseCount()
戻り値:
the number of case branches of this switch.

getCaseConst

public Const getCaseConst(int index)
Get the n-th (head is 0) case constant. If out of range , return null

戻り値:
the n-th case constant.

getCaseLabel

public Label getCaseLabel(int index)
getCaseLabel Get n-th (head is 0) case label. If out of range , return null.

戻り値:
the n-th case label.

getCaseLabelNode

public LabelNode getCaseLabelNode(int index)
getCaseLabelNode Get LabelNode of n-th (head is 0) case label. If out of range , return null.

戻り値:
the n-th case label node.

getDefaultLabel

public Label getDefaultLabel()
Get default label

戻り値:
the default label

getDefaultLabelNode

public LabelNode getDefaultLabelNode()
Get default label node

戻り値:
the default label node

getEndLabel

public Label getEndLabel()
Get break destination label (switch-end label) of this switch statement.

戻り値:
the break destination label.

getSwitchEndNode

public LabeledStmt getSwitchEndNode()
Get the switch end node to where break statements jump.

戻り値:
the switch end node with switch-end label.

getBodyStmt

public Stmt getBodyStmt()
Gget switch-body statement that contains case statements. (Usually, it is BlockStmt.)

戻り値:
the body statement of this switch statement.