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

Analysis::RefValueSwitch Class Reference

Inheritance diagram for Analysis::RefValueSwitch:
[legend]
Collaboration diagram for Analysis::RefValueSwitch:
[legend]
List of all members.

Public Methods

void caseArrayRef (ArrayRef v)
void caseInstanceFieldRef (InstanceFieldRef v)
void caseParameterRef (ParameterRef v)
void caseStaticFieldRef (StaticFieldRef v)
void caseThisRef (ThisRef v)
void caseLocal (Local v)
void defaultCase (Object o)

Private Methods

Set build (Value v, SootMethod sm)
Set collect ()

Private Attributes

Collection result
MethodVariant method

Detailed Description

This class is acts as a large switch statement.

The switch is implemented in the parent class but the code to be executed is provided in this class. In each of the cases, a particular type of reference is handled.

AbstractJimpleValueSwitch is extended because RefValueSwitch does not handle switching on objects of class Local.

Author:
Venkatesh Prasad Ranganath

Definition at line 123 of file bofa/Analysis.java.


Member Function Documentation

Set Analysis::RefValueSwitch::build Value   v,
SootMethod   sm
[inline, private]
 

This is entry method which builds the collection of expression Values which the reference might evaluate to.

Parameters:
v   the value of interest. Mostly Locals and Ref types.
sm   the method in which the value occurs.
Returns:
a collection of Jimple Values which the given reference/locals will evaluate to.

Definition at line 148 of file bofa/Analysis.java.

void Analysis::RefValueSwitch::caseArrayRef ArrayRef   v [inline]
 

This method collects Value objects for the given ArrayRef object.

Parameters:
v   ArrayRef representing the array variable.

Definition at line 187 of file bofa/Analysis.java.

void Analysis::RefValueSwitch::caseInstanceFieldRef InstanceFieldRef   v [inline]
 

This method collects Value objects for the given InstanceFieldRef object.

Parameters:
v   InstanceFieldRef representing the instance field.

Definition at line 199 of file bofa/Analysis.java.

void Analysis::RefValueSwitch::caseLocal Local   v [inline]
 

This method gets the collection of Value objects for the given Local object.

Parameters:
v   Value representing the local variable.

Definition at line 248 of file bofa/Analysis.java.

void Analysis::RefValueSwitch::caseParameterRef ParameterRef   v [inline]
 

This method gets the collection of Value objects for the given ParameterRef object.

Parameters:
v   ParameterRef representing the parameter.

Definition at line 215 of file bofa/Analysis.java.

void Analysis::RefValueSwitch::caseStaticFieldRef StaticFieldRef   v [inline]
 

This method gets the collection of Value objects for the given StaticFieldRef object.

Parameters:
v   StaticFieldRef representing the static field.

Definition at line 226 of file bofa/Analysis.java.

void Analysis::RefValueSwitch::caseThisRef ThisRef   v [inline]
 

This method gets the collection of Value objects for the given ThisRef object.

Parameters:
v   ThisRef representing this variable.

Definition at line 237 of file bofa/Analysis.java.

Set Analysis::RefValueSwitch::collect   [inline, private]
 

This method collects the Values from the ValueVariant objects.

After the ValueVariants are collected for the given Value object, Value objects need to be extracted from them to keep the transaction with the external world in terms of Jimple entities. This will be called from build.

Returns:
a collection of Values that may flow into the Value given to build.
See also:
build build

Definition at line 168 of file bofa/Analysis.java.

void Analysis::RefValueSwitch::defaultCase Object   o [inline, virtual]
 

For all the cases which we donot provide value set information, we execute this method.

Parameters:
o   Any object type for which we donot cater the data.

Reimplemented from ExprSwitch.

Definition at line 259 of file bofa/Analysis.java.


Member Data Documentation

MethodVariant Analysis::RefValueSwitch::method [private]
 

The MethodVariant corresponding to a SootMethod.

Definition at line 136 of file bofa/Analysis.java.

Collection Analysis::RefValueSwitch::result [private]
 

A collection of values which the given reference or Local can refer to.

Definition at line 130 of file bofa/Analysis.java.


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