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 JavaLangPackageNative extends NativeMethodClass { 34 public JavaLangPackageNative( 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.String getSystemPackage0(java.lang.String)")) { 49 java_lang_Package_getSystemPackage0(method, thisVar, returnVar, params); 50 return; 51 52 } else if (subSignature.equals("java.lang.String[] getSystemPackages0()")){ 53 java_lang_Package_getSystemPackages0(method, thisVar, returnVar, params); 54 return; 55 56 } else { 57 defaultMethod(method, thisVar, returnVar, params); 58 return; 59 60 } 61 } 62 63 64 72 public 73 void java_lang_Package_getSystemPackage0(SootMethod method, 74 ReferenceVariable thisVar, 75 ReferenceVariable returnVar, 76 ReferenceVariable params[]) { 77 helper.assignObjectTo(returnVar, Environment.v().getStringObject()); 78 } 79 80 83 public 84 void java_lang_Package_getSystemPackages0(SootMethod method, 85 ReferenceVariable thisVar, 86 ReferenceVariable returnVar, 87 ReferenceVariable params[]) { 88 helper.assignObjectTo(returnVar, Environment.v().getLeastArrayObject()); 89 } 90 91 92 } 93 | Popular Tags |