Class LocalStart


public final class LocalStart extends ZeroSizeInsn
Pseudo-instruction which is used to introduce a new local variable. That is, an instance of this class in an instruction stream indicates that starting with the subsequent instruction, the indicated variable is bound.
  • Constructor Details

    • LocalStart

      public LocalStart(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 Details

    • localString

      public static String localString(RegisterSpec spec)
      Returns the local variable listing string for a single register spec.
      Parameters:
      spec - non-null; the spec to convert
      Returns:
      non-null; the string form
    • 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 introduced 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
    • withMapper

      public DalvInsn withMapper(RegisterMapper mapper)
      Returns an instance that is just like this one, except that the register list is mapped by using mapper.
      Overrides:
      withMapper in class DalvInsn
      Parameters:
      mapper - non-null; used to map registers
      Returns:
      non-null; an appropriately-constructed instance