joeq.Compiler.Analysis.IPA
Class ObjectCreationGraph

java.lang.Object
  extended by joeq.Compiler.Quad.QuadVisitor.EmptyVisitor
      extended by joeq.Compiler.Analysis.IPA.ObjectCreationGraph
All Implemented Interfaces:
BasicBlockVisitor, ControlFlowGraphVisitor, QuadVisitor, jwutil.graphs.Graph

public class ObjectCreationGraph
extends QuadVisitor.EmptyVisitor
implements ControlFlowGraphVisitor, BasicBlockVisitor, jwutil.graphs.Graph

Author:
jwhaley

Nested Class Summary
 
Nested classes/interfaces inherited from interface joeq.Compiler.Quad.ControlFlowGraphVisitor
ControlFlowGraphVisitor.CodeCacheVisitor
 
Nested classes/interfaces inherited from interface joeq.Compiler.Quad.BasicBlockVisitor
BasicBlockVisitor.AllBasicBlockVisitor, BasicBlockVisitor.EmptyVisitor
 
Nested classes/interfaces inherited from interface joeq.Compiler.Quad.QuadVisitor
QuadVisitor.AllQuadVisitor, QuadVisitor.EmptyVisitor
 
Constructor Summary
ObjectCreationGraph()
           
 
Method Summary
 void addEdge(jq_Reference c1, MethodSummary.Node n, jq_Reference c2)
           
 void addEdge(jq_Reference c1, ProgramLocation pl, jq_Reference c2)
           
 void addRoot(jq_Class c)
           
 Set getAllNodes()
           
 jwutil.graphs.Navigator getNavigator()
           
 Collection getRoots()
           
 void handleCallGraph(CallGraph cg)
           
static void main(String[] args)
           
 void visitBasicBlock(BasicBlock bb)
          Visit a basic block.
 void visitCFG(ControlFlowGraph cfg)
           
 void visitMethodSummary(MethodSummary ms)
           
 void visitNew(Quad obj)
          An object allocation instruction.
 void visitNewArray(Quad obj)
          An array allocation instruction.
 void visitNode(MethodSummary.Node n)
           
 
Methods inherited from class joeq.Compiler.Quad.QuadVisitor.EmptyVisitor
visitALength, visitAllocation, visitALoad, visitArray, visitAStore, visitBinary, visitBoundsCheck, visitBranch, visitCheck, visitCheckCast, visitCondBranch, visitExceptionThrower, visitGetfield, visitGetstatic, visitGoto, visitInstanceField, visitInstanceOf, visitIntIfCmp, visitInvoke, visitJsr, visitLoad, visitLookupSwitch, visitMemLoad, visitMemStore, visitMonitor, visitMove, visitNullCheck, visitPhi, visitPutfield, visitPutstatic, visitQuad, visitRet, visitReturn, visitSpecial, visitStaticField, visitStore, visitStoreCheck, visitTableSwitch, visitTypeCheck, visitUnary, visitZeroCheck
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObjectCreationGraph

public ObjectCreationGraph()
Method Detail

getAllNodes

public Set getAllNodes()

getRoots

public Collection getRoots()
Specified by:
getRoots in interface jwutil.graphs.Graph

getNavigator

public jwutil.graphs.Navigator getNavigator()
Specified by:
getNavigator in interface jwutil.graphs.Graph

visitMethodSummary

public void visitMethodSummary(MethodSummary ms)

visitNode

public void visitNode(MethodSummary.Node n)

visitCFG

public void visitCFG(ControlFlowGraph cfg)
Specified by:
visitCFG in interface ControlFlowGraphVisitor

visitBasicBlock

public void visitBasicBlock(BasicBlock bb)
Description copied from interface: BasicBlockVisitor
Visit a basic block.

Specified by:
visitBasicBlock in interface BasicBlockVisitor
Parameters:
bb - basic block to visit

visitNew

public void visitNew(Quad obj)
Description copied from class: QuadVisitor.EmptyVisitor
An object allocation instruction.

Specified by:
visitNew in interface QuadVisitor
Overrides:
visitNew in class QuadVisitor.EmptyVisitor

visitNewArray

public void visitNewArray(Quad obj)
Description copied from class: QuadVisitor.EmptyVisitor
An array allocation instruction.

Specified by:
visitNewArray in interface QuadVisitor
Overrides:
visitNewArray in class QuadVisitor.EmptyVisitor

addRoot

public void addRoot(jq_Class c)

addEdge

public void addEdge(jq_Reference c1,
                    MethodSummary.Node n,
                    jq_Reference c2)

addEdge

public void addEdge(jq_Reference c1,
                    ProgramLocation pl,
                    jq_Reference c2)

handleCallGraph

public void handleCallGraph(CallGraph cg)

main

public static void main(String[] args)
                 throws IOException
Throws:
IOException


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