FillArrayDataInsnpublic final class FillArrayDataInsn extends Insn Instruction which fills a newly created array with a predefined list of
constant values. |
Fields Summary |
---|
private final ArrayList | initValuesnon-null: initial values to fill the newly created array | private final com.android.dexgen.rop.cst.Constant | arrayTypenon-null: type of the array. Will be used to determine the width of
elements in the array-data table. |
Constructors Summary |
---|
public FillArrayDataInsn(Rop opcode, SourcePosition position, RegisterSpecList sources, ArrayList initValues, com.android.dexgen.rop.cst.Constant cst)Constructs an instance.
super(opcode, position, null, sources);
if (opcode.getBranchingness() != Rop.BRANCH_NONE) {
throw new IllegalArgumentException("bogus branchingness");
}
this.initValues = initValues;
this.arrayType = cst;
|
Methods Summary |
---|
public void | accept(Visitor visitor){@inheritDoc}
visitor.visitFillArrayDataInsn(this);
| public com.android.dexgen.rop.type.TypeList | getCatches(){@inheritDoc}
return StdTypeList.EMPTY;
| public com.android.dexgen.rop.cst.Constant | getConstant()Return the type of the newly created array
return arrayType;
| public java.util.ArrayList | getInitValues()Return the list of init values
return initValues;
| public Insn | withAddedCatch(com.android.dexgen.rop.type.Type type){@inheritDoc}
throw new UnsupportedOperationException("unsupported");
| public Insn | withNewRegisters(RegisterSpec result, RegisterSpecList sources){@inheritDoc}
return new FillArrayDataInsn(getOpcode(), getPosition(),
sources, initValues, arrayType);
| public Insn | withRegisterOffset(int delta){@inheritDoc}
return new FillArrayDataInsn(getOpcode(), getPosition(),
getSources().withOffset(delta),
initValues, arrayType);
|
|