Package soot.jbco.bafTransformations
Class IndirectIfJumpsToCaughtGotos
- java.lang.Object
-
- soot.Transformer
-
- soot.BodyTransformer
-
- soot.jbco.bafTransformations.IndirectIfJumpsToCaughtGotos
-
- All Implemented Interfaces:
IJbcoTransform
public class IndirectIfJumpsToCaughtGotos extends BodyTransformer implements IJbcoTransform
- Author:
- Michael Batchelder Created on 2-May-2006 This transformer takes a portion of gotos/ifs and moves them into a TRY/CATCH block
-
-
Field Summary
Fields Modifier and Type Field Description static String[]dependanciesstatic Stringname-
Fields inherited from interface soot.jbco.IJbcoTransform
debug, out, output
-
-
Constructor Summary
Constructors Constructor Description IndirectIfJumpsToCaughtGotos()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String[]getDependencies()Gets array ofjbco transformercode names on which current transformer depends on.StringgetName()Gets the code name ofjbco transformerimplementation.protected voidinternalTransform(Body b, String phaseName, Map<String,String> options)This method is called to perform the transformation itself.voidoutputSummary()Prints summary of the produced changes.-
Methods inherited from class soot.BodyTransformer
transform, transform, transform
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface soot.jbco.IJbcoTransform
isDebugEnabled, isVerbose
-
-
-
-
Method Detail
-
getDependencies
public String[] getDependencies()
Description copied from interface:IJbcoTransformGets array ofjbco transformercode names on which current transformer depends on.- Specified by:
getDependenciesin interfaceIJbcoTransform- Returns:
- array of code names
-
getName
public String getName()
Description copied from interface:IJbcoTransformGets the code name ofjbco transformerimplementation.- Specified by:
getNamein interfaceIJbcoTransform- Returns:
- the code name of
jbco transformer
-
outputSummary
public void outputSummary()
Description copied from interface:IJbcoTransformPrints summary of the produced changes.- Specified by:
outputSummaryin interfaceIJbcoTransform
-
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.
-
-