soot.jimple.toolkits.pointer.nativemethods
Class JavaIoObjectInputStreamNative

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

public class JavaIoObjectInputStreamNative
extends NativeMethodClass


Constructor Summary
JavaIoObjectInputStreamNative(Singletons.Global g)
           
 
Method Summary
static void java_io_ObjectInputStream_allocateNewArray(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)
          private static native java.lang.Object allocateNewArray(java.lang.Class, int);
static void java_io_ObjectInputStream_allocateNewObject(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)
          Serialization has to be avoided by static analyses, since each object comes out of the same place.
static void java_io_ObjectInputStream_latestUserDefinedLoader(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)
          NOTE: conservatively returns a reference pointing to the only copy of the class loader.
 void simulateMethod(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)
          Implements the abstract method simulateMethod.
static JavaIoObjectInputStreamNative 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

JavaIoObjectInputStreamNative

public JavaIoObjectInputStreamNative(Singletons.Global g)
Method Detail

v

public static JavaIoObjectInputStreamNative 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_io_ObjectInputStream_latestUserDefinedLoader

public static void java_io_ObjectInputStream_latestUserDefinedLoader(SootMethod method,
                                                                     ReferenceVariable thisVar,
                                                                     ReferenceVariable returnVar,
                                                                     ReferenceVariable[] params)
NOTE: conservatively returns a reference pointing to the only copy of the class loader. private static native java.lang.ClassLoader latestUserDefinedLoader() throws java.lang.ClassNotFoundException;

java_io_ObjectInputStream_allocateNewObject

public static void java_io_ObjectInputStream_allocateNewObject(SootMethod method,
                                                               ReferenceVariable thisVar,
                                                               ReferenceVariable returnVar,
                                                               ReferenceVariable[] params)
Serialization has to be avoided by static analyses, since each object comes out of the same place. private static native java.lang.Object allocateNewObject(java.lang.Class, java.lang.Class) throws java.lang.InstantiationException, java.lang.IllegalAccessException;

java_io_ObjectInputStream_allocateNewArray

public static void java_io_ObjectInputStream_allocateNewArray(SootMethod method,
                                                              ReferenceVariable thisVar,
                                                              ReferenceVariable returnVar,
                                                              ReferenceVariable[] params)
private static native java.lang.Object allocateNewArray(java.lang.Class, int);