|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object
|
+--coins.ir.hir.HirVisitorModel2
|
+--coins.alias.TagTreeBuilder
Builds tag tree and assigns tags to HIR nodes.
| フィールドの概要 | |
(パッケージプライベート) java.util.Map |
fHIRTomallocTag
Map from malloc invocation HIR nodes to
corresponding Tags. |
(パッケージプライベート) java.util.List |
fParentlessTags
Tags corresponding to each named variable and allocated area and unknown external area. |
(パッケージプライベート) int |
fTagBitCount
Total number of Tags that have a bit position assigned in the TagVector. |
| クラス coins.ir.hir.HirVisitorModel2 から継承したフィールド |
fDbgLevel, hirRoot, ioRoot, symRoot |
| コンストラクタの概要 | |
(パッケージプライベート) |
TagTreeBuilder(SubpDefinition pSubpDef,
MyExpId[] pMyExpIds,
boolean pIsOptimistic,
HirRoot pHirRoot)
Creates a new instance of TagTreeBuilder |
| メソッドの概要 | |
void |
atExp(Exp pExp)
Visits the children of the specified argument, creates a Tag for the MyExpId attached to
the specified argument if it is lvalue and not yet done,
and registers the node-Tag correspondence into a global map. |
void |
atFunctionExp(FunctionExp pExp)
Visits the children of the specified argument, and, if the specified argument is the C malloc library function call node, creates a Tag for the area allocated by the call and registers the node-Tag correspondence into a global map. |
void |
atPointedExp(PointedExp pExp)
Visits the children of the specified argument, creates a Tag for the MyExpId attached to the
specified argument if it is not yet done, and registers
the node-Tag correspondence into a global map. |
void |
atQualifiedExp(QualifiedExp pExp)
Visits the children of the specified argument, and if the specified argument is lvalue, creates a Tag for the MyExpId attached to the specified argument
if it is not yet done, and registers the node-Tag
correspondence into a global map. |
void |
atSubscriptedExp(SubscriptedExp pExp)
Visits the children of the specified argument, and if the specified argument is not lvalue, creates a Tag for the MyExpId attached to
the specified argument if it is not yet done,
and registers the node-Tag correspondence into a global map. |
void |
atVarNode(VarNode pVarNode)
Creates a Tag for the Var attached to
the specified argument if it is not yet done,
and registers the node-Tag correspondence into
a global map. |
(パッケージプライベート) java.util.Map |
process()
Builds the Tag tree. |
| クラス coins.ir.hir.HirVisitorModel2 から継承したメソッド |
atAsmStmt, atAssignStmt, atBlockStmt, atConstNode, atElemNode, atExpStmt, atForStmt, atHirList, atHirSeq, atIfStmt, atIndexedLoopStmt, atInfNode, atInfStmt, atIrList, atJumpStmt, atLabelDef, atLabeledStmt, atLabelNode, atLoopStmt, atNullNode, atPhiExp, atProgram, atRepeatStmt, atReturnStmt, atSubpDefinition, atSubpNode, atSwitchStmt, atSymNode, atTypeNode, atUntilStmt, atWhileStmt, visit, visitChildren |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
int fTagBitCount
java.util.Map fHIRTomallocTag
Map from malloc invocation HIR nodes to
corresponding Tags.
java.util.List fParentlessTags
List.
| コンストラクタの詳細 |
TagTreeBuilder(SubpDefinition pSubpDef,
MyExpId[] pMyExpIds,
boolean pIsOptimistic,
HirRoot pHirRoot)
pSubpDef - the SubpDefinition object
this module is responsible for.pMyExpIds - the array of MyExpId
objects, with HIR node's index as its index.
This serves as the map from HIR nodes to
MyExpId objects.pHirRoot - the HirRoot object
shared by every module in the program.| メソッドの詳細 |
java.util.Map process()
Map from HIR
nodes to such Tags.
Map from HIR nodes to Tags.public void atVarNode(VarNode pVarNode)
Var attached to
the specified argument if it is not yet done,
and registers the node-Tag correspondence into
a global map.
HirVisitor 内の atVarNodeHirVisitorModel2 内の atVarNodepVarNode - the VarNode the
Var attached to which is going to
be assigned a Tag.public void atSubscriptedExp(SubscriptedExp pExp)
MyExpId attached to
the specified argument if it is not yet done,
and registers the node-Tag correspondence into a global map.
HirVisitor 内の atSubscriptedExpHirVisitorModel2 内の atSubscriptedExppExp - the SubscriptedExp
the MyExpId attached to which is going
to be assigned a Tag.public void atQualifiedExp(QualifiedExp pExp)
MyExpId attached to the specified argument
if it is not yet done, and registers the node-Tag
correspondence into a global map.
HirVisitor 内の atQualifiedExpHirVisitorModel2 内の atQualifiedExppExp - the QualifiedExp the
MyExpId attached to which is going
to be assigned a Tag.public void atPointedExp(PointedExp pExp)
MyExpId attached to the
specified argument if it is not yet done, and registers
the node-Tag correspondence into a global map.
HirVisitor 内の atPointedExpHirVisitorModel2 内の atPointedExppExp - the PointedExp the
MyExpId attached to which is going to be
assigned a Tag.public void atExp(Exp pExp)
MyExpId attached to
the specified argument if it is lvalue and not yet done,
and registers the node-Tag correspondence into a global map.
HirVisitor 内の atExpHirVisitorModel2 内の atExppExp - the Exp the MyExpId
attached to which is going to be assigned a Tag.public void atFunctionExp(FunctionExp pExp)
HirVisitor 内の atFunctionExpHirVisitorModel2 内の atFunctionExppExp - the FunctionExp the area
allocated by which is going to be assigned a Tag.
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||