Your browser does not support JavaScript and this site utilizes JavaScript to build content and provide links to additional information. You should either enable JavaScript in your browser settings or use a browser that supports JavaScript in order to take full advantage of this site.
1 19 20 package soot.javaToJimple; 21 22 import java.util.*; 23 import soot.*; 24 25 public class AnonClassInitMethodSource extends soot.javaToJimple.PolyglotMethodSource { 26 27 private boolean hasOuterRef; 28 public void hasOuterRef(boolean b){ 29 hasOuterRef = b; 30 } 31 public boolean hasOuterRef(){ 32 return hasOuterRef; 33 } 34 35 private boolean hasQualifier; 36 public void hasQualifier(boolean b){ 37 hasQualifier = b; 38 } 39 public boolean hasQualifier(){ 40 return hasQualifier; 41 } 42 43 44 private boolean inStaticMethod; 45 46 public void inStaticMethod(boolean b){ 47 inStaticMethod = b; 48 } 49 public boolean inStaticMethod(){ 50 return inStaticMethod; 51 } 52 53 54 private boolean isSubType = false; 55 public void isSubType(boolean b){ 56 isSubType = b; 57 } 58 public boolean isSubType(){ 59 return isSubType; 60 } 61 62 private soot.Type superOuterType = null; 63 private soot.Type thisOuterType = null; 64 65 public void superOuterType(soot.Type t){ 66 superOuterType = t; 67 } 68 public soot.Type superOuterType(){ 69 return superOuterType; 70 } 71 72 public void thisOuterType(soot.Type t){ 73 thisOuterType = t; 74 } 75 public soot.Type thisOuterType(){ 76 return thisOuterType; 77 } 78 79 private polyglot.types.ClassType polyglotType; 80 public void polyglotType(polyglot.types.ClassType type){ 81 polyglotType = type; 82 } 83 public polyglot.types.ClassType polyglotType() { 84 return polyglotType; 85 } 86 87 private polyglot.types.ClassType anonType; 88 public void anonType(polyglot.types.ClassType type){ 89 anonType = type; 90 } 91 public polyglot.types.ClassType anonType() { 92 return anonType; 93 } 94 95 public soot.Body getBody(soot.SootMethod sootMethod, String phaseName){ 96 AnonInitBodyBuilder aibb = new AnonInitBodyBuilder(); 97 soot.jimple.JimpleBody body = aibb.createBody(sootMethod); 98 99 PackManager.v().getPack("jj").apply(body); 100 101 return body; 102 } 103 104 private soot.Type outerClassType; 105 106 public soot.Type outerClassType(){ 107 return outerClassType; 108 } 109 110 public void outerClassType(soot.Type type){ 111 outerClassType = type; 112 } 113 } 114
| Popular Tags
|