Class InsnRange


  • public class InsnRange
    extends java.lang.Object
    Struct for representing a range of instructions
    • Field Summary

      Fields 
      Modifier and Type Field Description
      int end
      End of the range (line number)
      int marker
      Range marker (index of insn)
      int start
      Start of the range (line number)
    • Constructor Summary

      Constructors 
      Constructor Description
      InsnRange​(int start, int end, int marker)
      Create a range with the specified values.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Deque<org.objectweb.asm.tree.AbstractInsnNode> apply​(org.objectweb.asm.tree.InsnList insns, boolean inclusive)
      Apply this range to the specified insn list
      boolean contains​(int value)
      Returns true if the supplied value is between or equal to start and end
      boolean excludes​(int value)
      Returns true if the supplied value is outside the range
      boolean isValid()
      Range is valid if both start and end are nonzero and end is after or at start
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • start

        public final int start
        Start of the range (line number)
      • end

        public final int end
        End of the range (line number)
      • marker

        public final int marker
        Range marker (index of insn)
    • Constructor Detail

      • InsnRange

        public InsnRange​(int start,
                         int end,
                         int marker)
        Create a range with the specified values.
        Parameters:
        start - Start of the range
        end - End of the range
        marker - Arbitrary marker value
    • Method Detail

      • isValid

        public boolean isValid()
        Range is valid if both start and end are nonzero and end is after or at start
        Returns:
        true if valid
      • contains

        public boolean contains​(int value)
        Returns true if the supplied value is between or equal to start and end
        Parameters:
        value - true if the range contains value
      • excludes

        public boolean excludes​(int value)
        Returns true if the supplied value is outside the range
        Parameters:
        value - true if the range does not contain value
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • apply

        public java.util.Deque<org.objectweb.asm.tree.AbstractInsnNode> apply​(org.objectweb.asm.tree.InsnList insns,
                                                                              boolean inclusive)
        Apply this range to the specified insn list
        Parameters:
        insns - insn list to filter
        inclusive - whether to include or exclude instructions
        Returns:
        filtered list