Top Description Constructors Methods
org.droidparts.dexmaker.dx.dex.code

public abstract Class ZeroSizeInsn

extends DalvInsn
Class Inheritance
Known Direct Subclasses
org.droidparts.dexmaker.dx.dex.code.CodeAddress, org.droidparts.dexmaker.dx.dex.code.LocalEnd, org.droidparts.dexmaker.dx.dex.code.LocalSnapshot, org.droidparts.dexmaker.dx.dex.code.LocalStart
Imports
org.droidparts.dexmaker.dx.rop.code.RegisterSpecList, .SourcePosition, org.droidparts.dexmaker.dx.util.AnnotatedOutput

Pseudo-instruction base class for zero-size (no code emitted) instructions, which are generally used for tracking metainformation about the code they are adjacent to.

Constructor Summary

AccessConstructor and Description
public
ZeroSizeInsn(SourcePosition
non-null; source position
position
)

Constructs an instance.

Method Summary

Modifier and TypeMethod and Description
public final int
codeSize()

Implements abstract org.droidparts.dexmaker.dx.dex.code.DalvInsn.codeSize.

Gets the size of this instruction, in 16-bit code units.
public final DalvInsn
withOpcode(Dop
non-null; the new opcode
opcode
)

Implements abstract org.droidparts.dexmaker.dx.dex.code.DalvInsn.withOpcode.

Returns an instance that is just like this one, except that its opcode is replaced by the one given, and its address is reset.
public DalvInsn
withRegisterOffset(int
the amount to offset register references by
delta
)

Implements abstract org.droidparts.dexmaker.dx.dex.code.DalvInsn.withRegisterOffset.

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.
public final void
writeTo(AnnotatedOutput
non-null; where to write to
out
)

Implements abstract org.droidparts.dexmaker.dx.dex.code.DalvInsn.writeTo.

Writes this instance to the given output.
Inherited from org.droidparts.dexmaker.dx.dex.code.DalvInsn:
argStringexpandedPrefixexpandedSuffixexpandedVersiongetAddressgetLowRegVersiongetMinimumRegisterRequirementgetNextAddressgetOpcodegetPositiongetRegistershasAddresshasResultidentifierStringlistingStringlistingString0makeMovesetAddresstoStringwithRegisters

Constructor Detail

ZeroSizeInsnback to summary
public ZeroSizeInsn(SourcePosition position)

Constructs an instance. The output address of this instance is initially unknown (-1).

Parameters
position:SourcePosition

non-null; source position

Method Detail

codeSizeback to summary
public final int codeSize()

Implements abstract org.droidparts.dexmaker.dx.dex.code.DalvInsn.codeSize.

Doc from org.droidparts.dexmaker.dx.dex.code.DalvInsn.codeSize.

Gets the size of this instruction, in 16-bit code units.

Returns:int

>= 0; the code size of this instruction

Annotations
@Override
withOpcodeback to summary
public final DalvInsn withOpcode(Dop opcode)

Implements abstract org.droidparts.dexmaker.dx.dex.code.DalvInsn.withOpcode.

Doc from org.droidparts.dexmaker.dx.dex.code.DalvInsn.withOpcode.

Returns an instance that is just like this one, except that its opcode is replaced by the one given, and its address is reset.

Parameters
opcode:Dop

non-null; the new opcode

Returns:DalvInsn

non-null; an appropriately-constructed instance

Annotations
@Override
withRegisterOffsetback to summary
public DalvInsn withRegisterOffset(int delta)

Implements abstract org.droidparts.dexmaker.dx.dex.code.DalvInsn.withRegisterOffset.

Doc from org.droidparts.dexmaker.dx.dex.code.DalvInsn.withRegisterOffset.

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.

Parameters
delta:int

the amount to offset register references by

Returns:DalvInsn

non-null; an appropriately-constructed instance

Annotations
@Override
writeToback to summary
public final void writeTo(AnnotatedOutput out)

Implements abstract org.droidparts.dexmaker.dx.dex.code.DalvInsn.writeTo.

Doc from org.droidparts.dexmaker.dx.dex.code.DalvInsn.writeTo.

Writes this instance to the given output. This method should never annotate the output.

Parameters
out:AnnotatedOutput

non-null; where to write to

Annotations
@Override