Package | Description |
---|---|
soot |
Base Soot classes, shared by different intermediate representations.
|
soot.asm | |
soot.baf |
Public classes for the Baf intermediate representation.
|
soot.baf.internal |
Internal, messy, implementation-specific classes for the Baf intermediate representation.
|
soot.coffi |
Contains classes from the Coffi tool, by Clark Verbrugge.
|
soot.dava | |
soot.dava.toolkits.base.AST.transformations | |
soot.dava.toolkits.base.finders | |
soot.dexpler | |
soot.dexpler.instructions | |
soot.grimp |
Public classes for the Grimp intermediate representation.
|
soot.grimp.internal |
Internal, messy, implementation-specific classes for the Grimp intermediate representation.
|
soot.JastAddJ | |
soot.javaToJimple | |
soot.jbco | |
soot.jbco.jimpleTransformations | |
soot.jbco.util | |
soot.jimple |
Public classes for the Jimple intermediate representation.
|
soot.jimple.internal |
Internal, messy, implementation-specific classes for the Jimple intermediate representation.
|
soot.jimple.parser |
An interface to the Jimple parser.
|
soot.jimple.spark.builder | |
soot.jimple.spark.ondemand.pautil | |
soot.jimple.spark.pag | |
soot.jimple.toolkits.annotation.arraycheck |
Classes that carry out an analysis to determine whether or not array bounds
checks are necessary.
|
soot.jimple.toolkits.base |
A toolkit to optimize the Jimple IR.
|
soot.jimple.toolkits.infoflow | |
soot.jimple.toolkits.invoke |
A toolkit to deal with Jimple and invoke statements.
|
soot.jimple.toolkits.reflection | |
soot.jimple.toolkits.scalar |
A toolkit for scalar optimization of Jimple.
|
soot.jimple.toolkits.thread | |
soot.jimple.toolkits.thread.mhp | |
soot.jimple.toolkits.thread.synchronization | |
soot.jimple.toolkits.typing |
Implements a typing algorithm for Jimple.
|
soot.sootify | |
soot.tagkit |
Classes supporting classfile annotation in Soot.
|
soot.toDex | |
soot.toolkits.graph.pdg | |
soot.toolkits.scalar |
A number of scalar optimizations, and the flow analysis framework.
|
soot.validation | |
soot.xml |
Modifier and Type | Field and Description |
---|---|
protected SootClass |
SootField.declaringClass |
protected SootClass |
SootMethod.declaringClass
Holds the class which declares this
SootClass method. |
protected SootClass |
AbstractTrap.exception
The exception being caught.
|
protected SootClass |
Scene.mainClass |
protected SootClass |
SootClass.outerClass |
protected SootClass |
AbstractASMBackend.sc |
protected SootClass |
SootClass.superClass |
Modifier and Type | Field and Description |
---|---|
protected ArrayNumberer<SootClass> |
Scene.classNumberer |
protected Map<SootClass,List<SootClass>> |
Hierarchy.classToDirSubclasses |
protected Map<SootClass,List<SootClass>> |
Hierarchy.classToDirSubclasses |
protected Map<SootClass,FastHierarchy.Interval> |
FastHierarchy.classToInterval
For each class (NOT interface), this map contains a Interval, which is a pair of numbers giving a preorder and postorder
ordering of classes in the inheritance tree.
|
protected Map<SootClass,List<SootClass>> |
Hierarchy.classToSubclasses |
protected Map<SootClass,List<SootClass>> |
Hierarchy.classToSubclasses |
protected MultiMap<SootClass,SootClass> |
FastHierarchy.classToSubclasses
This map holds all key,value pairs such that value.getSuperclass() == key.
|
protected MultiMap<SootClass,SootClass> |
FastHierarchy.classToSubclasses
This map holds all key,value pairs such that value.getSuperclass() == key.
|
protected MultiMap<SootClass,Type> |
SootResolver.classToTypesHierarchy
Maps each resolved class to a list of all references in it.
|
protected MultiMap<SootClass,Type> |
SootResolver.classToTypesSignature
Maps each resolved class to a list of all references in it.
|
protected List<SootClass> |
SootMethod.exceptions
Declared exceptions thrown by this method.
|
protected Chain<SootClass> |
SootClass.interfaces |
protected MultiMap<SootClass,SootClass> |
FastHierarchy.interfaceToAllImplementers
This map gives, for an interface, all concrete classes that implement that interface and all its subinterfaces, but NOT
their subclasses.
|
protected MultiMap<SootClass,SootClass> |
FastHierarchy.interfaceToAllImplementers
This map gives, for an interface, all concrete classes that implement that interface and all its subinterfaces, but NOT
their subclasses.
|
protected MultiMap<SootClass,SootClass> |
FastHierarchy.interfaceToAllSubinterfaces
This map is a transitive closure of interfaceToSubinterfaces, and each set contains its superinterface itself.
|
protected MultiMap<SootClass,SootClass> |
FastHierarchy.interfaceToAllSubinterfaces
This map is a transitive closure of interfaceToSubinterfaces, and each set contains its superinterface itself.
|
protected Map<SootClass,List<SootClass>> |
Hierarchy.interfaceToDirImplementers |
protected Map<SootClass,List<SootClass>> |
Hierarchy.interfaceToDirImplementers |
protected Map<SootClass,List<SootClass>> |
Hierarchy.interfaceToDirSubinterfaces |
protected Map<SootClass,List<SootClass>> |
Hierarchy.interfaceToDirSubinterfaces |
protected Map<SootClass,List<SootClass>> |
Hierarchy.interfaceToDirSuperinterfaces |
protected Map<SootClass,List<SootClass>> |
Hierarchy.interfaceToDirSuperinterfaces |
protected MultiMap<SootClass,SootClass> |
FastHierarchy.interfaceToImplementers
This map holds all key,value pairs such that value is a class (NOT an interface) and key is in value.getInterfaces().
|
protected MultiMap<SootClass,SootClass> |
FastHierarchy.interfaceToImplementers
This map holds all key,value pairs such that value is a class (NOT an interface) and key is in value.getInterfaces().
|
protected Map<SootClass,List<SootClass>> |
Hierarchy.interfaceToSubinterfaces |
protected Map<SootClass,List<SootClass>> |
Hierarchy.interfaceToSubinterfaces |
protected MultiMap<SootClass,SootClass> |
FastHierarchy.interfaceToSubinterfaces
This map holds all key,value pairs such that value is an interface and key is in value.getInterfaces().
|
protected MultiMap<SootClass,SootClass> |
FastHierarchy.interfaceToSubinterfaces
This map holds all key,value pairs such that value is an interface and key is in value.getInterfaces().
|
protected Map<SootClass,List<SootClass>> |
Hierarchy.interfaceToSuperinterfaces |
protected Map<SootClass,List<SootClass>> |
Hierarchy.interfaceToSuperinterfaces |
ArrayList<SootClass> |
G.SootClassNeedsDavaSuperHandlerClass |
Modifier and Type | Method and Description |
---|---|
SootClass |
SootMethodRef.declaringClass()
Deprecated.
|
SootClass |
SootFieldRef.declaringClass() |
SootClass |
SootMethodRefImpl.declaringClass() |
SootClass |
AbstractSootFieldRef.declaringClass() |
SootClass |
Scene.forceResolve(String className,
int level) |
SootClass |
SootMethodInterface.getDeclaringClass() |
SootClass |
SootField.getDeclaringClass() |
SootClass |
SootMethodRefImpl.getDeclaringClass() |
SootClass |
ClassMember.getDeclaringClass()
Returns the SootClass declaring this one.
|
SootClass |
SootMethod.getDeclaringClass()
Returns the class which declares the current
SootMethod . |
SootClass |
Trap.getException()
Returns the exception being caught.
|
SootClass |
AbstractTrap.getException() |
SootClass |
Hierarchy.getLeastCommonSuperclassOf(SootClass c1,
SootClass c2)
Returns the most specific type which is an ancestor of both c1 and c2.
|
SootClass |
Scene.getMainClass() |
SootClass |
SootClass.getOuterClass() |
SootClass |
SootClass.getOuterClassUnsafe()
This method returns the outer class, or null if no outer class has been specified for this class.
|
SootClass |
RefType.getSootClass()
Get the SootClass object corresponding to this RefType.
|
SootClass |
Scene.getSootClass(String className)
Returns the SootClass with the given className.
|
SootClass |
Scene.getSootClassUnsafe(String className)
Returns the SootClass with the given className.
|
SootClass |
Scene.getSootClassUnsafe(String className,
boolean phantomNonExist)
Returns the SootClass with the given className.
|
SootClass |
SootClass.getSuperclass()
WARNING: interfaces are subclasses of the java.lang.Object class! Returns the superclass of this class.
|
SootClass |
SootClass.getSuperclassUnsafe()
This method returns the superclass, or null if no superclass has been specified for this class.
|
SootClass |
Scene.loadClass(String className,
int desiredLevel) |
SootClass |
Scene.loadClassAndSupport(String className)
Loads the given class and all of the required support classes.
|
SootClass |
SootResolver.makeClassRef(String className)
Returns a (possibly not yet resolved) SootClass to be used in references to a class.
|
SootClass |
Scene.makeSootClass(String name) |
SootClass |
Scene.makeSootClass(String name,
int modifiers) |
SootClass |
SootResolver.resolveClass(String className,
int desiredLevel)
Resolves the given class.
|
SootClass |
Scene.tryLoadClass(String className,
int desiredLevel)
Attempts to load the given class and all of the required support classes.
|
Modifier and Type | Method and Description |
---|---|
Collection<SootClass> |
Scene.dynamicClasses() |
Set<SootClass> |
FastHierarchy.getAllImplementersOfInterface(SootClass parent)
For an interface parent (MUST be an interface), returns set of all implementers of it but NOT their subclasses.
|
Set<SootClass> |
FastHierarchy.getAllSubinterfaces(SootClass parent)
For an interface parent (MUST be an interface), returns set of all subinterfaces.
|
Chain<SootClass> |
Scene.getApplicationClasses()
Returns a chain of the application classes in this scene.
|
Chain<SootClass> |
Scene.getClasses()
Returns an backed chain of the classes in this manager.
|
List<SootClass> |
Scene.getClasses(int desiredLevel)
Returns the list of SootClasses that have been resolved at least to the level specified.
|
ArrayNumberer<SootClass> |
Scene.getClassNumberer() |
List<SootClass> |
Hierarchy.getDirectImplementersOf(SootClass i)
Returns a list of direct implementers of c, excluding itself.
|
List<SootClass> |
Hierarchy.getDirectSubclassesOf(SootClass c)
Returns a list of direct subclasses of c, excluding c.
|
List<SootClass> |
Hierarchy.getDirectSubclassesOfIncluding(SootClass c)
Returns a list of direct subclasses of c, including c.
|
List<SootClass> |
Hierarchy.getDirectSubinterfacesOf(SootClass c)
Returns a list of direct subinterfaces of c.
|
List<SootClass> |
Hierarchy.getDirectSubinterfacesOfIncluding(SootClass c)
Returns a list of direct subinterfaces of c, including itself.
|
List<SootClass> |
Hierarchy.getDirectSuperclassesOf(SootClass c)
Returns a list of direct superclasses of c, excluding c.
|
List<SootClass> |
Hierarchy.getDirectSuperinterfacesOf(SootClass c)
Returns a list of direct superinterfaces of c.
|
List<SootClass> |
SootMethod.getExceptions()
Returns a backed list of the exceptions thrown by this method.
|
List<SootClass> |
SootMethod.getExceptionsUnsafe() |
List<SootClass> |
Hierarchy.getImplementersOf(SootClass i)
Returns a list of implementers of c, excluding itself.
|
Chain<SootClass> |
SootClass.getInterfaces()
Returns a backed Chain of the interfaces that are directly implemented by this class.
|
Chain<SootClass> |
Scene.getLibraryClasses()
Returns a chain of the library classes in this scene.
|
Chain<SootClass> |
Scene.getPhantomClasses()
Returns a chain of the phantom classes in this scene.
|
List<SootClass> |
Hierarchy.getSubclassesOf(SootClass c)
Returns a list of subclasses of c, excluding itself.
|
Collection<SootClass> |
FastHierarchy.getSubclassesOf(SootClass c)
Gets the direct subclasses of a given class.
|
List<SootClass> |
Hierarchy.getSubclassesOfIncluding(SootClass c)
Returns a list of subclasses of c, including itself.
|
List<SootClass> |
Hierarchy.getSubinterfacesOf(SootClass sootClass)
Returns a list of subinterfaces of sootClass, excluding itself.
|
List<SootClass> |
Hierarchy.getSubinterfacesOfIncluding(SootClass sootClass)
Returns a list of subinterfaces of sootClass, including itself.
|
List<SootClass> |
Hierarchy.getSuperclassesOf(SootClass sootClass)
Returns a list of direct superclasses of passed class in reverse order, starting with its parent.
|
List<SootClass> |
Hierarchy.getSuperclassesOfIncluding(SootClass sootClass)
Returns a list of superclasses of
sootClass , including itself. |
List<SootClass> |
Hierarchy.getSuperinterfacesOf(SootClass c)
Returns a list of superinterfaces of c, excluding itself.
|
List<SootClass> |
Hierarchy.getSuperinterfacesOfIncluding(SootClass c)
Returns a list of superinterfaces of c, including itself.
|
Modifier and Type | Method and Description |
---|---|
void |
Scene.addClass(SootClass c)
Adds the given class to the Scene.
|
protected void |
Scene.addClassSilent(SootClass c)
Adds the given class to the Scene.
|
void |
SootMethod.addException(SootClass e)
Adds the given exception to the list of exceptions thrown by this method.
|
void |
SootMethod.addExceptionIfAbsent(SootClass e)
Adds the given exception to the list of exceptions thrown by this method unless the exception is already in the list.
|
void |
SootClass.addInterface(SootClass interfaceClass)
Add the given class to the list of interfaces which are directly implemented by this class.
|
protected void |
EntryPoints.addMethod(List<SootMethod> set,
SootClass cls,
NumberedString methodSubSig) |
protected void |
SootResolver.addToResolveWorklist(SootClass sc,
int desiredLevel) |
protected void |
SootResolver.bringToBodies(SootClass sc)
Bodies - we can now start loading the bodies of methods for all referred to methods and fields in the bodies, requires
signatures for the method receiver and field container, and hierarchy for all other classes referenced in method
references.
|
protected void |
SootResolver.bringToBodiesUnchecked(SootClass sc) |
protected void |
SootResolver.bringToHierarchy(SootClass sc)
Hierarchy - we know the hierarchy of the class and that's it requires at least Hierarchy for all supertypes and
enclosing types.
|
protected void |
SootResolver.bringToHierarchyUnchecked(SootClass sc) |
protected void |
SootResolver.bringToSignatures(SootClass sc)
Signatures - we know the signatures of all methods and fields requires at least Hierarchy for all referred to types in
these signatures.
|
protected void |
SootResolver.bringToSignaturesUnchecked(SootClass sc) |
boolean |
FastHierarchy.canStoreClass(SootClass child,
SootClass parent)
Given an object of declared type child, returns true if the object can be stored in a variable of type parent.
|
protected boolean |
FastHierarchy.canStoreClassClassic(SootClass child,
SootClass parent)
"Classic" implementation using the intuitive approach (without using
FastHierarchy.Interval ) to check whether
child can be stored in a type of parent : |
Iterable<SootMethod> |
EntryPoints.clinitsOf(SootClass cl)
Returns a list of all clinits of class cl and its superclasses.
|
protected BafASMBackend |
PackManager.createASMBackend(SootClass c)
Factory method for creating a new backend on top of ASM.
|
protected int |
FastHierarchy.dfsVisit(int start,
SootClass c) |
Set<SootClass> |
FastHierarchy.getAllImplementersOfInterface(SootClass parent)
For an interface parent (MUST be an interface), returns set of all implementers of it but NOT their subclasses.
|
Set<SootClass> |
FastHierarchy.getAllSubinterfaces(SootClass parent)
For an interface parent (MUST be an interface), returns set of all subinterfaces.
|
List<SootClass> |
Hierarchy.getDirectImplementersOf(SootClass i)
Returns a list of direct implementers of c, excluding itself.
|
List<SootClass> |
Hierarchy.getDirectSubclassesOf(SootClass c)
Returns a list of direct subclasses of c, excluding c.
|
List<SootClass> |
Hierarchy.getDirectSubclassesOfIncluding(SootClass c)
Returns a list of direct subclasses of c, including c.
|
List<SootClass> |
Hierarchy.getDirectSubinterfacesOf(SootClass c)
Returns a list of direct subinterfaces of c.
|
List<SootClass> |
Hierarchy.getDirectSubinterfacesOfIncluding(SootClass c)
Returns a list of direct subinterfaces of c, including itself.
|
List<SootClass> |
Hierarchy.getDirectSuperclassesOf(SootClass c)
Returns a list of direct superclasses of c, excluding c.
|
List<SootClass> |
Hierarchy.getDirectSuperinterfacesOf(SootClass c)
Returns a list of direct superinterfaces of c.
|
String |
SourceLocator.getFileNameFor(SootClass c,
int rep) |
List<SootClass> |
Hierarchy.getImplementersOf(SootClass i)
Returns a list of implementers of c, excluding itself.
|
SootClass |
Hierarchy.getLeastCommonSuperclassOf(SootClass c1,
SootClass c2)
Returns the most specific type which is an ancestor of both c1 and c2.
|
static String |
SootField.getSignature(SootClass cl,
String subSignature) |
static String |
SootMethod.getSignature(SootClass cl,
String subSignature) |
static String |
SootMethod.getSignature(SootClass cl,
String name,
List<Type> params,
Type returnType) |
static String |
SootField.getSignature(SootClass cl,
String name,
Type type) |
List<SootClass> |
Hierarchy.getSubclassesOf(SootClass c)
Returns a list of subclasses of c, excluding itself.
|
Collection<SootClass> |
FastHierarchy.getSubclassesOf(SootClass c)
Gets the direct subclasses of a given class.
|
List<SootClass> |
Hierarchy.getSubclassesOfIncluding(SootClass c)
Returns a list of subclasses of c, including itself.
|
List<SootClass> |
Hierarchy.getSubinterfacesOf(SootClass sootClass)
Returns a list of subinterfaces of sootClass, excluding itself.
|
List<SootClass> |
Hierarchy.getSubinterfacesOfIncluding(SootClass sootClass)
Returns a list of subinterfaces of sootClass, including itself.
|
List<SootClass> |
Hierarchy.getSuperclassesOf(SootClass sootClass)
Returns a list of direct superclasses of passed class in reverse order, starting with its parent.
|
List<SootClass> |
Hierarchy.getSuperclassesOfIncluding(SootClass sootClass)
Returns a list of superclasses of
sootClass , including itself. |
List<SootClass> |
Hierarchy.getSuperinterfacesOf(SootClass c)
Returns a list of superinterfaces of c, excluding itself.
|
List<SootClass> |
Hierarchy.getSuperinterfacesOfIncluding(SootClass c)
Returns a list of superinterfaces of c, including itself.
|
boolean |
Hierarchy.isClassDirectSubclassOf(SootClass c,
SootClass c2)
Returns true if child is a direct subclass of possibleParent.
|
boolean |
Hierarchy.isClassSubclassOf(SootClass child,
SootClass possibleParent)
Returns true if child is a subclass of possibleParent.
|
boolean |
Hierarchy.isClassSubclassOfIncluding(SootClass child,
SootClass possibleParent)
Returns true if child is, or is a subclass of, possibleParent.
|
boolean |
Hierarchy.isClassSuperclassOf(SootClass parent,
SootClass possibleChild)
Returns true if child is a superclass of possibleParent.
|
boolean |
Hierarchy.isClassSuperclassOfIncluding(SootClass parent,
SootClass possibleChild)
Returns true if parent is, or is a superclass of, possibleChild.
|
static boolean |
TrapManager.isExceptionCaughtAt(SootClass e,
Unit u,
Body b)
If exception e is caught at unit u in body b, return true; otherwise, return false.
|
boolean |
Scene.isExcluded(SootClass sc) |
boolean |
Scene.isIncluded(SootClass sc) |
boolean |
Hierarchy.isInterfaceDirectSubinterfaceOf(SootClass child,
SootClass possibleParent)
Returns true if child is a direct subinterface of possibleParent.
|
boolean |
Hierarchy.isInterfaceDirectSuperinterfaceOf(SootClass parent,
SootClass possibleChild)
Returns true if parent is a direct superinterface of possibleChild.
|
boolean |
Hierarchy.isInterfaceSubinterfaceOf(SootClass child,
SootClass possibleParent)
Returns true if child is a subinterface of possibleParent.
|
boolean |
Hierarchy.isInterfaceSuperinterfaceOf(SootClass parent,
SootClass possibleChild)
Returns true if parent is a superinterface of possibleChild.
|
boolean |
FastHierarchy.isSubclass(SootClass child,
SootClass parent)
Return true if class child is a subclass of class parent, neither of them being allowed to be interfaces.
|
boolean |
Hierarchy.isVisible(SootClass from,
ClassMember m)
Returns true if the classmember m is visible from code in the class from.
|
boolean |
Hierarchy.isVisible(SootClass from,
SootClass check)
Checks whether check is a visible class in view of the from class.
|
SootMethodRef |
Scene.makeConstructorRef(SootClass declaringClass,
List<Type> parameterTypes)
Create an unresolved reference to a constructor.
|
SootFieldRef |
Scene.makeFieldRef(SootClass declaringClass,
String name,
Type type,
boolean isStatic)
Create an unresolved reference to a field.
|
SootMethodRef |
Scene.makeMethodRef(SootClass declaringClass,
String name,
List<Type> parameterTypes,
Type returnType,
boolean isStatic)
Create an unresolved reference to a method.
|
void |
XMLAttributesPrinter.printAttrs(SootClass c) |
void |
XMLAttributesPrinter.printAttrs(SootClass c,
TagCollector tc) |
void |
Printer.printTo(SootClass cl,
PrintWriter out) |
void |
Scene.removeClass(SootClass c) |
void |
SootMethod.removeException(SootClass e)
Removes the given exception from the list of exceptions thrown by this method.
|
void |
SootClass.removeInterface(SootClass interfaceClass)
Removes the given class from the list of interfaces which are directly implemented by this class.
|
void |
SootResolver.reResolve(SootClass cl) |
void |
SootResolver.reResolve(SootClass cl,
int newResolvingLevel) |
void |
SootResolver.reResolveHierarchy(SootClass sc,
int level) |
IInitialResolver.Dependencies |
JavaClassSource.resolve(SootClass sc) |
IInitialResolver.Dependencies |
CoffiClassSource.resolve(SootClass sc) |
IInitialResolver.Dependencies |
DexClassSource.resolve(SootClass sc)
Resolve dependencies of class.
|
abstract IInitialResolver.Dependencies |
ClassSource.resolve(SootClass sc)
Resolve the class into the SootClass sc.
|
IInitialResolver.Dependencies |
JimpleClassSource.resolve(SootClass sc) |
List<SootMethod> |
Hierarchy.resolveAbstractDispatch(SootClass c,
SootMethod m)
Given an abstract dispatch to an object of type c and a method m, gives a list of possible receiver methods.
|
Set<SootMethod> |
FastHierarchy.resolveAbstractDispatch(SootClass abstractType,
SootMethod m)
Given an object of declared type C, returns the methods which could be called on an o.f() invocation.
|
SootMethod |
Hierarchy.resolveConcreteDispatch(SootClass concreteType,
SootMethod m)
Given an object of actual type C (o = new C()), returns the method which will be called on an o.f() invocation.
|
SootMethod |
FastHierarchy.resolveConcreteDispatch(SootClass concreteType,
SootMethod m)
Given an object of actual type C (o = new C()), returns the method which will be called on an o.f() invocation.
|
IInitialResolver.Dependencies |
JastAddInitialResolver.resolveFromJavaFile(SootClass sootclass) |
void |
SootField.setDeclaringClass(SootClass sc) |
void |
SootMethod.setDeclaringClass(SootClass declClass)
Sets the declaring class
|
void |
Trap.setException(SootClass exception)
Sets the exception being caught to
exception . |
void |
AbstractTrap.setException(SootClass exception) |
void |
Scene.setMainClass(SootClass m) |
void |
SootClass.setOuterClass(SootClass c) |
void |
RefType.setSootClass(SootClass sootClass)
Set the SootClass object corresponding to this RefType.
|
void |
SootClass.setSuperclass(SootClass c)
Sets the superclass of this class.
|
boolean |
SootMethod.throwsException(SootClass e)
Returns true if this method throws exception
e . |
static RefType |
RefType.v(SootClass c)
Create a RefType for a class.
|
protected void |
PackManager.writeClass(SootClass c) |
Modifier and Type | Method and Description |
---|---|
protected void |
Hierarchy.initializeHierarchy(Chain<SootClass> allClasses)
Initializes the hierarchy given a chain of all classes that shall be included in the hierarchy
|
SootMethod |
Scene.makeSootMethod(String name,
List<Type> parameterTypes,
Type returnType,
int modifiers,
List<SootClass> thrownExceptions) |
List<SootMethod> |
Hierarchy.resolveAbstractDispatch(List<SootClass> classes,
SootMethod m)
Returns a list of possible targets for the given method and set of receiver types.
|
void |
SootMethod.setExceptions(List<SootClass> exceptions) |
protected void |
PackManager.writeOutput(Iterator<SootClass> classes) |
Constructor and Description |
---|
AbstractASMBackend(SootClass sc,
int javaVersion)
Creates a new ASM backend
|
AbstractJasminClass(SootClass sootClass) |
AbstractSootFieldRef(SootClass declaringClass,
String name,
Type type,
boolean isStatic) |
AbstractTrap(SootClass exception,
UnitBox beginUnitBox,
UnitBox endUnitBox,
UnitBox handlerUnitBox)
Creates an AbstractTrap with the given exception, handler, begin and end units.
|
SootMethodRefImpl(SootClass declaringClass,
String name,
List<Type> parameterTypes,
Type returnType,
boolean isStatic) |
Constructor and Description |
---|
SootMethod(String name,
List<Type> parameterTypes,
Type returnType,
int modifiers,
List<SootClass> thrownExceptions)
Constructs a
SootMethod with the given name, parameter types, return type, and list of thrown exceptions. |
Modifier and Type | Method and Description |
---|---|
static String |
AsmUtil.toInternalName(SootClass cls)
Determines and returns the internal name of a class.
|
Modifier and Type | Method and Description |
---|---|
Trap |
Baf.newTrap(SootClass exception,
Unit beginUnit,
Unit endUnit,
Unit handlerUnit)
Constructs a new BTrap for the given exception on the given Unit range with the given Unit handler.
|
Constructor and Description |
---|
BafASMBackend(SootClass sc,
int javaVersion)
Creates a new BafASMBackend with a given enforced java version
|
JasminClass(SootClass sootClass) |
Constructor and Description |
---|
BTrap(SootClass exception,
Unit beginStmt,
Unit endStmt,
Unit handlerStmt) |
Modifier and Type | Method and Description |
---|---|
void |
Util.resolveFromClassFile(SootClass aClass,
InputStream is,
String filePath,
Collection<Type> references) |
Modifier and Type | Method and Description |
---|---|
void |
DavaPrinter.printTo(SootClass cl,
PrintWriter out) |
void |
DavaStaticBlockCleaner.staticBlockInlining(SootClass sootClass) |
Modifier and Type | Method and Description |
---|---|
static void |
RemoveEmptyBodyDefaultConstructor.checkAndRemoveDefault(SootClass s) |
static void |
VoidReturnRemover.cleanClass(SootClass s) |
Modifier and Type | Method and Description |
---|---|
SootClass |
ExceptionNode.get_Exception() |
SootClass |
ExceptionNode.get_Exception(IterableSet<AugmentedStmt> catchBody) |
Modifier and Type | Method and Description |
---|---|
Map<IterableSet<AugmentedStmt>,SootClass> |
ExceptionNode.get_ExceptionMap() |
Modifier and Type | Method and Description |
---|---|
void |
ExceptionNode.add_CatchBody(IterableSet<AugmentedStmt> newCatchBody,
SootClass except) |
Constructor and Description |
---|
ExceptionNode(IterableSet<AugmentedStmt> tryBody,
SootClass exception,
AugmentedStmt handlerAugmentedStmt) |
Modifier and Type | Field and Description |
---|---|
protected SootClass |
DexMethod.declaringClass |
Modifier and Type | Method and Description |
---|---|
protected List<SootClass> |
DexMethod.getThrownExceptions(org.jf.dexlib2.iface.Method method) |
Modifier and Type | Method and Description |
---|---|
protected static void |
DexResolver.addSourceFileTag(SootClass sc,
String fileName)
adds source file tag to each sootclass
|
protected DexAnnotation |
DexClassLoader.createDexAnnotation(SootClass clazz,
IInitialResolver.Dependencies deps)
Allow custom implementations to use different dex annotation implementations
|
protected DexMethod |
DexClassLoader.createDexMethodFactory(org.jf.dexlib2.iface.DexFile dexFile,
SootClass sc)
Allow custom implementations to use different dex method factories
|
protected void |
DexClassLoader.loadField(SootClass declaringClass,
DexAnnotation annotations,
org.jf.dexlib2.iface.Field sf)
Loads a single field from a dex file
|
protected void |
DexClassLoader.loadMethod(org.jf.dexlib2.iface.Method method,
SootClass declaringClass,
DexAnnotation annotations,
DexMethod dexMethodFactory)
Loads a single method from a dex file
|
IInitialResolver.Dependencies |
DexClassLoader.makeSootClass(SootClass sc,
org.jf.dexlib2.iface.ClassDef defItem,
org.jf.dexlib2.iface.DexFile dexFile) |
IInitialResolver.Dependencies |
DexlibWrapper.makeSootClass(SootClass sc,
String className) |
IInitialResolver.Dependencies |
DexResolver.resolveFromFile(File file,
String className,
SootClass sc)
Resolve the class contained in file into the passed soot class.
|
Constructor and Description |
---|
DexAnnotation(SootClass clazz,
IInitialResolver.Dependencies deps) |
DexMethod(org.jf.dexlib2.iface.DexFile dexFile,
SootClass declaringClass) |
Modifier and Type | Method and Description |
---|---|
protected SootClass |
MethodInvocationInstruction.convertClassName(String name,
MethodHandle.Kind kind)
Converts a given string class name into a SootClass.
|
Modifier and Type | Method and Description |
---|---|
protected SootFieldRef |
MethodInvocationInstruction.getSootFieldRef(SootClass sc,
String name,
String type,
MethodHandle.Kind kind)
Return a SootFieldRef for the given data.
|
protected SootMethodRef |
MethodInvocationInstruction.getSootMethodRef(SootClass sc,
String name,
String returnType,
List<? extends CharSequence> paramTypes,
MethodHandle.Kind kind)
Return a SootMethodRef for the given data.
|
Modifier and Type | Method and Description |
---|---|
Trap |
Grimp.newTrap(SootClass exception,
Unit beginStmt,
Unit endStmt,
Unit handlerStmt)
Constructs a new Trap for the given exception on the given Stmt range with the given Stmt handler.
|
Constructor and Description |
---|
GTrap(SootClass exception,
Unit beginStmt,
Unit endStmt,
Unit handlerStmt) |
Modifier and Type | Field and Description |
---|---|
protected SootClass |
ArrayDecl.getSootClassDecl_value |
protected SootClass |
AbstractWildcardType.getSootClassDecl_value |
protected SootClass |
LUBType.getSootClassDecl_value |
protected SootClass |
TypeDecl.getSootClassDecl_value |
protected SootClass |
GLBType.getSootClassDecl_value |
protected SootClass |
InterfaceDecl.sootClass_value |
protected SootClass |
ClassDecl.sootClass_value |
protected SootClass |
TypeDecl.sootClass_value |
Modifier and Type | Method and Description |
---|---|
SootClass |
ArrayDecl.getSootClassDecl() |
SootClass |
AbstractWildcardType.getSootClassDecl() |
SootClass |
LUBType.getSootClassDecl() |
SootClass |
TypeDecl.getSootClassDecl() |
SootClass |
GLBType.getSootClassDecl() |
SootClass |
InterfaceDecl.sootClass() |
SootClass |
ClassDecl.sootClass() |
SootClass |
TypeDecl.sootClass() |
Modifier and Type | Method and Description |
---|---|
SootClass |
InnerClassInfo.getOuterClass() |
Modifier and Type | Method and Description |
---|---|
HashMap<SootClass,InnerClassInfo> |
InitialResolver.getInnerClassInfoMap() |
HashMap<SootClass,SootClass> |
InitialResolver.specialAnonMap() |
HashMap<SootClass,SootClass> |
InitialResolver.specialAnonMap() |
Modifier and Type | Method and Description |
---|---|
static void |
Util.addInnerClassTag(SootClass sc,
String innerName,
String outerName,
String simpleName,
int access) |
protected void |
ClassResolver.addSourceFileTag(SootClass sc)
adds source file tag to each sootclass
|
static String |
Util.getSourceFileOfClass(SootClass sootClass) |
boolean |
InitialResolver.hasClassInnerTag(SootClass sc,
String innerName) |
IInitialResolver.Dependencies |
IInitialResolver.resolveFromJavaFile(SootClass sc) |
IInitialResolver.Dependencies |
InitialResolver.resolveFromJavaFile(SootClass sc) |
Modifier and Type | Method and Description |
---|---|
void |
InitialResolver.setInnerClassInfoMap(HashMap<SootClass,InnerClassInfo> map) |
void |
InitialResolver.setSpecialAnonMap(HashMap<SootClass,SootClass> map) |
void |
InitialResolver.setSpecialAnonMap(HashMap<SootClass,SootClass> map) |
Constructor and Description |
---|
ClassResolver(SootClass sootClass,
Set<Type> set) |
InnerClassInfo(SootClass outerClass,
String simpleName,
int innerType) |
PrivateFieldAccMethodSource(Type fieldType,
String fieldName,
boolean isStatic,
SootClass classToInvoke) |
Modifier and Type | Field and Description |
---|---|
static List<SootClass> |
Main.IntermediateAppClasses |
Modifier and Type | Field and Description |
---|---|
static Map<SootClass,SootField> |
FieldRenamer.opaquePreds1ByClass |
static Map<SootClass,SootField> |
FieldRenamer.opaquePreds2ByClass |
Modifier and Type | Method and Description |
---|---|
protected void |
FieldRenamer.setBooleanTo(SootClass sc,
SootField f,
boolean value) |
Modifier and Type | Method and Description |
---|---|
static SootClass |
ThrowSet.getRandomThrowable() |
Modifier and Type | Method and Description |
---|---|
static List<SootClass> |
HierarchyUtils.getAllInterfacesOf(SootClass sc)
Get whole tree of interfaces on
Scene for class/interface. |
Modifier and Type | Method and Description |
---|---|
static List<SootClass> |
HierarchyUtils.getAllInterfacesOf(SootClass sc)
Get whole tree of interfaces on
Scene for class/interface. |
Modifier and Type | Method and Description |
---|---|
protected void |
ReachingTypeDumper.handleClass(PrintWriter out,
SootClass c) |
void |
JimpleBody.insertIdentityStmts(SootClass declaringClass)
Inserts usual statements for handling this & parameters into body.
|
Trap |
Jimple.newTrap(SootClass exception,
UnitBox beginStmt,
UnitBox endStmt,
UnitBox handlerStmt) |
Trap |
Jimple.newTrap(SootClass exception,
Unit beginStmt,
Unit endStmt,
Unit handlerStmt)
Constructs a new JTrap for the given exception on the given Stmt range with the given Stmt handler.
|
Constructor and Description |
---|
JasminClass(SootClass sootClass) |
Constructor and Description |
---|
JTrap(SootClass exception,
UnitBox beginStmt,
UnitBox endStmt,
UnitBox handlerStmt) |
JTrap(SootClass exception,
Unit beginStmt,
Unit endStmt,
Unit handlerStmt) |
Modifier and Type | Method and Description |
---|---|
SootClass |
JimpleAST.createSootClass()
Reads an entire class from jimple, creates the Soot objects & returns it.
|
SootClass |
Walker.getSootClass() |
static SootClass |
Parse.parse(InputStream istream,
SootClass sc)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
void |
JimpleAST.getSkeleton(SootClass sc)
Applies a SkeletonExtractorWalker to the given SootClass, using the given Resolver to resolve the reference types it
contains.
|
static SootClass |
Parse.parse(InputStream istream,
SootClass sc)
Deprecated.
|
Constructor and Description |
---|
BodyExtractorWalker(SootClass sc,
SootResolver resolver,
Map<SootMethod,JimpleBody> methodToParsedBodyMap)
Constructs a walker, and attaches it to the given SootClass, sending bodies to the given methodToParsedBodyMap.
|
SkeletonExtractorWalker(SootResolver aResolver,
SootClass aSootClass) |
Walker(SootClass sc,
SootResolver resolver) |
Modifier and Type | Method and Description |
---|---|
protected void |
ContextInsensitiveBuilder.handleClass(SootClass c) |
Modifier and Type | Method and Description |
---|---|
static boolean |
SootUtil.hasRecursiveField(SootClass sootClass) |
Modifier and Type | Method and Description |
---|---|
SootClass |
GlobalVarNode.getDeclaringClass() |
Modifier and Type | Method and Description |
---|---|
protected void |
ClassFieldAnalysis.internalTransform(SootClass c) |
Modifier and Type | Method and Description |
---|---|
SootClass |
ExceptionCheckerError.excType() |
Modifier and Type | Method and Description |
---|---|
void |
ExceptionCheckerError.excType(SootClass sc) |
protected boolean |
ExceptionChecker.isThrowDeclared(Body b,
SootClass throwClass) |
Constructor and Description |
---|
ExceptionCheckerError(SootMethod m,
SootClass sc,
Stmt s,
SourceLnPosTag pos) |
Modifier and Type | Method and Description |
---|---|
static List<SootField> |
ClassLocalObjectsAnalysis.getAllFields(SootClass sc) |
List<SootMethod> |
LocalObjectsAnalysis.getAllMethodsForClass(SootClass sootClass) |
static List<SootMethod> |
ClassLocalObjectsAnalysis.getAllReachableMethods(SootClass sc) |
ClassLocalObjectsAnalysis |
LocalObjectsAnalysis.getClassLocalObjectsAnalysis(SootClass sc) |
List |
UseFinder.getExtCalls(SootClass sc) |
List |
UseFinder.getExtFieldAccesses(SootClass sc) |
List<SootField> |
UseFinder.getExtFields(SootClass sc) |
List<SootMethod> |
UseFinder.getExtMethods(SootClass sc) |
List |
UseFinder.getIntCalls(SootClass sc) |
List |
UseFinder.getIntFieldAccesses(SootClass sc) |
protected ClassLocalObjectsAnalysis |
LocalObjectsAnalysis.newClassLocalObjectsAnalysis(LocalObjectsAnalysis loa,
InfoFlowAnalysis dfa,
UseFinder uf,
SootClass sc) |
Constructor and Description |
---|
ClassInfoFlowAnalysis(SootClass sootClass,
InfoFlowAnalysis dfa) |
ClassLocalObjectsAnalysis(LocalObjectsAnalysis loa,
InfoFlowAnalysis dfa,
InfoFlowAnalysis primitiveDfa,
UseFinder uf,
SootClass sootClass,
List<SootMethod> entryMethods) |
ClassLocalObjectsAnalysis(LocalObjectsAnalysis loa,
InfoFlowAnalysis dfa,
UseFinder uf,
SootClass sootClass) |
Modifier and Type | Field and Description |
---|---|
HashMap<SootClass,SootField> |
SynchronizerManager.classToClassField
Maps classes to class$ fields.
|
Modifier and Type | Method and Description |
---|---|
SootMethod |
SynchronizerManager.createClassFetcherFor(SootClass c,
String methodName)
Creates a method which calls java.lang.Class.forName(String).
|
static boolean |
AccessManager.ensureAccess(SootMethod container,
SootClass target,
String options)
Modifies code so that an access to
target is legal from code in container . |
SootMethod |
SynchronizerManager.getClassFetcherFor(SootClass c)
Finds a method which calls java.lang.Class.forName(String).
|
static boolean |
AccessManager.isAccessLegal(SootMethod container,
SootClass target)
Returns true if an access to
target is legal from code in container . |
Modifier and Type | Method and Description |
---|---|
Set<SootClass> |
ReflectionTraceInfo.classForNameClasses(SootMethod container) |
Set<SootClass> |
ReflectionTraceInfo.classNewInstanceClasses(SootMethod container) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
AbstractStaticnessCorrector.isClassLoaded(SootClass sc) |
Modifier and Type | Method and Description |
---|---|
protected ClassLocalObjectsAnalysis |
ThreadLocalObjectsAnalysis.newClassLocalObjectsAnalysis(LocalObjectsAnalysis loa,
InfoFlowAnalysis dfa,
UseFinder uf,
SootClass sc) |
Modifier and Type | Method and Description |
---|---|
List<SootClass> |
SynchObliviousMhpAnalysis.getThreadClassList() |
Modifier and Type | Method and Description |
---|---|
SootClass |
NewStaticLock.getLockClass() |
Constructor and Description |
---|
DeadlockAvoidanceEdge(SootClass sc) |
NewStaticLock(SootClass sc) |
Modifier and Type | Method and Description |
---|---|
soot.jimple.toolkits.typing.TypeVariableBV |
TypeResolverBV.typeVariable(SootClass sootClass)
Deprecated.
Get type variable for the given soot class.
|
soot.jimple.toolkits.typing.TypeVariable |
TypeResolver.typeVariable(SootClass sootClass)
Get type variable for the given soot class.
|
Modifier and Type | Method and Description |
---|---|
void |
TemplatePrinter.printTo(SootClass c,
PrintWriter out) |
Modifier and Type | Method and Description |
---|---|
SootClass |
OuterClassTag.getOuterClass() |
Constructor and Description |
---|
OuterClassTag(SootClass outer,
String simpleName,
boolean anon) |
Modifier and Type | Method and Description |
---|---|
protected SootClass |
StmtVisitor.getBelongingClass() |
Modifier and Type | Method and Description |
---|---|
void |
DexPrinter.add(SootClass c) |
protected void |
DexPrinter.writeMemberClasses(SootClass c,
Set<String> skipList,
Set<org.jf.dexlib2.iface.Annotation> annotations) |
Modifier and Type | Field and Description |
---|---|
protected SootClass |
HashMutablePDG.m_class |
protected SootClass |
RegionAnalysis.m_class |
Modifier and Type | Method and Description |
---|---|
SootClass |
Region.getSootClass() |
SootClass |
IRegion.getSootClass() |
SootClass |
PDGRegion.getSootClass() |
Constructor and Description |
---|
PDGRegion(int id,
List<PDGNode> nodes,
SootMethod m,
SootClass c,
UnitGraph ug,
PDGNode node) |
PDGRegion(int id,
SootMethod m,
SootClass c,
UnitGraph ug,
PDGNode node) |
Region(int id,
List<Block> blocks,
SootMethod m,
SootClass c,
UnitGraph ug) |
Region(int id,
SootMethod m,
SootClass c,
UnitGraph ug) |
RegionAnalysis(UnitGraph cfg,
SootMethod m,
SootClass c) |
Modifier and Type | Method and Description |
---|---|
void |
ConstantValueToInitializerTransformer.transformClass(SootClass sc) |
void |
ConstantInitializerToTagTransformer.transformClass(SootClass sc,
boolean removeAssignments)
Transforms the given class, i.e.
|
Modifier and Type | Method and Description |
---|---|
void |
ClassValidator.validate(SootClass sc,
List<ValidationException> exceptions)
Validates the given class and saves all validation errors in the given list.
|
void |
OuterClassValidator.validate(SootClass sc,
List<ValidationException> exceptions) |
void |
MethodDeclarationValidator.validate(SootClass sc,
List<ValidationException> exceptions) |
void |
ClassFlagsValidator.validate(SootClass sc,
List<ValidationException> exceptions) |
Modifier and Type | Method and Description |
---|---|
void |
TagCollector.collectClassTags(SootClass sc) |
void |
TagCollector.collectKeyTags(SootClass sc) |
void |
TagCollector.collectTags(SootClass sc)
Convenience function for
collectTags(sc, true) . |
void |
TagCollector.collectTags(SootClass sc,
boolean includeBodies)
Collect tags from all fields and methods of
sc . |
void |
XMLPrinter.printJimpleStyleTo(SootClass cl,
PrintWriter out) |
Copyright © 2019 Sable. All rights reserved.