Package com.ibm.wala.analysis.reflection
-
Interface Summary Interface Description InstanceKeyWithNode An instance key which has an associatedCGNode
. -
Class Summary Class Description AbstractReflectionInterpreter An abstract superclass of variousSSAContextInterpreter
s that deal with reflection methods.AbstractReflectionInterpreter.IgnoreSerializableWarning A warning when we find flow of a factory allocation to a cast toSerializable
AbstractReflectionInterpreter.ManySubtypesWarning A warning when we expect excessive pollution from a factory methodAbstractReflectionInterpreter.NoSubtypesWarning A warning when we fail to find subtypes for a factory methodClassFactoryContextInterpreter AnSSAContextInterpreter
specialized to interpret reflective class factories (e.g.ClassNewInstanceContextInterpreter AnSSAContextInterpreter
specialized to interpret Class.newInstance in aJavaTypeContext
which represents the point-type of the class object created by the call.CloneInterpreter A context interpreter for java.lang.Object.clone TODO: The current implementation does not model CloneNotSupportedExceptionsFactoryBypassInterpreter Logic to interpret "factory" methods in context.GetClassContextInterpeter SSAContextInterpreter
specialized to interpret Object.getClass() in aJavaTypeContext
GetClassContextSelector AContextSelector
to intercept calls to Object.getClass()GetMethodContext A context which may be used if the method to be interpreted is eitherClass.getMethod(String, Class...)
orClass.getDeclaredMethod(String, Class...)
, the type of the "this" argument is known and the value of the first argument (the method name) is a constant. In the special case described above,GetMethodContextInterpreter
andGetMethodContextSelector
should be preferred overJavaLangClassContextInterpreter
andJavaLangClassContextSelector
, asGetMethodContextInterpreter
andGetMethodContextSelector
drastically reduce the number of methods returned increasing the precision of the analysis.GetMethodContextInterpreter UnderstandsGetMethodContext
.GetMethodContextSelector ProducesGetMethodContext
if appropriate.IllegalArgumentExceptionContext JavaLangClassContextInterpreter AnSSAContextInterpreter
specialized to interpret methods on java.lang.Class in aJavaTypeContext
which represents the point-type of the class object created by the call.JavaTypeContext ReflectionContextInterpreter SSAContextInterpreter
to handle all reflection procession.ReflectionContextSelector AContextSelector
to handle default reflection logic.ReflectiveInvocationInterpreter AnSSAContextInterpreter
specialized to interpret reflective invocations such as Constructor.newInstance and Method.invoke on anIMethod
constant.