Package soot
Base Soot classes, shared by different intermediate representations.
-
Interface Summary Interface Description 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.G.GlobalObjectGetter 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}.IFoundFile This abstraction allows to use different a implementation of file access.IJavaType a common superinterface for all types present in Java-like languages that run on the JVM or Dalvik/ART.Immediate A local or constant.IntegerType Soot interface implemented by all classes representing integer types [boolean, byte, short, char, and int].ISootClassAddedListener Interface to notify client code that a new class has been added to the sceneLocal 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.NopUnit 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.SootMethodInterface The common interface ofSootMethod(resolved method) andSootMethodRef(unresolved method).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 Class Description AbstractASMBackend Abstract super-class for ASM-based back-ends.AbstractJasminClass AbstractSootFieldRef Representation of a reference to a field as it appears in a class file.AbstractTrap Partial implementation of trap (exception catcher), used within Body classes.AbstractUnit Provides default implementations for the methods in Unit.AbstractUnitAllMapTo<K,V> 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.BooleanConstant BooleanType Soot representation of the Java built-in type 'boolean'.BriefUnitPrinter UnitPrinter implementation for normal (full) Jimple, Grimp, and BafByteConstant ByteType Soot representation of the Java built-in type 'byte' and .NETs built-in type 'sbyte'.CharConstant CharType Soot representation of the Java built-in type 'char'.ClassLoaderFoundFile ClassSource A class source is responsible for resolving a single class from a particular source format (.class, .jimple, .java, etc.)DecimalConstant DecimalType Soot representation of the .NET built-in type 'decimal'.DexClassProvider Looks for a dex file which includes the definition of a class.DexClassSource Responsible for resolving a single class from a dex source format.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'.FoundFile 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 AnIInitialResolverfor the JastAdd frontend.JavaBasicTypes 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.JavaMethods 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 BafLambdaMetaFactory LocalGenerator 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.MethodSubSignature Allows one-time parsing of method subsignatures.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.ModulePathSourceLocator Provides utility methods to retrieve an input stream for a class , given a classfile and moduleModuleRefType A class that models Java's reference types.ModuleScene Manages the SootClasses of the application being analyzed for Java 9 modules.ModuleUtil A utility class for dealing with java 9 modules and module dependencies.ModuleUtil.ModuleClassNameWrapper Wrapper class for backward compatibility with existing soot code In existing soot code classes are resolved based on their name without specifying a module to avoid changing all occurrences of String constants in Soot this classes deals with these String constants.NormalUnitPrinter UnitPrinter implementation for normal (full) Jimple, Grimp, and BafNullType 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.PolymorphicMethodRef Special class to treat the methods with polymorphic signatures in the classesMethodHandleandVarHandle.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.Scene.AndroidVersionInfo ScenePack A wrapper object for a pack of optimizations.SceneTransformer An abstract class which acts on the whole Scene.ShortConstant 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.SootMethodRefImpl Representation of a reference to a method as it appears in a class file.SootModuleInfo Represents a Module-Info file.SootModuleResolver Loads symbols for SootClasses from either class files or jimple files.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.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, egint,java.lang.String.TypeSwitch<T> Implements Switchable on base Java types.UByteConstant UByteType Soot representation of the .NET built-in type 'byte'.UIntType Soot representation of the .NET built-in type 'uint'.ULongType Soot representation of the .NET built-in type 'long'.UnitPatchingChain Although the Patching Chain is meant to only work for units, it can also work with certain subclasses of units.UnknownMethodSource A MethodSource for methods that don't know where to get Body's from.UnknownType Soot representation used for not-yet-typed objects.UShortType Soot representation of the .NET built-in type 'ushort'.VoidType Represents the Java void type.XMLAttributesPrinter -
Enum Summary Enum Description SourceLocator.ClassSourceType -
Exception Summary Exception Description AmbiguousFieldException Exception that is thrown when a field is accessed through an ambiguous nameAmbiguousMethodException Exception that is thrown when a method is accessed through an ambiguous nameAndroidPlatformException Exception that is thrown when Soot cannot find the correct platform API version for a DEX or APK fileCompilationDeathException ConflictingFieldRefException Exception that is thrown when code tries to resolve a reference for some field "fld: type1", but the target class already declares a field "fld: type2".JavaClassProvider.JarException OptionsParseException ResolutionFailedException Exception thrown when resolving a method or field reference fails.