Class JavaLangReflectMethodNative
- java.lang.Object
-
- soot.jimple.toolkits.pointer.nativemethods.NativeMethodClass
-
- soot.jimple.toolkits.pointer.nativemethods.JavaLangReflectMethodNative
-
public class JavaLangReflectMethodNative extends NativeMethodClass
-
-
Field Summary
-
Fields inherited from class soot.jimple.toolkits.pointer.nativemethods.NativeMethodClass
helper
-
-
Constructor Summary
Constructors Constructor Description JavaLangReflectMethodNative(NativeHelper helper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidjava_lang_reflect_Method_invoke(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)nvokes the underlying method represented by this Method object, on the specified object with the specified parameters.voidsimulateMethod(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)Implements the abstract method simulateMethod.-
Methods inherited from class soot.jimple.toolkits.pointer.nativemethods.NativeMethodClass
defaultMethod
-
-
-
-
Constructor Detail
-
JavaLangReflectMethodNative
public JavaLangReflectMethodNative(NativeHelper helper)
-
-
Method Detail
-
simulateMethod
public void simulateMethod(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)
Implements the abstract method simulateMethod. It distributes the request to the corresponding methods by signatures.- Specified by:
simulateMethodin classNativeMethodClass
-
java_lang_reflect_Method_invoke
public void java_lang_reflect_Method_invoke(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)
nvokes the underlying method represented by this Method object, on the specified object with the specified parameters. Individual parameters are automatically unwrapped to match primitive formal parameters, and both primitive and reference parameters are subject to widening conversions as necessary. The value returned by the underlying method is automatically wrapped in an object if it has a primitive type. Method invocation proceeds with the following steps, in order: If the underlying method is static, then the specified obj argument is ignored. It may be null. NOTE: @this is an variable pointing to method objects,
-
-