Package soot.dexpler
Class TrapMinimizer
- java.lang.Object
-
- soot.Transformer
-
- soot.BodyTransformer
-
- soot.toolkits.exceptions.TrapTransformer
-
- soot.dexpler.TrapMinimizer
-
public class TrapMinimizer extends TrapTransformer
Transformer that splits traps for Dalvik whenever a statements within the trap cannot reach the trap's handler. Before: trap from label1 to label2 with handler label1: stmt1 ----> handler stmt2 stmt3 ----> handler label2: After: trap from label1 to label2 with handler trap from label3 to label4 with handler label1: stmt1 ----> handler label2: stmt2 label3: stmt3 ----> handler label4:- Author:
- Alexandre Bartel
-
-
Constructor Summary
Constructors Constructor Description TrapMinimizer(Singletons.Global g)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidinternalTransform(Body b, String phaseName, Map<String,String> options)This method is called to perform the transformation itself.static TrapMinimizerv()-
Methods inherited from class soot.toolkits.exceptions.TrapTransformer
getUnitsWithMonitor
-
Methods inherited from class soot.BodyTransformer
transform, transform, transform
-
-
-
-
Constructor Detail
-
TrapMinimizer
public TrapMinimizer(Singletons.Global g)
-
-
Method Detail
-
v
public static TrapMinimizer v()
-
internalTransform
protected void internalTransform(Body b, String phaseName, Map<String,String> options)
Description copied from class:BodyTransformerThis method is called to perform the transformation itself. It is declared abstract; subclasses must implement this method by making it the entry point to their actual Body transformation.- Specified by:
internalTransformin classBodyTransformer- Parameters:
b- the body on which to apply the transformationphaseName- the phasename for this transform; not typically used by implementations.options- the actual computed options; a combination of default options and Scene specified options.
-
-