Package soot.dexpler

Class DexFillArrayDataTransformer


  • public class DexFillArrayDataTransformer
    extends BodyTransformer
    If Dalvik bytecode can contain fill-array-data instructions that can fill an array with data elements we only know the element size of. Therefore when processing such instructions in FillArrayDataInstruction we don't know the exact type of the data that is loaded. Because of (conditional) branches in the code, identifying the type is not always possible at that stage. Instead UntypedConstant constants are used. These constants are processed by this transformer and get their final type.
    Author:
    Jan Peter Stotz
    • Constructor Detail

      • DexFillArrayDataTransformer

        public DexFillArrayDataTransformer()
    • Method Detail

      • internalTransform

        protected void internalTransform​(Body body,
                                         String phaseName,
                                         Map<String,​String> options)
        Description copied from class: BodyTransformer
        This 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:
        internalTransform in class BodyTransformer
        Parameters:
        body - the body on which to apply the transformation
        phaseName - the phasename for this transform; not typically used by implementations.
        options - the actual computed options; a combination of default options and Scene specified options.