soot.jimple.toolkits.pointer.nativemethods
Class JavaIoObjectInputStreamNative

java.lang.Object
  extended by soot.jimple.toolkits.pointer.nativemethods.NativeMethodClass
      extended by soot.jimple.toolkits.pointer.nativemethods.JavaIoObjectInputStreamNative

public class JavaIoObjectInputStreamNative
extends NativeMethodClass


Field Summary
 
Fields inherited from class soot.jimple.toolkits.pointer.nativemethods.NativeMethodClass
helper
 
Constructor Summary
JavaIoObjectInputStreamNative(NativeHelper helper)
           
 
Method Summary
 void java_io_ObjectInputStream_allocateNewArray(SootMethod method, ReferenceVariable thisVar, ReferenceVariable returnVar, ReferenceVariable[] params)
          private static native java.lang.Object allocateNewArray(java.lang.Class, int);
 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.
 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.
 
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(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:
simulateMethod in class NativeMethodClass

java_io_ObjectInputStream_latestUserDefinedLoader

public 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 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 void java_io_ObjectInputStream_allocateNewArray(SootMethod method,
                                                       ReferenceVariable thisVar,
                                                       ReferenceVariable returnVar,
                                                       ReferenceVariable[] params)
private static native java.lang.Object allocateNewArray(java.lang.Class, int);