Package edu.umd.cs.findbugs.ba
Class SourceInfoMap
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.SourceInfoMap
-
public class SourceInfoMap extends java.lang.ObjectGlobal 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
Nested Classes Modifier and Type Class Description static classSourceInfoMap.SourceLineRangeA range of source lines.
-
Constructor Summary
Constructors Constructor Description SourceInfoMap()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddClassLine(java.lang.String className, SourceInfoMap.SourceLineRange range)Add line number entry for a class.voidaddFieldLine(java.lang.String className, java.lang.String fieldName, SourceInfoMap.SourceLineRange range)Add a line number entry for a field.voidaddMethodLine(java.lang.String className, java.lang.String methodName, java.lang.String methodSignature, SourceInfoMap.SourceLineRange range)Add a line number entry for a method.booleanfallBackToClassfile()SourceInfoMap.SourceLineRangegetClassLine(java.lang.String className)Look up the line number range for a class.SourceInfoMap.SourceLineRangegetFieldLine(java.lang.String className, java.lang.String fieldName)Look up the line number range for a field.SourceInfoMap.SourceLineRangegetMethodLine(java.lang.String className, java.lang.String methodName, java.lang.String methodSignature)Look up the line number range for a method.booleanisEmpty()voidread(java.io.InputStream inputStream)Read source info from given InputStream.
-
-
-
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 fieldfieldName- name of fieldrange- 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 methodmethodName- name of methodmethodSignature- signature of methodrange- 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 classrange- 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 fieldfieldName- 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 methodmethodName- name of methodmethodSignature- 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.IOExceptionRead 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
-
-