at.dms.util
Class GetSteadyMethods

java.lang.Object
  extended by at.dms.util.GetSteadyMethods

public class GetSteadyMethods
extends Object

Pulled out of lowering.fission.StatelessMethodDublicate for general use: Find methods reachable in a steady state. Find all method names reachable from a particular method.


Constructor Summary
GetSteadyMethods()
           
 
Method Summary
static List<String> getMethodsReachableFrom(JMethodDeclaration[] methods, JMethodDeclaration base)
          Returns set of method NAMES (Strings) out of 'methods' that are reachable from 'base'.
static List<JMethodDeclaration> getSteadyMethods(FilterContent filter)
           
static List<JMethodDeclaration> getSteadyMethods(SIRFilter filter)
          Returns the methods of 'filter' that execute in the steady state (either called from work, or likely to be message handlers).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GetSteadyMethods

public GetSteadyMethods()
Method Detail

getSteadyMethods

public static List<JMethodDeclaration> getSteadyMethods(SIRFilter filter)
Returns the methods of 'filter' that execute in the steady state (either called from work, or likely to be message handlers).

Parameters:
filter - : a filter.

getSteadyMethods

public static List<JMethodDeclaration> getSteadyMethods(FilterContent filter)

getMethodsReachableFrom

public static List<String> getMethodsReachableFrom(JMethodDeclaration[] methods,
                                                   JMethodDeclaration base)
Returns set of method NAMES (Strings) out of 'methods' that are reachable from 'base'. It is reachable if it is 'base', is called by 'base' or by anthing 'base' transitively calls.

Parameters:
methods - : array of methods to check for reachability from base.
base - : base case for reachability test.
Returns:
a list of names of methods in 'methods' as reflexive transitive closure of method calls from 'base'