Class VariableSizeInsn

java.lang.Object
com.android.dx.dex.code.DalvInsn
com.android.dx.dex.code.VariableSizeInsn
Direct Known Subclasses:
ArrayData, HighRegisterPrefix, OddSpacer, SwitchData

public abstract class VariableSizeInsn extends DalvInsn
Pseudo-instruction base class for variable-sized instructions.
  • Constructor Details

    • VariableSizeInsn

      public VariableSizeInsn(SourcePosition position, RegisterSpecList registers)
      Constructs an instance. The output address of this instance is initially unknown (-1).
      Parameters:
      position - non-null; source position
      registers - non-null; source registers
  • Method Details

    • withOpcode

      public final DalvInsn withOpcode(Dop opcode)
      Returns an instance that is just like this one, except that its opcode is replaced by the one given, and its address is reset.
      Specified by:
      withOpcode in class DalvInsn
      Parameters:
      opcode - non-null; the new opcode
      Returns:
      non-null; an appropriately-constructed instance
    • withRegisterOffset

      public final DalvInsn withRegisterOffset(int delta)
      Returns an instance that is just like this one, except that all register references have been offset by the given delta, and its address is reset.
      Specified by:
      withRegisterOffset in class DalvInsn
      Parameters:
      delta - the amount to offset register references by
      Returns:
      non-null; an appropriately-constructed instance