public class InitialResolver extends java.lang.Object implements IInitialResolver
IInitialResolver.Dependencies
Constructor and Description |
---|
InitialResolver(soot.Singletons.Global g) |
Modifier and Type | Method and Description |
---|---|
protected void |
addNameToAST(java.lang.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 java.util.HashMap<java.lang.String,java.lang.String> |
classToSourceMap() |
java.util.HashMap<IdentityKey,AnonLocalClassInfo> |
finalLocalInfo() |
void |
formAst(java.lang.String fullPath,
java.util.List<java.lang.String> locations,
java.lang.String className)
Invokes polyglot and gets the AST for the source given in fullPath
|
BiMap |
getAnonClassMap() |
java.util.HashMap<IdentityKey,java.lang.String> |
getAnonTypeMap() |
polyglot.ast.Node |
getAst() |
polyglot.types.ConstructorInstance |
getConstructorForAnon(polyglot.ast.New anonNew) |
java.util.ArrayList |
getHasOuterRefInInit() |
java.util.HashMap<SootClass,InnerClassInfo> |
getInnerClassInfoMap() |
java.util.ArrayList<java.lang.String> |
getInterfacesList() |
AbstractJBBFactory |
getJBBFactory() |
BiMap |
getLocalClassMap() |
java.util.HashMap<IdentityKey,java.lang.String> |
getLocalTypeMap() |
protected int |
getNextAnonNum() |
int |
getNextPrivateAccessCounter() |
java.util.HashMap<IdentityKey,SootMethod> |
getPrivateFieldGetAccessMap() |
java.util.HashMap<IdentityKey,SootMethod> |
getPrivateFieldSetAccessMap() |
java.util.HashMap<IdentityKey,SootMethod> |
getPrivateMethodGetAccessMap() |
boolean |
hasASTForSootName(java.lang.String name)
returns true if there is an AST avail for given soot class
|
boolean |
hasClassInnerTag(SootClass sc,
java.lang.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(java.lang.String name)
sets AST for given soot class if possible
|
void |
setHasOuterRefInInit(java.util.ArrayList list) |
void |
setInnerClassInfoMap(java.util.HashMap<SootClass,InnerClassInfo> map) |
void |
setJBBFactory(AbstractJBBFactory jbbFactory) |
void |
setSpecialAnonMap(java.util.HashMap<SootClass,SootClass> map) |
java.util.HashMap<SootClass,SootClass> |
specialAnonMap() |
static InitialResolver |
v() |
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(java.lang.String name)
public void setASTForSootName(java.lang.String name)
public static InitialResolver v()
public void formAst(java.lang.String fullPath, java.util.List<java.lang.String> locations, java.lang.String className)
formAst
in interface IInitialResolver
public void setAst(polyglot.ast.Node ast)
public polyglot.ast.Node getAst()
protected void addNameToAST(java.lang.String name)
public void resolveAST()
public IInitialResolver.Dependencies resolveFromJavaFile(SootClass sc)
resolveFromJavaFile
in interface IInitialResolver
protected int getNextAnonNum()
public boolean hasClassInnerTag(SootClass sc, java.lang.String innerName)
public boolean isAnonInCCall(polyglot.types.ClassType anonType)
public BiMap getAnonClassMap()
public BiMap getLocalClassMap()
public java.util.HashMap<IdentityKey,java.lang.String> getAnonTypeMap()
public java.util.HashMap<IdentityKey,java.lang.String> getLocalTypeMap()
public java.util.HashMap<IdentityKey,AnonLocalClassInfo> finalLocalInfo()
public int getNextPrivateAccessCounter()
public java.util.ArrayList getHasOuterRefInInit()
public void setHasOuterRefInInit(java.util.ArrayList list)
public void hierarchy(FastHierarchy fh)
public FastHierarchy hierarchy()
public java.util.HashMap<SootClass,InnerClassInfo> getInnerClassInfoMap()
public void setInnerClassInfoMap(java.util.HashMap<SootClass,InnerClassInfo> map)
protected java.util.HashMap<java.lang.String,java.lang.String> classToSourceMap()
public void addToPrivateFieldGetAccessMap(polyglot.ast.Field field, SootMethod meth)
public java.util.HashMap<IdentityKey,SootMethod> getPrivateFieldGetAccessMap()
public void addToPrivateFieldSetAccessMap(polyglot.ast.Field field, SootMethod meth)
public java.util.HashMap<IdentityKey,SootMethod> getPrivateFieldSetAccessMap()
public void addToPrivateMethodGetAccessMap(polyglot.ast.Call call, SootMethod meth)
public java.util.HashMap<IdentityKey,SootMethod> getPrivateMethodGetAccessMap()
public java.util.ArrayList<java.lang.String> getInterfacesList()