Class ProgramCounter

  • Direct Known Subclasses:
    CallSiteReference, NewSiteReference

    public class ProgramCounter
    extends Object
    Simple object that represents a program counter value (i.e., an instruction in the bytecode)
    • Field Detail

      • NO_SOURCE_LINE_NUMBER

        public static final int NO_SOURCE_LINE_NUMBER
        A constant indicating no source line number information is available.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ProgramCounter

        public ProgramCounter​(int programCounter)
        Parameters:
        programCounter - Index into bytecode describing this instruction
    • Method Detail

      • getProgramCounter

        public int getProgramCounter()
        Return the program counter (index into the method's bytecode) for this call site.
        Returns:
        the program counter (index into the method's bytecode) for this call site.
      • equals

        public boolean equals​(Object obj)
        A Program Counter value is enough to uniquely identify a call site reference within a method. Note: must use these objects with extreme care; this only works if you never mix ProgramLocations from different methods in the same collection.
        Overrides:
        equals in class Object
        See Also:
        Object.equals(Object)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object