soot.jimple.toolkits.pointer.nativemethods
Class JavaLangReflectArrayNative

java.lang.Object
  |
  +--soot.jimple.toolkits.pointer.nativemethods.NativeMethodClass
        |
        +--soot.jimple.toolkits.pointer.nativemethods.JavaLangReflectArrayNative

public class JavaLangReflectArrayNative
extends NativeMethodClass


Constructor Summary
JavaLangReflectArrayNative(Singletons.Global g)
           
 
Method Summary
static void java_lang_reflect_Array_get(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)
          Returns the value of the indexed component in the specified array object.
static void java_lang_reflect_Array_multiNewArray(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)
          Treat this method as
static void java_lang_reflect_Array_newArray(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)
          Treat this method as
static void java_lang_reflect_Array_set(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)
           
 void simulateMethod(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)
          Implements the abstract method simulateMethod.
static JavaLangReflectArrayNative v()
           
 
Methods inherited from class soot.jimple.toolkits.pointer.nativemethods.NativeMethodClass
defaultMethod
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavaLangReflectArrayNative

public JavaLangReflectArrayNative(Singletons.Global g)
Method Detail

v

public static JavaLangReflectArrayNative v()

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.
Overrides:
simulateMethod in class NativeMethodClass

java_lang_reflect_Array_get

public static void java_lang_reflect_Array_get(SootMethod method,
                                               ReferenceVariable thisVar,
                                               ReferenceVariable returnVar,
                                               ReferenceVariable[] params)
Returns the value of the indexed component in the specified array object. The value is automatically wrapped in an object if it has a primitive type. NOTE: @return = @param0[] public static native java.lang.Object get(java.lang.Object, int) throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsException;

java_lang_reflect_Array_set

public static void java_lang_reflect_Array_set(SootMethod method,
                                               ReferenceVariable thisVar,
                                               ReferenceVariable returnVar,
                                               ReferenceVariable[] params)

java_lang_reflect_Array_newArray

public static void java_lang_reflect_Array_newArray(SootMethod method,
                                                    ReferenceVariable thisVar,
                                                    ReferenceVariable returnVar,
                                                    ReferenceVariable[] params)
Treat this method as
Returns:
= new A[]; private static native java.lang.Object newArray(java.lang.Class, int) throws java.lang.NegativeArraySizeException;

java_lang_reflect_Array_multiNewArray

public static void java_lang_reflect_Array_multiNewArray(SootMethod method,
                                                         ReferenceVariable thisVar,
                                                         ReferenceVariable returnVar,
                                                         ReferenceVariable[] params)
Treat this method as
Returns:
= new A[][]; private static native java.lang.Object multiNewArray(java.lang.Class, int[]) throws java.lang.IllegalArgumentException, java.lang.NegativeArraySizeException;