Package | Description |
---|---|
soot.toolkits.graph.pdg |
Modifier and Type | Class and Description |
---|---|
class |
ConditionalPDGNode
This represents a PDGNode that has more than 1 dependent but is not
a loop header.
|
class |
LoopedPDGNode
This represents a loop in the PDG.
|
Modifier and Type | Field and Description |
---|---|
protected PDGNode |
LoopedPDGNode.m_body |
protected PDGNode |
LoopedPDGNode.m_body |
protected PDGNode |
LoopedPDGNode.m_header |
protected PDGNode |
LoopedPDGNode.m_header |
protected PDGNode |
PDGNode.m_next |
protected PDGNode |
PDGNode.m_next |
protected PDGNode |
PDGNode.m_prev |
protected PDGNode |
PDGNode.m_prev |
protected PDGNode |
HashMutablePDG.m_startNode |
protected PDGNode |
HashMutablePDG.m_startNode |
Modifier and Type | Field and Description |
---|---|
protected List<PDGNode> |
PDGNode.m_backDependents |
protected List<PDGNode> |
PDGNode.m_backDependents |
protected List<PDGNode> |
PDGNode.m_dependents |
protected List<PDGNode> |
PDGNode.m_dependents |
protected Hashtable<Object,PDGNode> |
HashMutablePDG.m_obj2pdgNode |
protected Hashtable<Object,PDGNode> |
HashMutablePDG.m_obj2pdgNode |
Modifier and Type | Method and Description |
---|---|
PDGNode |
LoopedPDGNode.getBody() |
PDGNode |
LoopedPDGNode.getBody() |
PDGNode |
PDGRegion.getCorrespondingPDGNode() |
PDGNode |
PDGRegion.getCorrespondingPDGNode() |
PDGNode |
LoopedPDGNode.getHeader() |
PDGNode |
LoopedPDGNode.getHeader() |
PDGNode |
PDGNode.getNext() |
PDGNode |
PDGNode.getNext() |
PDGNode |
HashMutablePDG.getPDGNode(Object cfgNode)
This method returns the PDGNode in the PDG corresponding to the given
CFG node.
|
PDGNode |
ProgramDependenceGraph.getPDGNode(Object cfgNode)
This method returns the PDGNode in the PDG corresponding to the given
CFG node.
|
PDGNode |
HashMutablePDG.getPDGNode(Object cfgNode)
This method returns the PDGNode in the PDG corresponding to the given
CFG node.
|
PDGNode |
ProgramDependenceGraph.getPDGNode(Object cfgNode)
This method returns the PDGNode in the PDG corresponding to the given
CFG node.
|
PDGNode |
PDGNode.getPrev() |
PDGNode |
PDGNode.getPrev() |
PDGNode |
HashMutablePDG.GetStartNode() |
PDGNode |
ProgramDependenceGraph.GetStartNode() |
PDGNode |
HashMutablePDG.GetStartNode() |
PDGNode |
ProgramDependenceGraph.GetStartNode() |
PDGNode |
PDGRegion.unit2PDGNode(Unit u) |
PDGNode |
PDGRegion.unit2PDGNode(Unit u) |
Modifier and Type | Method and Description |
---|---|
List<PDGNode> |
PDGNode.getBackDependets() |
List<PDGNode> |
PDGNode.getBackDependets() |
List<PDGNode> |
PDGNode.getDependents() |
List<PDGNode> |
PDGNode.getDependents() |
List<PDGNode> |
HashMutablePDG.getDependents(PDGNode node)
This method returns the list of all dependents of a node in the PDG.
|
List<PDGNode> |
ProgramDependenceGraph.getDependents(PDGNode node)
This method returns the list of all dependents of a node in the PDG.
|
List<PDGNode> |
HashMutablePDG.getDependents(PDGNode node)
This method returns the list of all dependents of a node in the PDG.
|
List<PDGNode> |
ProgramDependenceGraph.getDependents(PDGNode node)
This method returns the list of all dependents of a node in the PDG.
|
List<PDGNode> |
PDGRegion.getNodes() |
List<PDGNode> |
PDGRegion.getNodes() |
Iterator<PDGNode> |
PDGRegion.iterator()
return an iterator that know how to follow the control flow in a region.
|
Iterator<PDGNode> |
PDGRegion.iterator()
return an iterator that know how to follow the control flow in a region.
|
Modifier and Type | Method and Description |
---|---|
void |
PDGNode.addBackDependent(PDGNode node) |
void |
PDGNode.addBackDependent(PDGNode node) |
void |
PDGNode.addDependent(PDGNode node) |
void |
PDGNode.addDependent(PDGNode node) |
void |
PDGRegion.addPDGNode(PDGNode node) |
void |
PDGRegion.addPDGNode(PDGNode node) |
boolean |
HashMutablePDG.dependentOn(PDGNode node1,
PDGNode node2)
This method determines if node1 is control-dependent on node2 in this PDG.
|
boolean |
ProgramDependenceGraph.dependentOn(PDGNode node1,
PDGNode node2)
This method determines if node1 is control-dependent on node2 in this PDG.
|
boolean |
HashMutablePDG.dependentOn(PDGNode node1,
PDGNode node2)
This method determines if node1 is control-dependent on node2 in this PDG.
|
boolean |
ProgramDependenceGraph.dependentOn(PDGNode node1,
PDGNode node2)
This method determines if node1 is control-dependent on node2 in this PDG.
|
List<PDGNode> |
HashMutablePDG.getDependents(PDGNode node)
This method returns the list of all dependents of a node in the PDG.
|
List<PDGNode> |
ProgramDependenceGraph.getDependents(PDGNode node)
This method returns the list of all dependents of a node in the PDG.
|
List<PDGNode> |
HashMutablePDG.getDependents(PDGNode node)
This method returns the list of all dependents of a node in the PDG.
|
List<PDGNode> |
ProgramDependenceGraph.getDependents(PDGNode node)
This method returns the list of all dependents of a node in the PDG.
|
static List<PDGRegion> |
HashMutablePDG.getPostorderPDGRegionList(PDGNode r)
This method returns a list of regions obtained by post-order
traversal of the region hierarchy.
|
static List<PDGRegion> |
HashMutablePDG.getPostorderPDGRegionList(PDGNode r)
This method returns a list of regions obtained by post-order
traversal of the region hierarchy.
|
void |
HashMutablePDG.removeAllEdges(PDGNode from,
PDGNode to)
The existing removeAllEdges in the parent class seems to be throwing concurrentmodification exception
most of the time.
|
void |
HashMutablePDG.removeAllEdges(PDGNode from,
PDGNode to)
The existing removeAllEdges in the parent class seems to be throwing concurrentmodification exception
most of the time.
|
void |
PDGNode.removeDependent(PDGNode node) |
void |
PDGNode.removeDependent(PDGNode node) |
void |
LoopedPDGNode.setBody(PDGNode b) |
void |
LoopedPDGNode.setBody(PDGNode b) |
void |
PDGNode.setNext(PDGNode n) |
void |
PDGNode.setNext(PDGNode n) |
void |
PDGNode.setPrev(PDGNode n) |
void |
PDGNode.setPrev(PDGNode n) |
Constructor and Description |
---|
ConditionalPDGNode(PDGNode node) |
ConditionalPDGNode(PDGNode node) |
LoopedPDGNode(Region obj,
PDGNode.Type t,
PDGNode c) |
LoopedPDGNode(Region obj,
PDGNode.Type t,
PDGNode c) |
PDGRegion(int id,
List<PDGNode> nodes,
SootMethod m,
SootClass c,
UnitGraph ug,
PDGNode node) |
PDGRegion(int id,
List<PDGNode> nodes,
SootMethod m,
SootClass c,
UnitGraph ug,
PDGNode node) |
PDGRegion(int id,
SootMethod m,
SootClass c,
UnitGraph ug,
PDGNode node) |
PDGRegion(int id,
SootMethod m,
SootClass c,
UnitGraph ug,
PDGNode node) |
PDGRegion(PDGNode node) |
PDGRegion(PDGNode node) |
Constructor and Description |
---|
PDGRegion(int id,
List<PDGNode> nodes,
SootMethod m,
SootClass c,
UnitGraph ug,
PDGNode node) |
PDGRegion(int id,
List<PDGNode> nodes,
SootMethod m,
SootClass c,
UnitGraph ug,
PDGNode node) |