Package soot

Base Soot classes, shared by different intermediate representations.

See:
          Description

Interface Summary
ClassMember Provides methods common to Soot objects belonging to classes, namely SootField and SootMethod.
ClassProvider 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.
Context A context in a context-sensitive all graph.
EquivTo An alternate equivalence relation between objects.
EscapeAnalysis A generic interface to an escape analysis.
HasPhaseOptions Interface for things like Packs and phases that have phase options.
IdentityUnit A unit that assigns to a variable from one of {parameters, this, caughtexception}.
Immediate A local or constant.
IntegerType Soot interface implemented by all classes representing integer types [boolean, byte, short, char, and int].
Local A local variable, used within Body classes.
MethodOrMethodContext A common interface for either just a method, or a method with context.
MethodSource A class which knows how to produce Body's for SootMethods.
PointsToAnalysis A generic interface to any type of pointer analysis.
PointsToSet A generic interface to some set of runtime objects computed by a pointer analysis.
SideEffectTester Provides side effect information.
SootFieldRef Representation of a reference to a field as it appears in a class file.
SootMethodRef Representation of a reference to a method as it appears in a class file.
Trap A trap (exception catcher), used within Body classes.
Unit A code fragment (eg Stmt or Inst), used within Body classes.
UnitBox A box which can contain units.
UnitBoxOwner An implementor of this interface indicates that it may contain UnitBoxes.
UnitPrinter Interface for different methods of printing out a Unit.
Value Data used as, for instance, arguments to instructions; typical implementations are constants or expressions.
ValueBox A box which can contain values.
 

Class Summary
AbstractJasminClass  
AbstractTrap Partial implementation of trap (exception catcher), used within Body classes.
AbstractUnit Provides default implementations for the methods in Unit.
AbstractUnitAllMapTo  
AbstractUnitBox Reference implementation for UnitBox; just add a canContainUnit method.
AbstractUnitPrinter Partial default UnitPrinter implementation.
AbstractValueBox Reference implementation for ValueBox; just add a canContainValue method.
AntTask Soot ant task.
AnySubType  
ArrayType A class that models Java's array types.
AttributesUnitPrinter Adds PositionTags to ValueBoxes to identify their position in the output.
Body Abstract base class that models the body (code attribute) of a Java method.
BodyPack A wrapper object for a pack of optimizations.
BodyTransformer An abstract class which acts on a Body.
BooleanType Soot representation of the Java built-in type 'boolean'.
BriefUnitPrinter UnitPrinter implementation for normal (full) Jimple, Grimp, and Baf
ByteType Soot representation of the Java built-in type 'byte'.
CharType Soot representation of the Java built-in type 'char'.
ClassSource A class source is responsible for resolving a single class from a particular source format (.class, .jimple, .java, etc.)
CoffiClassProvider 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 A class source for resolving from .class files through coffi.
DoubleType Soot representation of the Java built-in type 'double'.
EntryPoints Returns the various potential entry points of a Java program.
EquivalentValue Encapsulates the Value class, but uses EquivTo for equality comparisons.
ErroneousType Soot representation used for untypable objects.
FastHierarchy Represents the class hierarchy.
FloatType Soot representation of the Java built-in type 'float'.
G A class to group together all the global variables in Soot.
Hierarchy Represents the class hierarchy.
IntType Soot representation of the Java built-in type 'int'.
JastAddInitialResolver An IInitialResolver for the JastAdd frontend.
JavaClassProvider 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 A class source for resolving from .java files using javaToJimple.
JavaToJimpleBodyPack A wrapper object for a pack of optimizations.
JimpleBodyPack A wrapper object for a pack of optimizations.
JimpleClassProvider 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 A class source for resolving from .jimple files using the Jimple parser.
Kind Enumeration type representing the kind of a call graph edge.
LabeledUnitPrinter UnitPrinter implementation for representations that have labelled stmts, such as Jimple, Grimp, and Baf
LongType Soot representation of the Java built-in type 'long'.
Main Main class for Soot; provides Soot's command-line user interface.
MethodContext Represents a pair of a method and a context.
MethodToContexts Keeps track of the various contexts associated with each method.
Modifier 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 UnitPrinter implementation for normal (full) Jimple, Grimp, and Baf
NullType Soot representation of the Java type 'null'.
Pack A wrapper object for a pack of optimizations.
PackManager Manages the Packs containing the various phases and their options.
PatchingChain<E extends Unit> An implementation of a Chain which can contain only Units, and handles patching to deal with element insertions and removals.
PhaseOptions Manages the phase options of the various soot phases.
PrimType Abstract class for Soot classes that that model Java primitive types (ie all types except void, null, reference types, and array types)
Printer Prints out a class and all its methods.
RadioScenePack A wrapper object for a pack of optimizations.
RefLikeType Abstract class for Soot classes that model subtypes of java.lang.Object (ie.
RefType A class that models Java's reference types.
Scene Manages the SootClasses of the application being analyzed.
ScenePack A wrapper object for a pack of optimizations.
SceneTransformer An abstract class which acts on the whole Scene.
ShortType Soot representation of the Java built-in type 'short'.
Singletons A class to group together all the global variables in Soot.
SootClass Soot representation of a Java class.
SootField Soot representation of a Java field.
SootMethod Soot representation of a Java method.
SootResolver Loads symbols for SootClasses from either class files or jimple files.
SourceLocator Provides utility methods to retrieve an input stream for a class name, given a classfile, or jimple or baf output files.
SourceLocator.FoundFile  
StmtAddressType Soot representation of the Java type for a statement address.
Timer Utility class providing a timer.
Timers  
Transform Maintains the pair (phaseName, singleton) needed for a transformation.
Transformer An abstract class which acts on some Soot object.
TrapManager Utility methods for dealing with traps.
Type Represents types within Soot, eg int, java.lang.String.
TypeSwitch Implements Switchable on base Java types.
UnknownMethodSource A MethodSource for methods that don't know where to get Body's from.
UnknownType Soot representation used for not-yet-typed objects.
VoidType Represents the Java void type.
XMLAttributesPrinter  
 

Exception Summary
CompilationDeathException  
JavaClassProvider.JarException  
ResolutionFailedException Exception thrown when resolving a method or field reference fails.
 

Package soot Description

Base Soot classes, shared by different intermediate representations.