joeq.Compiler.Analysis.IPSSA
Class IPSSABuilder

java.lang.Object
  extended by joeq.Compiler.Analysis.IPSSA.IPSSABuilder
All Implemented Interfaces:
Runnable

public class IPSSABuilder
extends Object
implements Runnable

This is where the main action pertaining to IPSSA construction happens. A subclass is SSABuilder, which is responsible for intraprocedural IPSSA construction.

Version:
$Id: IPSSABuilder.java 2283 2005-05-28 11:14:47Z joewhaley $
Author:
V.Benjamin Livshits
See Also:
IPSSABuilder.SSABuilder

Nested Class Summary
static class IPSSABuilder.Application
          This is something we typically run afte the IPSSABuilder.
static class IPSSABuilder.ApplicationLaunchingPad
          This class allows to specify applications to be run after IPSSA has been constructed.
static class IPSSABuilder.Main
          This is an entry point for IPSSABuilder with a main(...) function.
 
Field Summary
protected  int _verbosity
           
 
Constructor Summary
IPSSABuilder(Collection classes, int verbosity)
           
 
Method Summary
static joeq.Compiler.Analysis.IPSSA.IPSSABuilder.SSABuilder getBuilder(jq_Method m)
          The return result may be NULL
 CallGraph getCallGraph()
           
 PAResults getPAResults()
           
static boolean isCall(Quad quad)
           
static boolean isLoad(Quad quad)
           
static boolean isStore(Quad quad)
           
protected  void processSCC(jwutil.graphs.SCComponent c)
          Handle an SCC in the call graph.
 void run()
          Do the whole analysis.
 boolean skipMethod(jq_Method method)
          A method filter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_verbosity

protected int _verbosity
Constructor Detail

IPSSABuilder

public IPSSABuilder(Collection classes,
                    int verbosity)
Method Detail

getPAResults

public PAResults getPAResults()

getCallGraph

public CallGraph getCallGraph()

processSCC

protected void processSCC(jwutil.graphs.SCComponent c)
Handle an SCC in the call graph. Nodes of the SCC are jq_Method's.


run

public void run()
Do the whole analysis.

Specified by:
run in interface Runnable

skipMethod

public boolean skipMethod(jq_Method method)
A method filter.


getBuilder

public static joeq.Compiler.Analysis.IPSSA.IPSSABuilder.SSABuilder getBuilder(jq_Method m)
The return result may be NULL


isLoad

public static boolean isLoad(Quad quad)

isStore

public static boolean isStore(Quad quad)

isCall

public static boolean isCall(Quad quad)


Copyright © 2001-2008 John Whaley. All Rights Reserved.