coins.ir.hir
クラス SubpDefinitionImpl

java.lang.Object
  |
  +--coins.ir.hir.HIR_Impl
        |
        +--coins.ir.hir.SubpDefinitionImpl
すべての実装インタフェース:
java.lang.Cloneable, HasStringObject, HIR, HIR0, IR, IR0, SubpDefinition

public class SubpDefinitionImpl
extends HIR_Impl
implements SubpDefinition

Subprogram definition node.


フィールドの概要
 int fNodeIndexMax
          fNodeIndexMin Minimum of the node index.
 int fNodeIndexMin
          fNodeIndexMin Minimum of the node index.
 
クラス coins.ir.hir.HIR_Impl から継承したフィールド
fAdditionalChild, fChildCount, fChildNode1, fChildNode2, fDbgLevel, fHirAnnex, fOperator, fParentNode, fType, hirRoot, inversionTable, machineParam, sourceLanguage
 
インタフェース 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
 
コンストラクタの概要
SubpDefinitionImpl(HirRoot pHirRoot, Subp pSubpSym, SymTable pLocalSymTable, BlockStmt pInitiation, BlockStmt pHirBody)
           
 
メソッドの概要
 void accept(HirVisitor pVisitor)
          accept Acceptor used in HIR visitor.
 void addInitiationStmt(Stmt pStmt)
           
 java.lang.Object clone()
          clone Override Object.clone in HIR.
 HIR copyWithOperandsChangingLabel(IrList pLabelCorrespondence)
           
 Label getEndLabel()
           
 Stmt getHirBody()
           
 BlockStmt getInitiationPart()
           
 int getNodeIndexMax()
           
 int getNodeIndexMin()
           
 Label getStartLabel()
           
 Subp getSubpSym()
           
 SymTable getSymTable()
           
 void print(int pIndent, boolean pDetail)
          print Print this subtree in text format traversing all children of this node.
 void printHir(java.lang.String pHeader)
          printHir Print the HIR body of this subprogram.
 void setHirBody(BlockStmt pHirBody)
           
 void setSymTable(SymTable pSymTable)
           
 
クラス coins.ir.hir.HIR_Impl から継承したメソッド
addInf, addrExp, asmStmt, assignStmt, blockStmt, callStmt, checkLinkage, conditionalExp, conditionalExp1, constNode, contains, contentsExp, convExp, copyInfListFrom, copyWithOperands, copyWithOperandsChangingLabels, cutParentLink, cutParentLink, decayExp, elemNode, exp, exp, exp, expList, expRepeat, expStmt, falseNode, fatalError, finishHir, flagsAreAllFalse, forStmt, forStmt, functionExp, getChild, getChild1, getChild2, getChildCount, getChildNumber, getClone, getExpId, getFlag, getFlagBox, getFlowAnalSym, getIndentSpace, getIndex, getInf, getInfList, getInfString, getIrName, getNextNode, getNextNodeSeeingAncestor, getNextStmt, getOperator, getParent, getResultOperand, getResultVar, getSourceNode, getSourceNode1, getSourceNode2, getStmtContainingThisNode, getSym, getSymOrExpId, getType, getWork, hirClone, hirIterator, hirList, hirNodeClone, hirSeq, hirSeq, hirSeq, ifStmt, indexedLoopStmt, indexedLoopStmt, infStmt, infStmt, intConstNode, intConstNode, irList, irList, isEmpty, isHIR, isLIR, isSameAs, isStmt, isSym, isTerminal, isTree, isTree, jumpStmt, labelDef, labeledStmt, labelNode, nullNode, nullStmt, offsetConstNode, phiExp, pointedExp, print, program, qualifiedExp, removeInf, repeatStmt, repeatStmt, replaceOperator, replaceResultOperand, replaceResultVar, replaceSource, replaceSource1, replaceSource2, replaceThisNode, returnStmt, returnStmt, setChild, setChild1, setChild2, setChildren, setChildren, setChildren, setChildren, setDataStmt, setFlag, setIndex, setIndexNumberToAllNodes, setIndexNumberToAllNodes, setIndexNumberToAllNodes2, setParameters, setParent, setType, setWork, severeError, sizeofExp, sizeofExp, slightError, subpDefinition, subpDefinition, subpDefinition, subpIterator, subpNode, subscriptedExp, subscriptedExp, switchStmt, symNode, toString, toStringDetail, toStringShort, toStringWithChildren, trueNode, typeNode, undecayExp, undecayExp, undecayExp, undecayExp, varNode, warinig, whileStmt, whileStmt, withInf
 
