Package serp.bytecode

Class LineNumber

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void acceptVisit​(BCVisitor visit)
      Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.
      int compareTo​(java.lang.Object other)  
      java.lang.ClassLoader getClassLoader()
      Return the class loader to use when loading related classes.
      Code getCode()
      Returns the Code block that owns the Instruction(s) this InstructionPtr points to.
      int getLine()
      Return source line number.
      ConstantPool getPool()
      Return the constant pool of the current class.
      Project getProject()
      Return the project of the current class.
      Instruction getStart()
      Return the instruction marking the beginning of this line.
      int getStartPc()
      Return the index into the code byte array at which this line starts.
      LineNumberTable getTable()
      Line numbers are stored in a LineNumberTable.
      boolean isValid()
      Return false if this entity has been removed from its parent; in this case the results of any operations on the entity are undefined.
      void replaceTarget​(Instruction oldTarget, Instruction newTarget)
      Replace the given old, likely invalid, target with a new target.
      void setLine​(int lineNumber)
      Set the source line number.
      void setStart​(Instruction instruction)
      Set the Instruction marking the beginning this line.
      void setStartPc​(int startPc)
      Set the index into the code byte array at which this line starts.
      void updateTargets()
      Use the byte indexes read from the class file to calculate and set references to the target instruction(s) for this ptr.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getLine

        public int getLine()
        Return source line number.
      • setLine

        public void setLine​(int lineNumber)
        Set the source line number.
      • getStart

        public Instruction getStart()
        Return the instruction marking the beginning of this line.
      • getStartPc

        public int getStartPc()
        Return the index into the code byte array at which this line starts.
      • setStartPc

        public void setStartPc​(int startPc)
        Set the index into the code byte array at which this line starts.
      • setStart

        public void setStart​(Instruction instruction)
        Set the Instruction marking the beginning this line. The instruction must already be a part of the method.
      • updateTargets

        public void updateTargets()
        Description copied from interface: InstructionPtr
        Use the byte indexes read from the class file to calculate and set references to the target instruction(s) for this ptr. This method will be called after the byte code has been read in for the first time and before it is written after modification.
        Specified by:
        updateTargets in interface InstructionPtr
      • replaceTarget

        public void replaceTarget​(Instruction oldTarget,
                                  Instruction newTarget)
        Description copied from interface: InstructionPtr
        Replace the given old, likely invalid, target with a new target. The new target Instruction is guaranteed to be in the same code block as this InstructionPtr.
        Specified by:
        replaceTarget in interface InstructionPtr
      • getProject

        public Project getProject()
        Description copied from interface: BCEntity
        Return the project of the current class.
        Specified by:
        getProject in interface BCEntity
      • getPool

        public ConstantPool getPool()
        Description copied from interface: BCEntity
        Return the constant pool of the current class.
        Specified by:
        getPool in interface BCEntity
      • getClassLoader

        public java.lang.ClassLoader getClassLoader()
        Description copied from interface: BCEntity
        Return the class loader to use when loading related classes.
        Specified by:
        getClassLoader in interface BCEntity
      • isValid

        public boolean isValid()
        Description copied from interface: BCEntity
        Return false if this entity has been removed from its parent; in this case the results of any operations on the entity are undefined.
        Specified by:
        isValid in interface BCEntity
      • acceptVisit

        public void acceptVisit​(BCVisitor visit)
        Description copied from interface: VisitAcceptor
        Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.
        Specified by:
        acceptVisit in interface VisitAcceptor
      • compareTo

        public int compareTo​(java.lang.Object other)
        Specified by:
        compareTo in interface java.lang.Comparable
      • getCode

        public Code getCode()
        Description copied from interface: InstructionPtr
        Returns the Code block that owns the Instruction(s) this InstructionPtr points to.
        Specified by:
        getCode in interface InstructionPtr