coins.sym
インタフェース ExpId

すべてのスーパーインタフェース:
FlowAnalSym, Sym, Sym0
既知の実装クラスの一覧:
ExpIdImpl

public interface ExpId
extends FlowAnalSym

class ExpId


フィールドの概要
 
インタフェース coins.sym.Sym から継承したフィールド
KIND_NAME, VISIBILITY
 
インタフェース coins.sym.Sym0 から継承したフィールド
FLAG_ADDRESS_TAKEN, FLAG_CASTLESS_SUBP, FLAG_COMMON, FLAG_COMPLEX_STRUCT, FLAG_DERIVED_SYM, FLAG_GENERATED_SYM, FLAG_INCOMPLETE_TYPE, FLAG_POINTER_OPERATION, FLAG_REGION_ELEM, FLAG_RESERVED_NAME, FLAG_SIZEOF_TAKEN, FLAG_UNFIXED_SIZE, FLAG_UNIFORM_SIZE, FLAG_VALUE_IS_ASSIGNED, KIND_AREG, KIND_BOOL_CONST, KIND_CHAR_CONST, KIND_CONST_FIRST, KIND_CONST_LAST, KIND_ELEM, KIND_EXP_ID, KIND_FLOAT_CONST, KIND_INT_CONST, KIND_LABEL, KIND_MREG, KIND_NAMED_CONST, KIND_OTHER, KIND_PARAM, KIND_REMOVED, KIND_STRING_CONST, KIND_SUBP, KIND_TAG, KIND_TYPE, KIND_VAR, SYM_COMPILE_UNIT, SYM_EXTERN, SYM_PRIVATE, SYM_PROTECTED, SYM_PUBLIC
 
メソッドの概要
 HIR getCopiedExp()
          getCopiedExp Get the expression for which this ExpId is first created.
 ExpInf getExpInf()
           
 FlowExpId getFlowExpId()
          getFlowExpId Get the FlowExpId that is used in aflow.
 IR getLinkedNode()
          getLinkedNode Get the IR node for which this ExpId is first created.
 Sym getLinkedSym()
          getLinkedSym If the linked node of this ExpId has symbol connected to it, then return it, else return null.
 ExpId getNextId()
          getNextId Get the next ExpId in the hash chain.
 int getNumberOfOperations()
          Returns the number of operations this FlowExpId involves.
 java.util.Set getOperandSet()
          Returns the set of FlowAnalSyms that are operands of this FlowExpId.
 java.util.Set getOperandSet0()
          Returns the set of FlowAnalSyms that are operands of this FlowExpId, and that hold the value that may contribute to the result of the computation of this FlowExpId.
 SetRefRepr getSetRefRepr()
           
 boolean isLHS()
           
 void setExpInf(ExpInf pExpInf)
           
 void setFlowExpId(FlowExpId pFlowExpId)
          setFlowExpId Set the FlowExpId that is used in aflow.
 void setNextId(ExpId pNextId)
          setNextId Set the next ExpId in the hash chain.
 void setSetRefRepr(SetRefRepr pSetRefRepr)
           
 
インタフェース coins.sym.FlowAnalSym から継承したメソッド
getIndex, resetFlowAnalInf, setIndex
 
インタフェース coins.sym.Sym から継承したメソッド
baseType, boolConst, charConst, defineVar, derivedSym, floatConst, getDefinedColumn, getDefinedInName, getDefinedLine, getInf, getNameOrNull, getOrAddInf, getOriginalSym, getOriginalSym, getPureName, getSymKindName, getWork, intConst, intObject, isRemoved, makeCstring, makeCstringWithTrailing0, makeEnumTypeName, makeJavaString, makeStructUnionTypeName, makeSubpTypeName, makeVectorTypeName, makeVectorTypeName, makeVectorTypeName, namedConst, pointerType, pointerType, pointerType, regionType, remove, setDefinedFile, setDefinedIn, setDefinedLine, setRecordedIn, setSymKind, setSymType, setUniqueNameSym, setWork, stringConstFromQuotedString, symbol, toStringDetail, toStringShort, vectorType, vectorType, vectorType, vectorTypeUnfixed
 
インタフェース coins.sym.Sym0 から継承したメソッド
charConst, definedType, defineElem, defineLabel, defineParam, defineSubp, defineVar, enumType, floatConst, getDefinedFile, getDefinedIn, getFlag, getName, getNextSym, getRecordedIn, getSymKind, getSymType, getUniqueName, intConst, isGlobal, namedConst, pointerType, setFlag, stringConst, structType, subpType, unionType, vectorType, vectorTypeUnfixed
 

メソッドの詳細

getLinkedNode

public IR getLinkedNode()
getLinkedNode Get the IR node for which this ExpId is first created. It may be affected by some optimization after the ExpId assignment. There may be other IR nodes with the same subtree structure as the it.

戻り値:
the IR node corresponding to this ExpId.

getCopiedExp

public HIR getCopiedExp()
getCopiedExp Get the expression for which this ExpId is first created. It is not affected by optimization after the ExpId assignment.

戻り値:
the IR node corresponding to this ExpId.

getLinkedSym

public Sym getLinkedSym()
getLinkedSym If the linked node of this ExpId has symbol connected to it, then return it, else return null.

戻り値:
the corresponding symbol or return null.

getNextId

public ExpId getNextId()
getNextId Get the next ExpId in the hash chain.

戻り値:
the next ExpId in the hash chain.

setNextId

public void setNextId(ExpId pNextId)
setNextId Set the next ExpId in the hash chain.

パラメータ:
pNextId - the next ExpId in the hash chain.

getFlowExpId

public FlowExpId getFlowExpId()
getFlowExpId Get the FlowExpId that is used in aflow.

戻り値:
FlowExpId.

setFlowExpId

public void setFlowExpId(FlowExpId pFlowExpId)
setFlowExpId Set the FlowExpId that is used in aflow.

パラメータ:
pFlowExpId - corresponding FlowExpId instance.

getExpInf

public ExpInf getExpInf()

setExpInf

public void setExpInf(ExpInf pExpInf)

getOperandSet

public java.util.Set getOperandSet()
Returns the set of FlowAnalSyms that are operands of this FlowExpId. An operand of a FlowExpId is simply a FlowAnalSym that is attached to one of the nodes that comprise the tree represented by the FlowExpId.

定義:
インタフェース FlowAnalSym 内の getOperandSet
戻り値:
the set of operands.

getOperandSet0

public java.util.Set getOperandSet0()
Returns the set of FlowAnalSyms that are operands of this FlowExpId, and that hold the value that may contribute to the result of the computation of this FlowExpId. For example, in HIR, if a symbol node is operated by the addressOf operator, and there is no contentsOf operator operating at all afterwards, the symbol attached to the symbol node is not included in the set returned by this method.


getNumberOfOperations

public int getNumberOfOperations()
Returns the number of operations this FlowExpId involves. This is not more than but roughly equal to the number of this FlowExpId's linked node's descendant nodes.


isLHS

public boolean isLHS()

setSetRefRepr

public void setSetRefRepr(SetRefRepr pSetRefRepr)

getSetRefRepr

public SetRefRepr getSetRefRepr()