1 19 20 25 26 27 package soot.jimple.toolkits.pointer.util; 28 import soot.*; 29 import soot.jimple.toolkits.pointer.representations.*; 30 31 public abstract class NativeHelper { 32 33 34 37 public void assign(ReferenceVariable lhs, ReferenceVariable rhs){ 38 assignImpl(lhs, rhs); 39 } 40 41 49 public void assignObjectTo(ReferenceVariable lhs, AbstractObject obj){ 50 assignObjectToImpl(lhs, obj); 51 } 52 53 56 public void throwException(AbstractObject obj){ 57 throwExceptionImpl(obj); 58 } 59 60 64 public ReferenceVariable arrayElementOf(ReferenceVariable base){ 65 return arrayElementOfImpl(base); 66 } 67 68 76 public ReferenceVariable cloneObject(ReferenceVariable source){ 77 return cloneObjectImpl(source); 78 } 79 80 89 public ReferenceVariable newInstanceOf(ReferenceVariable cls){ 90 return newInstanceOfImpl(cls); 91 } 92 93 100 public ReferenceVariable staticField(String className, String fieldName ){ 101 return staticFieldImpl(className, fieldName); 102 } 103 104 114 public ReferenceVariable tempField(String fieldsig){ 115 return tempFieldImpl(fieldsig); 116 } 117 118 129 public ReferenceVariable tempVariable(){ 130 return tempVariableImpl(); 131 } 132 133 public ReferenceVariable tempLocalVariable(SootMethod method) { 134 return tempLocalVariableImpl(method); 135 } 136 139 protected abstract 140 void assignImpl(ReferenceVariable lhs, ReferenceVariable rhs); 141 protected abstract 142 void assignObjectToImpl(ReferenceVariable lhs, AbstractObject obj); 143 protected abstract 144 void throwExceptionImpl(AbstractObject obj); 145 protected abstract 146 ReferenceVariable arrayElementOfImpl(ReferenceVariable base); 147 protected abstract 148 ReferenceVariable cloneObjectImpl(ReferenceVariable source); 149 protected abstract 150 ReferenceVariable newInstanceOfImpl(ReferenceVariable cls); 151 protected abstract 152 ReferenceVariable staticFieldImpl(String className, String fieldName ); 153 protected abstract 154 ReferenceVariable tempFieldImpl(String fieldsig); 155 protected abstract 156 ReferenceVariable tempVariableImpl(); 157 protected abstract 158 ReferenceVariable tempLocalVariableImpl(SootMethod method); 159 } 160
| Popular Tags
|