joeq.Compiler.Analysis.FlowInsensitive
Class ReflectionInformationProvider

java.lang.Object
  extended by joeq.Compiler.Analysis.FlowInsensitive.ReflectionInformationProvider
Direct Known Subclasses:
ReflectionInformationProvider.CribSheetReflectionInformationProvider

public abstract class ReflectionInformationProvider
extends Object

Version:
$Id: ReflectionInformationProvider.java 2465 2006-06-07 23:03:17Z joewhaley $ This class declares methods for resolving reflective calls.
Author:
V.Benjamin Livshits

Nested Class Summary
static class ReflectionInformationProvider.CribSheetReflectionInformationProvider
          This implementation of ReflectionInformationProvider reads answers from a file.
 class ReflectionInformationProvider.NewInstanceTargets
           
 
Constructor Summary
ReflectionInformationProvider()
           
 
Method Summary
abstract  Collection getNewInstanceTargets(jq_Method n)
          Resolves constructors being pointed to by a newInstance() calls within method n.
abstract  Collection getNewInstanceTargets(ProgramLocation.QuadProgramLocation mc)
          Resolves constructors being pointed to by a newInstance() call mc.
static boolean isForName(jq_Method target)
           
static boolean isNewInstance(jq_Method target)
          Checks if target is a newInstance method.
static boolean isNewInstance(ProgramLocation.QuadProgramLocation mc)
          Checks if mc corresponds to a newInstance call.
static boolean isReflective(jq_Method method)
          Checks if method is reflective.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReflectionInformationProvider

public ReflectionInformationProvider()
Method Detail

isReflective

public static boolean isReflective(jq_Method method)
Checks if method is reflective.

Parameters:
method -

isNewInstance

public static boolean isNewInstance(ProgramLocation.QuadProgramLocation mc)
Checks if mc corresponds to a newInstance call.


isNewInstance

public static boolean isNewInstance(jq_Method target)
Checks if target is a newInstance method.


isForName

public static boolean isForName(jq_Method target)

getNewInstanceTargets

public abstract Collection getNewInstanceTargets(ProgramLocation.QuadProgramLocation mc)
Resolves constructors being pointed to by a newInstance() call mc.


getNewInstanceTargets

public abstract Collection getNewInstanceTargets(jq_Method n)
Resolves constructors being pointed to by a newInstance() calls within method n. Notice that information may be imprecise because we only have one piece of data per method.



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