Package soot.shimple
Public classes for the SSA Shimple intermediate representation.
Basic support for an SSA version of Jimple, dubbed Shimple. The idea is that Shimple can be treated almost identically to Jimple with the added benefit of SSA form.
The public API is described in soot.shimple.Shimple, soot.shimple.ShimpleBody and soot.shimple.PhiExpr.
Use/Definition and Definition/Use chains for Shimple can be obtained with ShimpleLocalDefs and ShimpleLocalUses in soot.shimple.toolkits.scalar.
Available example analyses for Shimple currently include: soot.shimple.toolkits.scalar.{ShimpleLocalDefs,SEvaluator,SConstantPropagatorAndFolder}
-
Interface Summary Interface Description PhiExpr A fully defined PhiExpr usually consists of a list of Values for the arguments alongst with the corresponding control flow predecessor for each argument.PiExpr ShimpleExpr ShimpleExprSwitch ShimpleFactory ShimpleValueSwitch -
Class Summary Class Description AbstractShimpleExprSwitch<T> AbstractShimpleValueSwitch<T> DefaultShimpleFactory Shimple Contains the constructors for the components of the SSA Shimple grammar.ShimpleBody Implementation of the Body class for the SSA Shimple IR.ShimpleMethodSource ShimpleTransformer Traverses all methods, in all classes from the Scene, and transforms them to Shimple.