public class FillArrayDataInstruction extends PseudoInstruction
fill-array-data instructions and associated data blocks into a series of assignment instructions
(one for each array index the data block contains a value).
As the data block contains untyped data, only the number of bytes per element is known. Recovering the array type at the
stage this class is used on would require a detailed analysis on the dex code. Therefore we save the data elements as
UntypedConstant and later use DexFillArrayDataTransformer to convert the values to their final type.data, dataFirstByte, dataLastByte, dataSize, loadedcodeAddress, instruction, lineNumber, unit| Constructor and Description |
|---|
FillArrayDataInstruction(org.jf.dexlib2.iface.instruction.Instruction instruction,
int codeAdress) |
| Modifier and Type | Method and Description |
|---|---|
void |
computeDataOffsets(DexBody body) |
void |
jimplify(DexBody body)
Jimplify this instruction.
|
getData, getDataFirstByte, getDataLastByte, getDataSize, isLoaded, setData, setDataFirstByte, setDataLastByte, setDataSize, setLoadedaddTags, getInstruction, getLineNumber, getUnit, getUsedRegistersNums, getUsedRegistersNums, introducedTypes, setLineNumber, setUnitpublic FillArrayDataInstruction(org.jf.dexlib2.iface.instruction.Instruction instruction,
int codeAdress)
public void jimplify(DexBody body)
DexlibAbstractInstructionjimplify in class DexlibAbstractInstructionbody - to jimplify into.public void computeDataOffsets(DexBody body)
computeDataOffsets in class PseudoInstructionCopyright © 2024 Soot OSS. All rights reserved.