1 19 20 26 27 package soot.jimple.toolkits.pointer.nativemethods; 28 29 import soot.*; 30 import soot.jimple.toolkits.pointer.representations.*; 31 import soot.jimple.toolkits.pointer.util.*; 32 33 public class JavaLangReflectProxyNative extends NativeMethodClass { 34 public JavaLangReflectProxyNative( NativeHelper helper ) { super(helper); } 35 36 41 public void simulateMethod(SootMethod method, 42 ReferenceVariable thisVar, 43 ReferenceVariable returnVar, 44 ReferenceVariable params[]){ 45 46 String subSignature = method.getSubSignature(); 47 48 if (subSignature.equals("java.lang.Class defineClass0(java.lang.ClassLoader,java.lang.String,byte[],int,int)")){ 49 java_lang_reflect_Proxy_defineClass0(method, thisVar, returnVar, params); 50 return; 51 52 } else { 53 defaultMethod(method, thisVar, returnVar, params); 54 return; 55 56 } 57 } 58 59 70 public 71 void java_lang_reflect_Proxy_defineClass0(SootMethod method, 72 ReferenceVariable thisVar, 73 ReferenceVariable returnVar, 74 ReferenceVariable params[]) { 75 throw new NativeMethodNotSupportedException(method); 76 } 77 } 78 | Popular Tags |