|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectsoot.javaToJimple.InitialResolver
public class InitialResolver
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface soot.javaToJimple.IInitialResolver |
---|
IInitialResolver.Dependencies |
Constructor Summary | |
---|---|
InitialResolver(Singletons.Global g)
|
Method Summary | |
---|---|
protected void |
addNameToAST(String name)
add name to AST to map - used mostly for inner and non public top-level classes |
void |
addToAnonConstructorMap(polyglot.ast.New anonNew,
polyglot.types.ConstructorInstance ci)
|
void |
addToPrivateFieldGetAccessMap(polyglot.ast.Field field,
SootMethod meth)
|
void |
addToPrivateFieldSetAccessMap(polyglot.ast.Field field,
SootMethod meth)
|
void |
addToPrivateMethodGetAccessMap(polyglot.ast.Call call,
SootMethod meth)
|
protected HashMap<String,String> |
classToSourceMap()
|
HashMap<polyglot.util.IdentityKey,AnonLocalClassInfo> |
finalLocalInfo()
|
void |
formAst(String fullPath,
List<String> locations,
String className)
Invokes polyglot and gets the AST for the source given in fullPath |
BiMap |
getAnonClassMap()
|
HashMap<polyglot.util.IdentityKey,String> |
getAnonTypeMap()
|
polyglot.ast.Node |
getAst()
|
polyglot.types.ConstructorInstance |
getConstructorForAnon(polyglot.ast.New anonNew)
|
ArrayList |
getHasOuterRefInInit()
|
HashMap<SootClass,InnerClassInfo> |
getInnerClassInfoMap()
|
ArrayList<String> |
getInterfacesList()
|
AbstractJBBFactory |
getJBBFactory()
|
BiMap |
getLocalClassMap()
|
HashMap<polyglot.util.IdentityKey,String> |
getLocalTypeMap()
|
protected int |
getNextAnonNum()
|
int |
getNextPrivateAccessCounter()
|
HashMap<polyglot.util.IdentityKey,SootMethod> |
getPrivateFieldGetAccessMap()
|
HashMap<polyglot.util.IdentityKey,SootMethod> |
getPrivateFieldSetAccessMap()
|
HashMap<polyglot.util.IdentityKey,SootMethod> |
getPrivateMethodGetAccessMap()
|
boolean |
hasASTForSootName(String name)
returns true if there is an AST avail for given soot class |
boolean |
hasClassInnerTag(SootClass sc,
String innerName)
|
FastHierarchy |
hierarchy()
|
void |
hierarchy(FastHierarchy fh)
|
boolean |
isAnonInCCall(polyglot.types.ClassType anonType)
|
void |
resolveAST()
|
IInitialResolver.Dependencies |
resolveFromJavaFile(SootClass sc)
|
void |
setAst(polyglot.ast.Node ast)
if you have a special AST set it here then call resolveFormJavaFile on the soot class |
void |
setASTForSootName(String name)
sets AST for given soot class if possible |
void |
setHasOuterRefInInit(ArrayList list)
|
void |
setInnerClassInfoMap(HashMap<SootClass,InnerClassInfo> map)
|
void |
setJBBFactory(AbstractJBBFactory jbbFactory)
|
void |
setSpecialAnonMap(HashMap<SootClass,SootClass> map)
|
HashMap<SootClass,SootClass> |
specialAnonMap()
|
static InitialResolver |
v()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public InitialResolver(Singletons.Global g)
Method Detail |
---|
public void addToAnonConstructorMap(polyglot.ast.New anonNew, polyglot.types.ConstructorInstance ci)
public polyglot.types.ConstructorInstance getConstructorForAnon(polyglot.ast.New anonNew)
public void setJBBFactory(AbstractJBBFactory jbbFactory)
public AbstractJBBFactory getJBBFactory()
public boolean hasASTForSootName(String name)
public void setASTForSootName(String name)
public static InitialResolver v()
public void formAst(String fullPath, List<String> locations, String className)
formAst
in interface IInitialResolver
public void setAst(polyglot.ast.Node ast)
public polyglot.ast.Node getAst()
protected void addNameToAST(String name)
public void resolveAST()
public IInitialResolver.Dependencies resolveFromJavaFile(SootClass sc)
resolveFromJavaFile
in interface IInitialResolver
protected int getNextAnonNum()
public boolean hasClassInnerTag(SootClass sc, String innerName)
public boolean isAnonInCCall(polyglot.types.ClassType anonType)
public BiMap getAnonClassMap()
public BiMap getLocalClassMap()
public HashMap<polyglot.util.IdentityKey,String> getAnonTypeMap()
public HashMap<polyglot.util.IdentityKey,String> getLocalTypeMap()
public HashMap<polyglot.util.IdentityKey,AnonLocalClassInfo> finalLocalInfo()
public int getNextPrivateAccessCounter()
public ArrayList getHasOuterRefInInit()
public void setHasOuterRefInInit(ArrayList list)
public HashMap<SootClass,SootClass> specialAnonMap()
public void setSpecialAnonMap(HashMap<SootClass,SootClass> map)
public void hierarchy(FastHierarchy fh)
public FastHierarchy hierarchy()
public HashMap<SootClass,InnerClassInfo> getInnerClassInfoMap()
public void setInnerClassInfoMap(HashMap<SootClass,InnerClassInfo> map)
protected HashMap<String,String> classToSourceMap()
public void addToPrivateFieldGetAccessMap(polyglot.ast.Field field, SootMethod meth)
public HashMap<polyglot.util.IdentityKey,SootMethod> getPrivateFieldGetAccessMap()
public void addToPrivateFieldSetAccessMap(polyglot.ast.Field field, SootMethod meth)
public HashMap<polyglot.util.IdentityKey,SootMethod> getPrivateFieldSetAccessMap()
public void addToPrivateMethodGetAccessMap(polyglot.ast.Call call, SootMethod meth)
public HashMap<polyglot.util.IdentityKey,SootMethod> getPrivateMethodGetAccessMap()
public ArrayList<String> getInterfacesList()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |