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

public final Class Form22t

extends InsnFormat
Class Inheritance
Imports
org.droidparts.dexmaker.dx.dex.code.DalvInsn, .InsnFormat, .TargetInsn, org.droidparts.dexmaker.dx.rop.code.RegisterSpecList, org.droidparts.dexmaker.dx.util.AnnotatedOutput, java.util.BitSet

Instruction format 22t. See the instruction format spec for details.

Field Summary

Modifier and TypeField and Description
public static final InsnFormat
THE_ONE

non-null; unique instance of this class

Inherited from org.droidparts.dexmaker.dx.dex.code.InsnFormat:
ALLOW_EXTENDED_OPCODES

Constructor Summary

AccessConstructor and Description
private
Form22t()

Constructs an instance.

Method Summary

Modifier and TypeMethod and Description
public boolean
branchFits(TargetInsn
non-null; the instruction to check
insn
)

Overrides org.droidparts.dexmaker.dx.dex.code.InsnFormat.branchFits.

Returns whether or not the given instruction's branch offset will fit in this instance's format.
public int
codeSize()

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

Gets the code size of instructions that use this format.
public BitSet
compatibleRegs(DalvInsn
non-null; the instruction to check
insn
)

Overrides org.droidparts.dexmaker.dx.dex.code.InsnFormat.compatibleRegs.

Returns which of a given instruction's registers will fit in this instance's format.
public String
insnArgString(DalvInsn
non-null; the instruction
insn
)

Implements abstract org.droidparts.dexmaker.dx.dex.code.InsnFormat.insnArgString.

Returns the string form of the arguments to the given instruction.
public String
insnCommentString(DalvInsn
non-null; the instruction
insn
,
boolean
whether to include an explicit notation of constant pool indices
noteIndices
)

Implements abstract org.droidparts.dexmaker.dx.dex.code.InsnFormat.insnCommentString.

Returns the associated comment for the given instruction, if any.
public boolean
isCompatible(DalvInsn
non-null; the instruction to check
insn
)

Implements abstract org.droidparts.dexmaker.dx.dex.code.InsnFormat.isCompatible.

Returns whether or not the given instruction's arguments will fit in this instance's format.
public void
writeTo(AnnotatedOutput
non-null; the output destination to write to
out
,
DalvInsn
non-null; the instruction to write
insn
)

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

Writes the code units for the given instruction to the given output destination.
Inherited from org.droidparts.dexmaker.dx.dex.code.InsnFormat:
argIndexbranchCommentbranchStringcodeUnitcodeUnitcstCommentcstStringisRegListSequentiallistingStringliteralBitsCommentliteralBitsStringmakeByteopcodeUnitopcodeUnitregListStringregRangeStringsignedFitsInBytesignedFitsInNibblesignedFitsInShortunsignedFitsInByteunsignedFitsInNibbleunsignedFitsInShortwritewritewritewritewritewritewritewritewrite

Field Detail

THE_ONEback to summary
public static final InsnFormat THE_ONE

non-null; unique instance of this class

Constructor Detail

Form22tback to summary
private Form22t()

Constructs an instance. This class is not publicly instantiable. Use THE_ONE.

Method Detail

branchFitsback to summary
public boolean branchFits(TargetInsn insn)

Overrides org.droidparts.dexmaker.dx.dex.code.InsnFormat.branchFits.

Doc from org.droidparts.dexmaker.dx.dex.code.InsnFormat.branchFits.

Returns whether or not the given instruction's branch offset will fit in this instance's format. This always returns false for formats that don't include a branch offset.

The default implementation of this method always returns false. Subclasses must override this method if they include branch offsets.

Parameters
insn:TargetInsn

non-null; the instruction to check

Returns:boolean

true iff the instruction's branch offset is appropriate for this instance, or false if not

Annotations
@Override
codeSizeback to summary
public int codeSize()

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

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

Gets the code size of instructions that use this format. The size is a number of 16-bit code units, not bytes. This should throw an exception if this format is of variable size.

Returns:int

>= 0; the instruction length in 16-bit code units

Annotations
@Override
compatibleRegsback to summary
public BitSet compatibleRegs(DalvInsn insn)

Overrides org.droidparts.dexmaker.dx.dex.code.InsnFormat.compatibleRegs.

Doc from org.droidparts.dexmaker.dx.dex.code.InsnFormat.compatibleRegs.

Returns which of a given instruction's registers will fit in this instance's format.

The default implementation of this method always returns an empty BitSet. Subclasses must override this method if they have registers.

Parameters
insn:DalvInsn

non-null; the instruction to check

Returns:BitSet

non-null; a BitSet flagging registers in the register list that are compatible to this format

Annotations
@Override
insnArgStringback to summary
public String insnArgString(DalvInsn insn)

Implements abstract org.droidparts.dexmaker.dx.dex.code.InsnFormat.insnArgString.

Doc from org.droidparts.dexmaker.dx.dex.code.InsnFormat.insnArgString.

Returns the string form of the arguments to the given instruction. The instruction must be of this instance's format. If the instruction has no arguments, then the result should be "", not null.

Subclasses must override this method.

Parameters
insn:DalvInsn

non-null; the instruction

Returns:String

non-null; the string form

Annotations
@Override
insnCommentStringback to summary
public String insnCommentString(DalvInsn insn, boolean noteIndices)

Implements abstract org.droidparts.dexmaker.dx.dex.code.InsnFormat.insnCommentString.

Doc from org.droidparts.dexmaker.dx.dex.code.InsnFormat.insnCommentString.

Returns the associated comment for the given instruction, if any. The instruction must be of this instance's format. If the instruction has no comment, then the result should be "", not null.

Subclasses must override this method.

Parameters
insn:DalvInsn

non-null; the instruction

noteIndices:boolean

whether to include an explicit notation of constant pool indices

Returns:String

non-null; the string form

Annotations
@Override
isCompatibleback to summary
public boolean isCompatible(DalvInsn insn)

Implements abstract org.droidparts.dexmaker.dx.dex.code.InsnFormat.isCompatible.

Doc from org.droidparts.dexmaker.dx.dex.code.InsnFormat.isCompatible.

Returns whether or not the given instruction's arguments will fit in this instance's format. This includes such things as counting register arguments, checking register ranges, and making sure that additional arguments are of appropriate types and are in-range. If this format has a branch target but the instruction's branch offset is unknown, this method will simply not check the offset.

Subclasses must override this method.

Parameters
insn:DalvInsn

non-null; the instruction to check

Returns:boolean

true iff the instruction's arguments are appropriate for this instance, or false if not

Annotations
@Override
writeToback to summary
public void writeTo(AnnotatedOutput out, DalvInsn insn)

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

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

Writes the code units for the given instruction to the given output destination. The instruction must be of this instance's format.

Subclasses must override this method.

Parameters
out:AnnotatedOutput

non-null; the output destination to write to

insn:DalvInsn

non-null; the instruction to write

Annotations
@Override