Class InlinedLineNumberInstr

All Implemented Interfaces:
FixedArityInstr

public class InlinedLineNumberInstr extends LineNumberInstr
This represents a linenumber instr that has been inlined into another method/closure. It's purpose is to record the scope so that if we are debugging we can know where this instr originally came from.
  • Constructor Details

    • InlinedLineNumberInstr

      public InlinedLineNumberInstr(IRScope scope, int lineNumber)
  • Method Details

    • toStringNonOperandArgs

      public String[] toStringNonOperandArgs()
      Overrides:
      toStringNonOperandArgs in class LineNumberInstr
    • clone

      public Instr clone(CloneInfo ii)
      Description copied from class: Instr
      Clone the instruction for use in an inlining context (either when a scope is inlined into another scope, or when a block has to be cloned because its associated call belongs to an inlined scope). This might renaming variables and labels to eliminate naming conflicts. The implementation might vary on the cloning mode.
      Overrides:
      clone in class LineNumberInstr
      Parameters:
      ii - This object manages renaming of variables and labels, handles args and return values.
      Returns:
      a new instruction that can be used in the target scope.
    • getScope

      public IRScope getScope()