Package soot.dexpler
Class DexTrapStackFixer
- java.lang.Object
-
- soot.Transformer
-
- soot.BodyTransformer
-
- soot.dexpler.DexTrapStackFixer
-
public class DexTrapStackFixer extends BodyTransformer
Transformer to ensure that all exception handlers pull the exception object. In other words, if an exception handler must always have a unit like $r10 = @caughtexception This is especially important if the dex code is later to be translated into Java bytecode. If no one ever accesses the exception object, it will reside on the stack forever, potentially leading to mismatching stack heights.- Author:
- Steven Arzt
-
-
Constructor Summary
Constructors Constructor Description DexTrapStackFixer()
-
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 DexTrapStackFixerv()-
Methods inherited from class soot.BodyTransformer
transform, transform, transform
-
-
-
-
Method Detail
-
v
public static DexTrapStackFixer 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.
-
-