クラス java.lang.Object から継承したメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース 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, removeInf
 
インタフェース coins.ir.IR0 から継承したメソッド
getChild, getChildCount, getIndex, getOperator, setChild
 
インタフェース coins.ir.hir.HIR0 から継承したメソッド
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, program, qualifiedExp, repeatStmt, replaceThisNode, returnStmt, setFlag, setIndexNumberToAllNodes, sizeofExp, sizeofExp, subpDefinition, subpNode, subscriptedExp, switchStmt, symNode, trueNode, undecayExp, varNode, whileStmt
 

フィールドの詳細

fNodeIndexMin

public int fNodeIndexMin
fNodeIndexMin Minimum of the node index. fNodeIndexMax Maximum of the node index. They are set by setIndexNumberToAllNodes of HIR interface.


fNodeIndexMax

public int fNodeIndexMax
fNodeIndexMin Minimum of the node index. fNodeIndexMax Maximum of the node index. They are set by setIndexNumberToAllNodes of HIR interface.

コンストラクタの詳細

SubpDefinitionImpl

public SubpDefinitionImpl(HirRoot pHirRoot,
                          Subp pSubpSym,
                          SymTable pLocalSymTable,
                          BlockStmt pInitiation,
                          BlockStmt pHirBody)
メソッドの詳細

getSymTable

public SymTable getSymTable()
定義:
インタフェース SubpDefinition 内の getSymTable

setSymTable

public void setSymTable(SymTable pSymTable)

getSubpSym

public Subp getSubpSym()
定義:
インタフェース SubpDefinition 内の getSubpSym

getInitiationPart

public BlockStmt getInitiationPart()
定義:
インタフェース SubpDefinition 内の getInitiationPart

addInitiationStmt

public void addInitiationStmt(Stmt pStmt)
定義:
インタフェース SubpDefinition 内の addInitiationStmt

getHirBody

public Stmt getHirBody()
定義:
インタフェース SubpDefinition 内の getHirBody

setHirBody

public void setHirBody(BlockStmt pHirBody)
定義:
インタフェース SubpDefinition 内の setHirBody

getStartLabel

public Label getStartLabel()
定義:
インタフェース SubpDefinition 内の getStartLabel

getEndLabel

public Label getEndLabel()
定義:
インタフェース SubpDefinition 内の getEndLabel

copyWithOperandsChangingLabel

public HIR copyWithOperandsChangingLabel(IrList pLabelCorrespondence)

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
クラス HIR_Impl の記述:
clone Override Object.clone in HIR.

オーバーライド:
クラス HIR_Impl 内の clone
戻り値:
cloned HIR object.
例外:
java.lang.CloneNotSupportedException

print

public void print(int pIndent,
                  boolean pDetail)
インタフェース IR の記述:
print Print this subtree in text format traversing all children of this node. "this" may be any subtree (it may be a leaf node).

定義:
インタフェース IR 内の print
オーバーライド:
クラス HIR_Impl 内の print
パラメータ:
pIndent - number of heading spaces for indentation.
pDetail - true if detail print is requested, false otherwise.

printHir

public void printHir(java.lang.String pHeader)
インタフェース SubpDefinition の記述:
printHir Print the HIR body of this subprogram.

定義:
インタフェース SubpDefinition 内の printHir
パラメータ:
pHeader - Header message to be printed.

accept

public void accept(HirVisitor pVisitor)
インタフェース HIR0 の記述:
accept Acceptor used in HIR visitor. See HirVisitor, HirVisitorModel1, HirVisitormodel2.

定義:
インタフェース HIR0 内の accept
オーバーライド:
クラス HIR_Impl 内の accept
パラメータ:
pVisitor - HirVisitor

getNodeIndexMin

public int getNodeIndexMin()
定義:
インタフェース SubpDefinition 内の getNodeIndexMin

getNodeIndexMax

public int getNodeIndexMax()
定義:
インタフェース SubpDefinition 内の getNodeIndexMax