coins.ir.hir
クラス ConstNodeImpl

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

public class ConstNodeImpl
extends SymNodeImpl
implements ConstNode

Constant node


フィールドの概要
 
クラス coins.ir.hir.SymNodeImpl から継承したフィールド
fSym
 
クラス 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
 
コンストラクタの概要
ConstNodeImpl(HirRoot pHirRoot, Const pConstSym)
           
 
メソッドの概要
 void accept(HirVisitor pVisitor)
          accept Acceptor used in HIR visitor.
 Const getConstSym()
          getConstSym If boolean true node then return symRoot.intConst1 else if boolean false node then return symRoot.intConst0 else if NamedConst node then return corresponding Const symbol.
 int getIntValue()
          Get the value of the canstant castint it to integer.
 long getLongValue()
          Get the value of the canstant castint it to long integer.
 Sym getSym()
          getSym Get the symbol represented by "this" node if this is a node representing a symbol (simple variable, element/field name, subprogram, label, constant, etc.).
 boolean isFalseConstNode()
           
 boolean isIntConst0()
           
 boolean isIntConst1()
           
 boolean isTrueConstNode()
           
 
クラス coins.ir.hir.SymNodeImpl から継承したメソッド
clone, getIrName, getSymNodeSym, setSymNodeSym, toString, toStringShort
 
クラス coins.ir.hir.ExpImpl から継承したメソッド
adjustTypesOfBinaryOperands, evaluate, evaluateAsDouble, evaluateAsFloat, evaluateAsInt, evaluateAsLong, findSubpType, fold, getActualParamList, getArrayExp, getElem, getElemSizeExp, getExp1, getExp2, getLabel, getPointedElem, getPointerExp, getQualifiedElem, getQualifierExp, getSubp, getSubpSpec, getSubscriptExp, getValueString, getVar, initiateArray, isEvaluable, isLValue
 
クラス 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, getNextNode, getNextNodeSeeingAncestor, getNextStmt, getOperator, getParent, getResultOperand, getResultVar, getSourceNode, getSourceNode1, getSourceNode2, getStmtContainingThisNode, 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, 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, toStringDetail, 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.SymNode から継承したメソッド
getSymNodeSym, setSymNodeSym
 
インタフェース coins.ir.hir.Exp から継承したメソッド
adjustTypesOfBinaryOperands, evaluate, evaluateAsDouble, evaluateAsFloat, evaluateAsInt, evaluateAsLong, findSubpType, fold, getActualParamList, getArrayExp, getElem, getElemSizeExp, getExp1, getExp2, getLabel, getPointedElem, getPointerExp, getQualifiedElem, getQualifierExp, getSubp, getSubpSpec, getSubscriptExp, getValueString, getVar, initiateArray, isEvaluable
 
インタフェース 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, print, 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, print, program, qualifiedExp, repeatStmt, replaceThisNode, returnStmt, setFlag, setIndexNumberToAllNodes, sizeofExp, sizeofExp, subpDefinition, subpNode, subscriptedExp, switchStmt, symNode, trueNode, undecayExp, varNode, whileStmt
 

コンストラクタの詳細

ConstNodeImpl

public ConstNodeImpl(HirRoot pHirRoot,
                     Const pConstSym)
メソッドの詳細

getConstSym

public Const getConstSym()
インタフェース ConstNode の記述:
getConstSym
  If      boolean true  node then return symRoot.intConst1
  else if boolean false node then return symRoot.intConst0
  else if NamedConst node then return corresponding Const symbol.
  else return Const attached to this node.

定義:
インタフェース ConstNode 内の getConstSym
オーバーライド:
クラス ExpImpl 内の getConstSym
戻り値:
constant symbol attached to this node.

getSym

public Sym getSym()
インタフェース IR の記述:
getSym Get the symbol represented by "this" node if this is a node representing a symbol (simple variable, element/field name, subprogram, label, constant, etc.).

定義:
インタフェース IR 内の getSym
オーバーライド:
クラス SymNodeImpl 内の getSym
戻り値:
the symbol represented by "this" node. In HIR, it is Var if VarNode Subp if SubpNode, Label if LabelNode or LabelDef Elem if ElemNode // Field if FieldNode Const if ConstNode. If "this" node does not represent any symbol, then return null. (If "this" is HIR leaf or nonleaf node, the symbol attached to the node is returned. If "this" has no symbol attached, then return null. If "this" is LIR node representing a symbol, the symbol is returned. If "this" is LIR computation node, null is returned.)

getIntValue

public int getIntValue()
インタフェース ConstNode の記述:
Get the value of the canstant castint it to integer.

定義:
インタフェース ConstNode 内の getIntValue
戻り値:
the constant value as integer.

getLongValue

public long getLongValue()
インタフェース ConstNode の記述:
Get the value of the canstant castint it to long integer.

定義:
インタフェース ConstNode 内の getLongValue
戻り値:
the constant value as long integer.

isIntConst0

public boolean isIntConst0()
定義:
インタフェース ConstNode 内の isIntConst0
戻り値:
true if it is the integer constant 0, false otherwize.

isIntConst1

public boolean isIntConst1()
定義:
インタフェース ConstNode 内の isIntConst1
戻り値:
true if it is the integer constant 1, false otherwize.

isTrueConstNode

public boolean isTrueConstNode()
定義:
インタフェース ConstNode 内の isTrueConstNode
戻り値:
true if it is the boolean constant true, false otherwize.

isFalseConstNode

public boolean isFalseConstNode()
定義:
インタフェース ConstNode 内の isFalseConstNode
戻り値:
true if it is the boolean constant false, false otherwize.

accept

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

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