Package soot.jimple.toolkits.scalar
A toolkit for scalar optimization of Jimple.
Includes a number of simple optimizations:
ConditionalBranchFolder, ConstantPropagatorAndFolder, CopyPropagator,
DeadAssignmentEliminator, Evaluator, LocalNameStandardizer, NopEliminator,
UnconditionalBranchFolder, UnreachableCodeEliminator.
-
Interface Summary Interface Description AvailableExpressions Provides an user-interface for the AvailableExpressionsAnalysis class. -
Class Summary Class Description AbstractStaticnessCorrector Abstract base class for all transformers that fix wrong code that declares something as static, but uses it like an instance or vice versa.CommonPrecedingEqualValueAnalysis CommonSubexpressionEliminator Runs an available expressions analysis on a body, then eliminates common subexpressions.ConditionalBranchFolder ConstantCastEliminator Transformer for removing unnecessary casts on primitive values.ConstantPropagatorAndFolder Does constant propagation and folding.CopyPropagator DeadAssignmentEliminator DefaultLocalCreation provides an easy interface to handle new var-names.EmptySwitchEliminator Removes empty switch statements which always take the default action from a method body, i.e.EqualLocalsAnalysis EqualUsesAnalysis Deprecated. This class is buggy.Evaluator FastAvailableExpressions Provides an user-interface for the AvailableExpressionsAnalysis class.FastAvailableExpressionsAnalysis Implements an available expressions analysis on local variables.FieldStaticnessCorrector Transformer that checks whether a static field is used like an instance field.IdentityCastEliminator Transformer that removes unnecessary identity casts such as $i3 = (int) $i3 when $i3 is already of type "int".IdentityOperationEliminator Transformer that eliminates unnecessary logic operations such as $z0 = a | 0 which can more easily be represented as $z0 = aLocalCreation LocalNameStandardizer MethodStaticnessCorrector Transformer that checks whether an instance method is used like a static method, and can easily be made static, i.e., does not reference any field or method in the "this" object.NopEliminator PessimisticAvailableExpressionsAnalysis Implements an available expressions analysis on local variables.SlowAvailableExpressions Provides an user-interface for the AvailableExpressionsAnalysis class.SlowAvailableExpressionsAnalysis Implements an available expressions analysis on local variables.ToppedSet<T> Represents information for flow analysis, adding a top element to a lattice.UnconditionalBranchFolder UnreachableCodeEliminator