com.android.dx.dex.code
Class LocalEnd

java.lang.Object
  extended by com.android.dx.dex.code.DalvInsn
      extended by com.android.dx.dex.code.ZeroSizeInsn
          extended by com.android.dx.dex.code.LocalEnd

public final class LocalEnd
extends ZeroSizeInsn

Pseudo-instruction which is used to explicitly end the mapping of a register to a named local variable. That is, an instance of this class in an instruction stream indicates that starting with the subsequent instruction, the indicated variable is no longer valid.


Constructor Summary
LocalEnd(SourcePosition position, RegisterSpec local)
          Constructs an instance.
 
Method Summary
protected  String argString()
          Gets the string form for any arguments to this instance.
 RegisterSpec getLocal()
          Gets the register spec representing the local variable ended by this instance.
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 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.
 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.
 
Methods inherited from class com.android.dx.dex.code.ZeroSizeInsn
codeSize, withOpcode, writeTo
 
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

LocalEnd

public LocalEnd(SourcePosition position,
                RegisterSpec local)
Constructs an instance. The output address of this instance is initially unknown (-1).

Parameters:
position - non-null; source position
local - non-null; register spec representing the local variable introduced by this instance
Method Detail

withRegisterOffset

public 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.

Overrides:
withRegisterOffset in class ZeroSizeInsn
Parameters:
delta - the amount to offset register references by
Returns:
non-null; an appropriately-constructed instance

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

getLocal

public RegisterSpec getLocal()
Gets the register spec representing the local variable ended by this instance.

Returns:
non-null; the register spec

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.