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

MethodCallAnalysis Class Reference

List of all members.

Public Methods

 MethodCallAnalysis ()

Private Methods

void assignmentByMdCall (MethodInfo mdInfo)
Map buildCallMeSiteMap ()
void buildMethodPDG (AnnotationManager cfanns)
void collectPossibleReadyDependCallSite (MethodInfo mdInfo)
void distributeToMdInfo (Map callMeMap)
Value getBaseValueFrom (CallSite callSite)
void mergeFields (MethodInfo mdInfo, MethodInfo calledMdInfo, CallSite site)
void MODREFAnalysis ()

Static Private Methods

boolean allCalculated (SootMethod sm, Map callSiteMap, Set caledMdSet)

Static Private Attributes

Set directReadyForWaitCallSites

Detailed Description

This class is for analysis of method calls including:
(1) Build reverse direction call graph (given a method, we can know which methods call that) based on call site map: buildCallMeSiteMap().
(2) Build PDG for each method: buildMethodPDG().
(3) Collect and calculate MOD/REF information for each method: MODREFAnalysis().

Definition at line 52 of file MethodCallAnalysis.java.


Member Function Documentation

void MethodCallAnalysis::MODREFAnalysis   [inline, private]
 

Collect and calculate MOD/REF information for each method with considering method calls inside a method body.
Update MOD and of each MethodInfo of each method.

Definition at line 325 of file MethodCallAnalysis.java.

Referenced by Slicer::moreInformation().

boolean MethodCallAnalysis::allCalculated SootMethod   sm,
Map   callSiteMap,
Set   caledMdSet
[inline, static, private]
 

See if all call sites in given method have been processed according to a set of sootMethods that have been processed.

@sm sootMethod to be analysed. @callSiteMap call site map from CallSite to SootMethod.

Parameters:
caledMdSet   a set of SootMethod which has been processed.
Returns:
true if all call sites have been processed, false otherwise.

Definition at line 72 of file MethodCallAnalysis.java.

Referenced by MODREFAnalysis().

void MethodCallAnalysis::assignmentByMdCall MethodInfo   mdInfo [inline, private]
 

Update the local assignment map locAssIndex in terms of MOD information in given method information.

Parameters:
mdInfo   method to be analysed.

Definition at line 93 of file MethodCallAnalysis.java.

Referenced by buildMethodPDG().

Map MethodCallAnalysis::buildCallMeSiteMap   [inline, private]
 

Build callme site map from call site map which is from CallSite to SootMethod.

Returns:
a callme site map which is from SootMethod to a Set of CallSite. The map means that the sootMethod is called by a set of call sites.

Definition at line 170 of file MethodCallAnalysis.java.

void MethodCallAnalysis::buildMethodPDG AnnotationManager   cfanns [inline, private]
 

Build PDG for each method including:
(1) assignmentByMdCall().
(2) new BuildPDG().
(3) @LockAnalysis(MethodInfo,AnnotationManager) new LockAnalysis().
(4) collectPossibleReadyDependCallSite().

Parameters:
cfanns   annotation manager.

Definition at line 203 of file MethodCallAnalysis.java.

Referenced by Slicer::moreInformation().

void MethodCallAnalysis::collectPossibleReadyDependCallSite MethodInfo   mdInfo [inline, private]
 

Collect all possible ready dependent call sites from given method: A set of CallSite such that inside the called method body there may contain some ready dependence.
Update the field possibleReadyDependCallSite.

Parameters:
mdInfo   method to be analysed.

Definition at line 229 of file MethodCallAnalysis.java.

Referenced by buildMethodPDG().

void MethodCallAnalysis::distributeToMdInfo Map   callMeMap [inline, private]
 

Assign value of the field whoCallMe for each MethodInfo of each method in terms of given callme map.

Parameters:
callMeMap   callme map which is from SootMethod to a Set of CallSite.

Definition at line 276 of file MethodCallAnalysis.java.

Value MethodCallAnalysis::getBaseValueFrom CallSite   callSite [inline, private]
 

Get the base value from a call site of a method call.

Returns:
the base value of the method call.
Parameters:
callSite   call site.

Definition at line 292 of file MethodCallAnalysis.java.

Referenced by collectPossibleReadyDependCallSite().

void MethodCallAnalysis::mergeFields MethodInfo   mdInfo,
MethodInfo   calledMdInfo,
CallSite   site
[inline, private]
 

Merge MOD/REF information of callee's into that of caller's.

Parameters:
mdInfo   method information of caller.
calledMdInfo   method information of callee.
site   call site.

Definition at line 311 of file MethodCallAnalysis.java.

Referenced by MODREFAnalysis().


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