coins.alias.alias2
Class Prescan

java.lang.Object
  extended bycoins.ir.hir.HirVisitorModel2
      extended bycoins.alias.alias2.Prescan
All Implemented Interfaces:
HirVisitor

class Prescan
extends HirVisitorModel2

Scans HIR nodes and collects some info.


Field Summary
(package private)  java.util.Set fAccessedConstSubscripts
           
(package private)  java.util.Set fAccessedElems
           
(package private)  java.util.Set fAccessedVars
           
(package private)  java.util.Set fmallocs
           
(package private)  int fTagBitCount
          Total number of Tags that have a bit position assigned in the TagVector.
 
Fields inherited from class coins.ir.hir.HirVisitorModel2
fDbgLevel, hirRoot, ioRoot, symRoot
 
Constructor Summary
(package private) Prescan(SubpDefinition pSubpDef, AliasAnalHir2 pAliasAnal)
          Creates a new instance of TagTreeBuilder
 
Method Summary
 void atFunctionExp(FunctionExp pExp)
           
 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)
           
 void atSubscriptedExp(SubscriptedExp pExp)
           
 void atVarNode(VarNode pVarNode)
           
(package private)  void process()
           
 
Methods inherited from class coins.ir.hir.HirVisitorModel2
atAsmStmt, atAssignStmt, atBlockStmt, atConstNode, atElemNode, atExp, 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fTagBitCount

int fTagBitCount
Total number of Tags that have a bit position assigned in the TagVector.


fAccessedVars

java.util.Set fAccessedVars

fAccessedElems

java.util.Set fAccessedElems

fAccessedConstSubscripts

java.util.Set fAccessedConstSubscripts

fmallocs

java.util.Set fmallocs
Constructor Detail

Prescan

Prescan(SubpDefinition pSubpDef,
        AliasAnalHir2 pAliasAnal)
Creates a new instance of TagTreeBuilder

Parameters:
pSubpDef - the SubpDefinition object this module is responsible for.
Method Detail

process

void process()

atVarNode

public void atVarNode(VarNode pVarNode)
Specified by:
atVarNode in interface HirVisitor
Overrides:
atVarNode in class HirVisitorModel2

atSubscriptedExp

public void atSubscriptedExp(SubscriptedExp pExp)
Specified by:
atSubscriptedExp in interface HirVisitor
Overrides:
atSubscriptedExp in class HirVisitorModel2

atQualifiedExp

public void atQualifiedExp(QualifiedExp pExp)
Specified by:
atQualifiedExp in interface HirVisitor
Overrides:
atQualifiedExp in class HirVisitorModel2

atPointedExp

public 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.

Specified by:
atPointedExp in interface HirVisitor
Overrides:
atPointedExp in class HirVisitorModel2
Parameters:
pExp - the PointedExp the MyExpId attached to which is going to be assigned a Tag.

atFunctionExp

public void atFunctionExp(FunctionExp pExp)
Specified by:
atFunctionExp in interface HirVisitor
Overrides:
atFunctionExp in class HirVisitorModel2