soot |
Base Soot classes
Base Soot classes, shared by different intermediate representations.
|
Java Source File Name | Type | Comment |
AbstractJasminClass.java | Class | |
AbstractSootFieldRef.java | Class | Representation of a reference to a field as it appears in a class file. |
AbstractSootMethodRef.java | Class | Representation of a reference to a method as it appears in a class file. |
AbstractTrap.java | Class | Partial implementation of trap (exception catcher), used within Body
classes. |
AbstractUnit.java | Class | Provides default implementations for the methods in Unit. |
AbstractUnitAllMapTo.java | Class | |
AbstractUnitBox.java | Class | Reference implementation for UnitBox; just
add a canContainUnit method. |
AbstractUnitPrinter.java | Class | Partial default UnitPrinter implementation. |
AbstractValueBox.java | Class | Reference implementation for ValueBox; just
add a canContainValue method. |
AnySubType.java | Class | |
ArrayType.java | Class | A class that models Java's array types. |
AttributesUnitPrinter.java | Class | Adds PositionTags to ValueBoxes to identify their position in the output. |
Body.java | Class | Abstract base class that models the body (code attribute) of a Java method.
Classes that implement an Intermediate Representation for a method body should subclass it.
In particular the classes GrimpBody, JimpleBody and BafBody all extend this
class. |
BodyPack.java | Class | A wrapper object for a pack of optimizations.
Provides chain-like operations, except that the key is the phase name. |
BodyTransformer.java | Class | An abstract class which acts on a Body. |
BooleanType.java | Class | Soot representation of the Java built-in type 'boolean'. |
BriefUnitPrinter.java | Class | |
ByteType.java | Class | Soot representation of the Java built-in type 'byte'. |
CharType.java | Class | Soot representation of the Java built-in type 'char'. |
ClassMember.java | Interface | Provides methods common to Soot objects belonging to classes,
namely SootField and SootMethod. |
ClassProvider.java | Interface | A class provider looks for a file of a specific format for a specified
class, and returns a ClassSource for it if it finds it. |
ClassSource.java | Class | |
CoffiClassProvider.java | Class | A class provider looks for a file of a specific format for a specified
class, and returns a ClassSource for it if it finds it. |
CoffiClassSource.java | Class | A class source for resolving from .class files through coffi. |
CompilationDeathException.java | Class | |
Context.java | Interface | A context in a context-sensitive all graph. |
DoubleType.java | Class | Soot representation of the Java built-in type 'double'. |
EntryPoints.java | Class | Returns the various potential entry points of a Java program. |
EquivalentValue.java | Class | Encapsulates the Value class, but uses EquivTo for equality comparisons. |
EquivTo.java | Interface | An alternate equivalence relation
between objects. |
ErroneousType.java | Class | Soot representation used for untypable objects. |
EscapeAnalysis.java | Interface | A generic interface to an escape analysis. |
FastHierarchy.java | Class | Represents the class hierarchy. |
FloatType.java | Class | Soot representation of the Java built-in type 'float'. |
G.java | Class | A class to group together all the global variables in Soot. |
HasPhaseOptions.java | Interface | Interface for things like Packs and phases that have phase options. |
Hierarchy.java | Class | Represents the class hierarchy. |
IdentityUnit.java | Interface | A unit that assigns to a variable from one of {parameters, this, caughtexception}. |
Immediate.java | Interface | A local or constant. |
IntegerType.java | Interface | Soot interface implemented by all classes representing
integer types [boolean, byte, short, char, and int]. |
IntType.java | Class | Soot representation of the Java built-in type 'int'. |
ITypeSwitch.java | Interface | Describes a switch on internal types. |
JavaClassProvider.java | Class | A class provider looks for a file of a specific format for a specified
class, and returns a ClassSource for it if it finds it. |
JavaClassSource.java | Class | A class source for resolving from .java files using javaToJimple. |
JavaToJimpleBodyPack.java | Class | A wrapper object for a pack of optimizations.
Provides chain-like operations, except that the key is the phase name.
This is a specific one for the very messy jb phase. |
JimpleBodyPack.java | Class | A wrapper object for a pack of optimizations.
Provides chain-like operations, except that the key is the phase name.
This is a specific one for the very messy jb phase. |
JimpleClassProvider.java | Class | A class provider looks for a file of a specific format for a specified
class, and returns a ClassSource for it if it finds it. |
JimpleClassSource.java | Class | A class source for resolving from .jimple files using the Jimple parser. |
Kind.java | Class | Enumeration type representing the kind of a call graph edge. |
LabeledUnitPrinter.java | Class | |
Local.java | Interface | A local variable, used within Body
classes. |
LongType.java | Class | Soot representation of the Java built-in type 'long'. |
Main.java | Class | Main class for Soot; provides Soot's command-line user interface. |
MethodContext.java | Class | Represents a pair of a method and a context. |
MethodOrMethodContext.java | Interface | A common interface for either just a method, or a method with context. |
MethodSource.java | Interface | A class which knows how to produce Body's for SootMethods. |
MethodToContexts.java | Class | Keeps track of the various contexts associated with each method. |
Modifier.java | Class | A class that provides static methods and constants to represent and
work with with Java modifiers (ie public, final,...)
Represents Java modifiers as int constants that can be packed and
combined by bitwise operations and methods to query these. |
NormalUnitPrinter.java | Class | |
NullType.java | Class | Soot representation of the Java type 'null'. |
Pack.java | Class | A wrapper object for a pack of optimizations.
Provides chain-like operations, except that the key is the phase name. |
PackManager.java | Class | Manages the Packs containing the various phases and their options. |
PatchingChain.java | Class | An implementation of a Chain which can contain only Units,
and handles patching to deal with element insertions and removals.
This is done by calling Unit.redirectJumpsToThisTo at strategic
times. |
PhaseOptions.java | Class | Manages the phase options of the various soot phases. |
PointsToAnalysis.java | Interface | A generic interface to any type of pointer analysis. |
PointsToSet.java | Interface | A generic interface to some set of runtime objects computed by a
pointer analysis. |
PrimType.java | Class | |
Printer.java | Class | Prints out a class and all its methods. |
RadioScenePack.java | Class | A wrapper object for a pack of optimizations.
Provides chain-like operations, except that the key is the phase name. |
RefLikeType.java | Class | Abstract class for Soot classes that model subtypes of java.lang.Object
(ie. |
RefType.java | Class | A class that models Java's reference types. |
ResolutionFailedException.java | Class | Exception thrown when resolving a method or field reference fails. |
Scene.java | Class | Manages the SootClasses of the application being analyzed. |
ScenePack.java | Class | A wrapper object for a pack of optimizations.
Provides chain-like operations, except that the key is the phase name. |
SceneTransformer.java | Class | An abstract class which acts on the whole Scene. |
ShortType.java | Class | Soot representation of the Java built-in type 'short'. |
SideEffectTester.java | Interface | Provides side effect information. |
SootClass.java | Class | Soot representation of a Java class. |
SootField.java | Class | Soot representation of a Java field. |
SootFieldRef.java | Interface | Representation of a reference to a field as it appears in a class file. |
SootMethod.java | Class | Soot representation of a Java method. |
SootMethodRef.java | Interface | Representation of a reference to a method as it appears in a class file. |
SootResolver.java | Class | Loads symbols for SootClasses from either class files or jimple files. |
SourceLocator.java | Class | Provides utility methods to retrieve an input stream for a class name, given
a classfile, or jimple or baf output files. |
StmtAddressType.java | Class | Soot representation of the Java type for a statement address. |
Timer.java | Class | Utility class providing a timer. |
Timers.java | Class | |
Transform.java | Class | Maintains the pair (phaseName, singleton) needed for a
transformation. |
Transformer.java | Class | An abstract class which acts on some Soot object. |
Trap.java | Interface | A trap (exception catcher), used within Body
classes. |
TrapManager.java | Class | Utility methods for dealing with traps. |
Type.java | Class | Represents types within Soot, eg int , java.lang.String . |
TypeSwitch.java | Class | Implements Switchable on base Java types. |
Unit.java | Interface | A code fragment (eg Stmt or Inst), used within Body
classes. |
UnitBox.java | Interface | A box which can contain units. |
UnitBoxOwner.java | Interface | An implementor of this interface indicates that it may contain
UnitBoxes. |
UnitPrinter.java | Interface | Interface for different methods of printing out a Unit. |
UnknownMethodSource.java | Class | A MethodSource for methods that don't know where to get Body's from. |
UnknownType.java | Class | Soot representation used for not-yet-typed objects. |
Value.java | Interface | Data used as, for instance, arguments to instructions; typical implementations are
constants or expressions. |
ValueBox.java | Interface | A box which can contain values. |
VoidType.java | Class | Represents the Java void type. |
XMLAttributesPrinter.java | Class | |