Main Page   Packages   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

SliceTraceNode Class Reference

List of all members.

Public Methods

 SliceTraceNode ()
 SliceTraceNode (SootMethod sm, Annotation sa)
 SliceTraceNode (MethodInfo mi, Stmt s)
void add (SliceTraceNode stn, Integer kind)
boolean equals (Object o)
boolean isChild (SliceTraceNode stn)
String toString ()

Public Attributes

MethodInfo methodInfo
Annotation stmtAnnotation = null
Map parents
Map children

Detailed Description

This class is for PDG browser. Each object of this class will record one node in CFG which is included in the slice of one method. All the slice trace nodes are linked by dependencies.
For example, suppose we have
n1 cd--> n2, n1 dd--> n3, n1 synd--> n4
n5 dd--> n2, n6 cd--> n4
where --> can be read as "on", and cd, dd, synd are saying control dependent, data dependent, synchronization dependent repectively. In this case, we say
(1) n1 has 3 slice children: n2(cd), n3(dd), n4(synd), if n1 is included in the slice.
(2) n2 has 2 slice parents: n5(dd), n1(cd), if both n1 and n5 are in the slice. In other words, how many slice parents n2 can have depends on how many parents of n2 are in the slice.
Finally, all objects of SliceTraceNode for a method could construct a net (bidirectional link) linked by all kinds of dependency(cd, dd, synd etc.).

Definition at line 62 of file SliceTraceNode.java.


Constructor & Destructor Documentation

SliceTraceNode::SliceTraceNode   [inline]
 

Initial constructor.

Definition at line 88 of file SliceTraceNode.java.

SliceTraceNode::SliceTraceNode SootMethod   sm,
Annotation   sa
[inline]
 

Constructor for method and annotation.

Parameters:
sm   sootmethod where the annotation sa is.
sa   annotation for current node (statement).

Definition at line 99 of file SliceTraceNode.java.

SliceTraceNode::SliceTraceNode MethodInfo   mi,
Stmt   s
[inline]
 

Constructor for method and statement.

Parameters:
mi   method where the statement s is.
s   statement for current node.

Definition at line 112 of file SliceTraceNode.java.


Member Function Documentation

void SliceTraceNode::add SliceTraceNode   stn,
Integer   kind
[inline]
 

Add a slice trace node into current node list.
Set the parent as child for current node.

Parameters:
stn   node being added.
kind   the dependency kind of the node stn.

Definition at line 142 of file SliceTraceNode.java.

boolean SliceTraceNode::isChild SliceTraceNode   stn [inline]
 

See if a slice trace node stn is a child of current slice trace node.

Parameters:
stn   query slice trace node.

Definition at line 159 of file SliceTraceNode.java.


Member Data Documentation

Map SliceTraceNode::children
 

Slice children of current node.
A map from SliceTraceNode to Kind

Definition at line 83 of file SliceTraceNode.java.

MethodInfo SliceTraceNode::methodInfo
 

Method where the node is.

Definition at line 67 of file SliceTraceNode.java.

Map SliceTraceNode::parents
 

Slice parents of current node.
A map from SliceTraceNode to Kind.

Definition at line 77 of file SliceTraceNode.java.

Annotation SliceTraceNode::stmtAnnotation = null
 

The annotation of the node (statement).

Definition at line 71 of file SliceTraceNode.java.


The documentation for this class was generated from the following file:
Generated at Thu Feb 7 07:21:25 2002 for Bandera by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001