Package soot.asm
Class CastAndReturnInliner
- java.lang.Object
-
- soot.Transformer
-
- soot.BodyTransformer
-
- soot.asm.CastAndReturnInliner
-
public class CastAndReturnInliner extends BodyTransformer
Transformers that inlines returns that cast and return an object. We take a = .. goto l0; l0: b = (B) a; return b; and transform it into a = .. return a; This makes it easier for the local splitter to split distinct uses of the same variable. Imagine that "a" can come from different parts of the code and have different types. To be able to find a valid typing at all, we must break apart the uses of "a".- Author:
- Steven Arzt
-
-
Constructor Summary
Constructors Constructor Description CastAndReturnInliner()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidinternalTransform(Body body, String phaseName, Map<String,String> options)This method is called to perform the transformation itself.-
Methods inherited from class soot.BodyTransformer
transform, transform, transform
-
-
-
-
Method Detail
-
internalTransform
protected void internalTransform(Body body, 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:
body- 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.
-
-