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 variousSSAContextInterpreters that deal with reflection methods.AbstractReflectionInterpreter.IgnoreSerializableWarning A warning when we find flow of a factory allocation to a cast toSerializableAbstractReflectionInterpreter.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 AnSSAContextInterpreterspecialized to interpret reflective class factories (e.g.ClassNewInstanceContextInterpreter AnSSAContextInterpreterspecialized to interpret Class.newInstance in aJavaTypeContextwhich 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 SSAContextInterpreterspecialized to interpret Object.getClass() in aJavaTypeContextGetClassContextSelector AContextSelectorto 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,GetMethodContextInterpreterandGetMethodContextSelectorshould be preferred overJavaLangClassContextInterpreterandJavaLangClassContextSelector, asGetMethodContextInterpreterandGetMethodContextSelectordrastically reduce the number of methods returned increasing the precision of the analysis.GetMethodContextInterpreter UnderstandsGetMethodContext.GetMethodContextSelector ProducesGetMethodContextif appropriate.IllegalArgumentExceptionContext JavaLangClassContextInterpreter AnSSAContextInterpreterspecialized to interpret methods on java.lang.Class in aJavaTypeContextwhich represents the point-type of the class object created by the call.JavaTypeContext ReflectionContextInterpreter SSAContextInterpreterto handle all reflection procession.ReflectionContextSelector AContextSelectorto handle default reflection logic.ReflectiveInvocationInterpreter AnSSAContextInterpreterspecialized to interpret reflective invocations such as Constructor.newInstance and Method.invoke on anIMethodconstant.