com.android.dx.dex.code
Class OddSpacer

java.lang.Object
  extended by com.android.dx.dex.code.DalvInsn
      extended by com.android.dx.dex.code.VariableSizeInsn
          extended by com.android.dx.dex.code.OddSpacer

public final class OddSpacer
extends VariableSizeInsn

Pseudo-instruction which either turns into a nop or nothingness, in order to make the subsequent instruction have an even address. This is used to align (subsequent) instructions that require it.


Constructor Summary
OddSpacer(SourcePosition position)
          Constructs an instance.
 
Method Summary
protected  String argString()
          Gets the string form for any arguments to this instance.
 int codeSize()
          Gets the size of this instruction, in 16-bit code units.
protected  String listingString0(boolean noteIndices)
          Helper for DalvInsn.listingString(java.lang.String, int, boolean), which returns the string form of this instance suitable for inclusion in a human-oriented listing dump, not including the instruction address and without respect for any output formatting.
 DalvInsn withRegisters(RegisterSpecList registers)
          Returns an instance that is just like this one, except that the register list is replaced by the given one, and its address is reset.
 void writeTo(AnnotatedOutput out)
          Writes this instance to the given output.
 
Methods inherited from class com.android.dx.dex.code.VariableSizeInsn
withOpcode, withRegisterOffset
 
Methods inherited from class com.android.dx.dex.code.DalvInsn
expandedPrefix, expandedSuffix, expandedVersion, getAddress, getLowRegVersion, getMinimumRegisterRequirement, getNextAddress, getOpcode, getPosition, getRegisters, hasAddress, hasResult, identifierString, listingString, makeMove, setAddress, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OddSpacer

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

Parameters:
position - non-null; source position
Method Detail

codeSize

public int codeSize()
Gets the size of this instruction, in 16-bit code units.

Specified by:
codeSize in class DalvInsn
Returns:
>= 0; the code size of this instruction

writeTo

public void writeTo(AnnotatedOutput out)
Writes this instance to the given output. This method should never annotate the output.

Specified by:
writeTo in class DalvInsn
Parameters:
out - non-null; where to write to

withRegisters

public DalvInsn withRegisters(RegisterSpecList registers)
Returns an instance that is just like this one, except that the register list is replaced by the given one, and its address is reset.

Specified by:
withRegisters in class DalvInsn
Parameters:
registers - non-null; new register list
Returns:
non-null; an appropriately-constructed instance

argString

protected String argString()
Gets the string form for any arguments to this instance. Subclasses must override this.

Specified by:
argString in class DalvInsn
Returns:
null-ok; the string version of any arguments or null if there are none

listingString0

protected String listingString0(boolean noteIndices)
Helper for DalvInsn.listingString(java.lang.String, int, boolean), which returns the string form of this instance suitable for inclusion in a human-oriented listing dump, not including the instruction address and without respect for any output formatting. This method should return null if this instance should not appear in a listing.

Specified by:
listingString0 in class DalvInsn
Parameters:
noteIndices - whether to include an explicit notation of constant pool indices
Returns:
null-ok; the listing string


Copyright © 2013. All Rights Reserved.