Class LineNumberMap

java.lang.Object
edu.umd.cs.findbugs.ba.LineNumberMap

public class LineNumberMap extends Object
Summarize line numbers (and other source information) for a method.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final boolean
    Set this property to true to get debug print statements.
    private boolean
     
    private static final boolean
    When this is true, the workaround for the bug in BCEL 5.0's LineNumberTable class is disabled.
    private final IdentityHashMap<org.apache.bcel.generic.InstructionHandle,org.apache.bcel.classfile.LineNumber>
     
    private final org.apache.bcel.generic.MethodGen
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    LineNumberMap(org.apache.bcel.generic.MethodGen methodGen)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Build the line number information.
    private void
    checkTable(org.apache.bcel.classfile.LineNumberTable table)
     
    boolean
    Does this method have line number information?
    org.apache.bcel.classfile.LineNumber
    lookupLineNumber(org.apache.bcel.generic.InstructionHandle handle)
    Find the line number information for instruction whose handle is given.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEBUG

      private static final boolean DEBUG
      Set this property to true to get debug print statements.
    • LINE_NUMBER_BUG

      private static final boolean LINE_NUMBER_BUG
      When this is true, the workaround for the bug in BCEL 5.0's LineNumberTable class is disabled.
    • methodGen

      private final org.apache.bcel.generic.MethodGen methodGen
    • lineNumberMap

      private final IdentityHashMap<org.apache.bcel.generic.InstructionHandle,org.apache.bcel.classfile.LineNumber> lineNumberMap
    • hasLineNumbers

      private boolean hasLineNumbers
  • Constructor Details

    • LineNumberMap

      public LineNumberMap(org.apache.bcel.generic.MethodGen methodGen)
      Constructor.
      Parameters:
      methodGen - the method to summarize line numbers for
  • Method Details

    • build

      public void build()
      Build the line number information. Should be called before any other methods.
    • checkTable

      private void checkTable(org.apache.bcel.classfile.LineNumberTable table)
    • hasLineNumbers

      public boolean hasLineNumbers()
      Does this method have line number information?
    • lookupLineNumber

      public org.apache.bcel.classfile.LineNumber lookupLineNumber(org.apache.bcel.generic.InstructionHandle handle)
      Find the line number information for instruction whose handle is given.
      Parameters:
      handle - the InstructionHandle
      Returns:
      the LineNumber object containing bytecode offset and source line number