soot.jimple.toolkits.callgraph
Class ReachableMethods

java.lang.Object
  extended by soot.jimple.toolkits.callgraph.ReachableMethods

public class ReachableMethods
extends Object

Keeps track of the methods transitively reachable from the specified entry points through the given call graph edges.

Author:
Ondrej Lhotak

Constructor Summary
ReachableMethods(CallGraph graph, Collection<MethodOrMethodContext> entryPoints)
           
ReachableMethods(CallGraph graph, Iterator<MethodOrMethodContext> entryPoints)
           
ReachableMethods(CallGraph graph, Iterator<MethodOrMethodContext> entryPoints, Filter filter)
           
 
Method Summary
 boolean contains(MethodOrMethodContext m)
          Returns true iff method is reachable.
 QueueReader<MethodOrMethodContext> listener()
          Returns a QueueReader object containing all methods found reachable so far, and which will be informed of any new methods that are later found to be reachable.
 QueueReader<MethodOrMethodContext> newListener()
          Returns a QueueReader object which will contain ONLY NEW methods which will be found to be reachable, but not those that have already been found to be reachable.
 int size()
          Returns the number of methods that are reachable.
 void update()
          Causes the QueueReader objects to be filled up with any methods that have become reachable since the last call.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReachableMethods

public ReachableMethods(CallGraph graph,
                        Iterator<MethodOrMethodContext> entryPoints)

ReachableMethods

public ReachableMethods(CallGraph graph,
                        Iterator<MethodOrMethodContext> entryPoints,
                        Filter filter)

ReachableMethods

public ReachableMethods(CallGraph graph,
                        Collection<MethodOrMethodContext> entryPoints)
Method Detail

update

public void update()
Causes the QueueReader objects to be filled up with any methods that have become reachable since the last call.


listener

public QueueReader<MethodOrMethodContext> listener()
Returns a QueueReader object containing all methods found reachable so far, and which will be informed of any new methods that are later found to be reachable.


newListener

public QueueReader<MethodOrMethodContext> newListener()
Returns a QueueReader object which will contain ONLY NEW methods which will be found to be reachable, but not those that have already been found to be reachable.


contains

public boolean contains(MethodOrMethodContext m)
Returns true iff method is reachable.


size

public int size()
Returns the number of methods that are reachable.