| Package | Description |
|---|---|
| soot |
Base Soot classes, shared by different intermediate representations.
|
| soot.coffi |
Contains classes from the Coffi tool, by Clark Verbrugge.
|
| soot.javaToJimple | |
| soot.jimple |
Public classes for the Jimple intermediate representation.
|
| soot.jimple.internal |
Internal, messy, implementation-specific classes for the Jimple intermediate representation.
|
| 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.reflection | |
| soot.jimple.toolkits.typing |
Implements a typing algorithm for Jimple.
|
| soot.tagkit |
Classes supporting classfile annotation in Soot.
|
| soot.toolkits.graph.pdg | |
| soot.util |
Generally useful utility classes for Soot.
|
| Modifier and Type | Field and Description |
|---|---|
protected SootClass |
AbstractTrap.exception
The exception being caught.
|
protected SootClass |
SootClass.outerClass |
protected SootClass |
SootClass.superClass |
| Modifier and Type | Field and Description |
|---|---|
protected java.util.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 Chain<SootClass> |
SootClass.interfaces |
| Modifier and Type | Method and Description |
|---|---|
SootClass |
SootMethodRef.declaringClass() |
SootClass |
SootFieldRef.declaringClass() |
SootClass |
Scene.forceResolve(java.lang.String className,
int level) |
SootClass |
SootMethod.getDeclaringClass()
Returns the class which declares the current
SootMethod. |
SootClass |
SootField.getDeclaringClass() |
SootClass |
ClassMember.getDeclaringClass()
Returns the SootClass declaring this one.
|
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 |
RefType.getSootClass()
Get the SootClass object corresponding to this RefType.
|
SootClass |
Scene.getSootClass(java.lang.String className)
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 |
Scene.loadClass(java.lang.String className,
int desiredLevel) |
SootClass |
Scene.loadClassAndSupport(java.lang.String className)
Loads the given class and all of the required support classes.
|
SootClass |
SootResolver.makeClassRef(java.lang.String className)
Returns a (possibly not yet resolved) SootClass to be used in references
to a class.
|
SootClass |
SootResolver.resolveClass(java.lang.String className,
int desiredLevel)
Resolves the given class.
|
SootClass |
Scene.tryLoadClass(java.lang.String className,
int desiredLevel)
Attempts to load the given class and all of the required support classes.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.Collection<SootClass> |
Scene.dynamicClasses() |
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.
|
java.util.List<SootClass> |
Scene.getClasses(int desiredLevel)
Returns the list of SootClasses that have been resolved at least to
the level specified.
|
java.util.List<SootClass> |
Hierarchy.getDirectSubclassesOfIncluding(SootClass c)
Returns a list of direct subclasses of c, including c.
|
java.util.List<SootClass> |
Hierarchy.getDirectSubinterfacesOfIncluding(SootClass c)
Returns a list of direct subinterfaces of c, including itself.
|
java.util.List<SootClass> |
SootMethod.getExceptions()
Returns a backed list of the exceptions thrown by this method.
|
java.util.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.
|
java.util.List<SootClass> |
Hierarchy.getSubclassesOf(SootClass c)
Returns a list of subclasses of c, excluding itself.
|
java.util.List<SootClass> |
Hierarchy.getSubclassesOfIncluding(SootClass c)
Returns a list of subclasses of c, including itself.
|
java.util.List<SootClass> |
Hierarchy.getSubinterfacesOf(SootClass c)
Returns a list of subinterfaces of c, excluding itself.
|
java.util.List<SootClass> |
Hierarchy.getSubinterfacesOfIncluding(SootClass c)
Returns a list of subinterfaces of c, including itself.
|
java.util.List<SootClass> |
Hierarchy.getSuperclassesOf(SootClass c)
Returns a list of strict superclasses of c, starting with c's parent.
|
java.util.List<SootClass> |
Hierarchy.getSuperclassesOfIncluding(SootClass c)
Returns a list of superclasses of c, including itself.
|
| Modifier and Type | Method and Description |
|---|---|
void |
Scene.addClass(SootClass c) |
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.
|
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.
|
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 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.
|
java.util.List<SootMethod> |
EntryPoints.clinitsOf(SootClass cl)
Returns a list of all clinits of class cl and its superclasses.
|
protected int |
FastHierarchy.dfsVisit(int start,
SootClass c) |
java.util.Set |
FastHierarchy.getAllImplementersOfInterface(SootClass parent)
For an interface parent (MUST be an interface), returns set of all
implementers of it but NOT their subclasses.
|
protected java.util.Set |
FastHierarchy.getAllSubinterfaces(SootClass parent)
For an interface parent (MUST be an interface), returns set of all
subinterfaces.
|
java.util.List |
Hierarchy.getDirectImplementersOf(SootClass i)
Returns a list of direct implementers of c, excluding itself.
|
java.util.List |
Hierarchy.getDirectSubclassesOf(SootClass c)
Returns a list of direct subclasses of c, excluding c.
|
java.util.List<SootClass> |
Hierarchy.getDirectSubclassesOfIncluding(SootClass c)
Returns a list of direct subclasses of c, including c.
|
java.util.List |
Hierarchy.getDirectSubinterfacesOf(SootClass c)
Returns a list of direct subinterfaces of c.
|
java.util.List<SootClass> |
Hierarchy.getDirectSubinterfacesOfIncluding(SootClass c)
Returns a list of direct subinterfaces of c, including itself.
|
java.util.List |
Hierarchy.getDirectSuperclassesOf(SootClass c)
Returns a list of direct superclasses of c, excluding c.
|
java.util.List |
Hierarchy.getDirectSuperinterfacesOf(SootClass c)
Returns a list of direct superinterfaces of c.
|
java.lang.String |
SourceLocator.getFileNameFor(SootClass c,
int rep) |
java.util.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 java.lang.String |
SootMethod.getSignature(SootClass cl,
java.lang.String name,
java.util.List params,
Type returnType) |
static java.lang.String |
SootField.getSignature(SootClass cl,
java.lang.String name,
Type type) |
java.util.List<SootClass> |
Hierarchy.getSubclassesOf(SootClass c)
Returns a list of subclasses of c, excluding itself.
|
java.util.Collection |
FastHierarchy.getSubclassesOf(SootClass c) |
java.util.List<SootClass> |
Hierarchy.getSubclassesOfIncluding(SootClass c)
Returns a list of subclasses of c, including itself.
|
java.util.List<SootClass> |
Hierarchy.getSubinterfacesOf(SootClass c)
Returns a list of subinterfaces of c, excluding itself.
|
java.util.List<SootClass> |
Hierarchy.getSubinterfacesOfIncluding(SootClass c)
Returns a list of subinterfaces of c, including itself.
|
java.util.List<SootClass> |
Hierarchy.getSuperclassesOf(SootClass c)
Returns a list of strict superclasses of c, starting with c's parent.
|
java.util.List<SootClass> |
Hierarchy.getSuperclassesOfIncluding(SootClass c)
Returns a list of superclasses of c, including itself.
|
java.util.List |
Hierarchy.getSuperinterfacesOf(SootClass c)
Returns a list of superinterfaces of c, excluding 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 |
Hierarchy.isInterfaceDirectSubinterfaceOf(SootClass child,
SootClass possibleParent)
Returns true if child is a direct subinterface of possibleParent.
|
boolean |
Hierarchy.isInterfaceSubinterfaceOf(SootClass child,
SootClass possibleParent)
Returns true if child is a subinterface of possibleParent.
|
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,
SootMethod m)
Returns true if the method m is visible from code in the class from.
|
SootMethodRef |
Scene.makeConstructorRef(SootClass declaringClass,
java.util.List<Type> parameterTypes)
Create an unresolved reference to a constructor.
|
SootFieldRef |
Scene.makeFieldRef(SootClass declaringClass,
java.lang.String name,
Type type,
boolean isStatic)
Create an unresolved reference to a field.
|
SootMethodRef |
Scene.makeMethodRef(SootClass declaringClass,
java.lang.String name,
java.util.List<Type> parameterTypes,
Type returnType,
boolean isStatic)
Create an unresolved reference to a method.
|
void |
Printer.printTo(SootClass cl,
java.io.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 direclty implemented by this class.
|
void |
SootResolver.reResolve(SootClass cl) |
void |
SootResolver.reResolveHierarchy(SootClass sc) |
IInitialResolver.Dependencies |
CoffiClassSource.resolve(SootClass sc) |
abstract IInitialResolver.Dependencies |
ClassSource.resolve(SootClass sc)
Resolve the class into the SootClass sc.
|
java.util.List |
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.
|
java.util.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.
|
void |
SootMethod.setDeclaringClass(SootClass declClass)
Nomair A.
|
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.
|
| Constructor and Description |
|---|
AbstractTrap(SootClass exception,
UnitBox beginUnitBox,
UnitBox endUnitBox,
UnitBox handlerUnitBox)
Creates an AbstractTrap with the given exception, handler, begin and end units.
|
| Constructor and Description |
|---|
SootMethod(java.lang.String name,
java.util.List parameterTypes,
Type returnType,
int modifiers,
java.util.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 |
|---|---|
void |
Util.resolveFromClassFile(SootClass aClass,
java.io.InputStream is,
java.util.List references) |
| Modifier and Type | Method and Description |
|---|---|
IInitialResolver.Dependencies |
IInitialResolver.resolveFromJavaFile(SootClass sc) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
ReachingTypeDumper.handleClass(java.io.PrintWriter out,
SootClass c) |
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 |
|---|
JTrap(SootClass exception,
UnitBox beginStmt,
UnitBox endStmt,
UnitBox handlerStmt) |
JTrap(SootClass exception,
Unit beginStmt,
Unit endStmt,
Unit handlerStmt) |
| 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 java.util.List<SootField> |
ClassLocalObjectsAnalysis.getAllFields(SootClass sc) |
java.util.List<SootMethod> |
LocalObjectsAnalysis.getAllMethodsForClass(SootClass sootClass) |
static java.util.List<SootMethod> |
ClassLocalObjectsAnalysis.getAllReachableMethods(SootClass sc) |
ClassLocalObjectsAnalysis |
LocalObjectsAnalysis.getClassLocalObjectsAnalysis(SootClass sc) |
java.util.List |
UseFinder.getExtCalls(SootClass sc) |
java.util.List |
UseFinder.getExtFieldAccesses(SootClass sc) |
java.util.List<SootField> |
UseFinder.getExtFields(SootClass sc) |
java.util.List<SootMethod> |
UseFinder.getExtMethods(SootClass sc) |
java.util.List |
UseFinder.getIntCalls(SootClass sc) |
java.util.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,
java.util.List<SootMethod> entryMethods) |
ClassLocalObjectsAnalysis(LocalObjectsAnalysis loa,
InfoFlowAnalysis dfa,
UseFinder uf,
SootClass sootClass) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Set<SootClass> |
ReflectionTraceInfo.classForNameClasses(SootMethod container) |
java.util.Set<SootClass> |
ReflectionTraceInfo.classNewInstanceClasses(SootMethod container) |
| 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 |
|---|---|
SootClass |
OuterClassTag.getOuterClass() |
| Constructor and Description |
|---|
OuterClassTag(SootClass outer,
java.lang.String simpleName,
boolean anon) |
| Modifier and Type | Field and Description |
|---|---|
protected SootClass |
RegionAnalysis.m_class |
protected SootClass |
HashMutablePDG.m_class |
| Modifier and Type | Method and Description |
|---|---|
SootClass |
Region.getSootClass() |
SootClass |
PDGRegion.getSootClass() |
SootClass |
IRegion.getSootClass() |
| Constructor and Description |
|---|
PDGRegion(int id,
java.util.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,
java.util.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) |
| Constructor and Description |
|---|
IterableSet(java.util.Collection<SootClass> c) |
Copyright © 2012-2019 RoboVM AB. All Rights Reserved.