FindBugs™ 1.3.9

edu.umd.cs.findbugs.ba
Class SourceInfoMap

java.lang.Object
  extended by edu.umd.cs.findbugs.ba.SourceInfoMap

public class SourceInfoMap
extends java.lang.Object

Global information about the source code for an application. Currently, this object contains a map of source line information for fields and classes (items we don't get line number information for directly in classfiles), and also source line information for methods that don't appear directly in classfiles, such as abstract and native methods.

Author:
David Hovemeyer

Nested Class Summary
static class SourceInfoMap.SourceLineRange
          A range of source lines.
 
Constructor Summary
SourceInfoMap()
          Constructor.
 
Method Summary
 void addClassLine(java.lang.String className, SourceInfoMap.SourceLineRange range)
          Add line number entry for a class.
 void addFieldLine(java.lang.String className, java.lang.String fieldName, SourceInfoMap.SourceLineRange range)
          Add a line number entry for a field.
 void addMethodLine(java.lang.String className, java.lang.String methodName, java.lang.String methodSignature, SourceInfoMap.SourceLineRange range)
          Add a line number entry for a method.
 boolean fallBackToClassfile()
           
 SourceInfoMap.SourceLineRange getClassLine(java.lang.String className)
          Look up the line number range for a class.
 SourceInfoMap.SourceLineRange getFieldLine(java.lang.String className, java.lang.String fieldName)
          Look up the line number range for a field.
 SourceInfoMap.SourceLineRange getMethodLine(java.lang.String className, java.lang.String methodName, java.lang.String methodSignature)
          Look up the line number range for a method.
 boolean isEmpty()
           
 void read(java.io.InputStream inputStream)
          Read source info from given InputStream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SourceInfoMap

public SourceInfoMap()
Constructor. Creates an empty object.

Method Detail

fallBackToClassfile

public boolean fallBackToClassfile()

isEmpty

public boolean isEmpty()

addFieldLine

public void addFieldLine(java.lang.String className,
                         java.lang.String fieldName,
                         SourceInfoMap.SourceLineRange range)
Add a line number entry for a field.

Parameters:
className - name of class containing the field
fieldName - name of field
range - the line number(s) of the field

addMethodLine

public void addMethodLine(java.lang.String className,
                          java.lang.String methodName,
                          java.lang.String methodSignature,
                          SourceInfoMap.SourceLineRange range)
Add a line number entry for a method.

Parameters:
className - name of class containing the method
methodName - name of method
methodSignature - signature of method
range - the line number of the method

addClassLine

public void addClassLine(java.lang.String className,
                         SourceInfoMap.SourceLineRange range)
Add line number entry for a class.

Parameters:
className - name of class
range - the line numbers of the class

getFieldLine

@CheckForNull
public SourceInfoMap.SourceLineRange getFieldLine(java.lang.String className,
                                                               java.lang.String fieldName)
Look up the line number range for a field.

Parameters:
className - name of class containing the field
fieldName - name of field
Returns:
the line number range, or null if no line number is known for the field

getMethodLine

@CheckForNull
public SourceInfoMap.SourceLineRange getMethodLine(java.lang.String className,
                                                                java.lang.String methodName,
                                                                java.lang.String methodSignature)
Look up the line number range for a method.

Parameters:
className - name of class containing the method
methodName - name of method
methodSignature - signature of method
Returns:
the line number range, or null if no line number is known for the method

getClassLine

@CheckForNull
public SourceInfoMap.SourceLineRange getClassLine(java.lang.String className)
Look up the line number range for a class.

Parameters:
className - name of the class
Returns:
the line number range, or null if no line number is known for the class

read

public void read(@WillClose
                 java.io.InputStream inputStream)
          throws java.io.IOException
Read source info from given InputStream. The stream is guaranteed to be closed.

Parameters:
inputStream - the InputStream
Throws:
java.io.IOException - if an I/O error occurs, or if the format is invalid

FindBugs™ 1.3.9

FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.