|
FindBugs™ 1.3.9 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.umd.cs.findbugs.SourceLineAnnotation
public class SourceLineAnnotation
A BugAnnotation that records a range of source lines in a class.
BugAnnotation
,
Serialized FormField Summary | |
---|---|
static char |
CANONICAL_PACKAGE_SEPARATOR
|
static java.lang.String |
DEFAULT_ROLE
|
static java.lang.String |
DEFAULT_ROLE_UNKNOWN_LINE
|
static java.lang.String |
DESCRIPTION_LAST_CHANGE
|
static java.lang.String |
DESCRIPTION_LOOP_BOTTOM
|
static java.lang.String |
ROLE_ANOTHER_INSTANCE
|
static java.lang.String |
ROLE_CALLED_FROM_SUPERCLASS_AT
|
static java.lang.String |
ROLE_FIELD_SET_TOO_LATE_AT
|
static java.lang.String |
ROLE_GENERATED_AT
|
static java.lang.String |
ROLE_OBLIGATION_CREATED
|
static java.lang.String |
ROLE_OBLIGATION_CREATED_BY_WILLCLOSE_PARAMETER
|
static java.lang.String |
ROLE_PATH_CONTINUES
|
static java.lang.String |
UNKNOWN_SOURCE_FILE
String returned if the source file is unknown. |
Fields inherited from interface edu.umd.cs.findbugs.BugAnnotation |
---|
MESSAGE_TAG |
Constructor Summary | |
---|---|
SourceLineAnnotation(java.lang.String className,
java.lang.String sourceFile,
int startLine,
int endLine,
int startBytecode,
int endBytecode)
Constructor. |
Method Summary | |
---|---|
void |
accept(BugAnnotationVisitor visitor)
Accept a BugAnnotationVisitor. |
static void |
clearGenerateRelativeSource()
|
java.lang.Object |
clone()
|
int |
compareTo(BugAnnotation o)
|
static SourceLineAnnotation |
createReallyUnknown(java.lang.String className)
Factory method to create an unknown source line annotation. |
static SourceLineAnnotation |
createUnknown(java.lang.String className)
Factory method to create an unknown source line annotation. |
static SourceLineAnnotation |
createUnknown(java.lang.String className,
java.lang.String sourceFile)
Factory method to create an unknown source line annotation. |
static SourceLineAnnotation |
createUnknown(java.lang.String className,
java.lang.String sourceFile,
int startBytecode,
int endBytecode)
Factory method to create an unknown source line annotation. |
boolean |
equals(java.lang.Object o)
|
static SourceLineAnnotation |
forEntireMethod(org.apache.bcel.classfile.JavaClass javaClass,
org.apache.bcel.classfile.Method method)
Create a SourceLineAnnotation covering an entire method. |
static SourceLineAnnotation |
forEntireMethod(org.apache.bcel.classfile.JavaClass javaClass,
XMethod xmethod)
Create a SourceLineAnnotation covering an entire method. |
static SourceLineAnnotation |
forEntireMethod(java.lang.String className,
java.lang.String sourceFile,
org.apache.bcel.classfile.LineNumberTable lineNumberTable,
int codeSize)
Create a SourceLineAnnotation covering an entire method. |
static SourceLineAnnotation |
forFirstLineOfMethod(MethodDescriptor methodDescriptor)
Make a best-effort attempt to create a SourceLineAnnotation for the first line of a method. |
java.lang.String |
format(java.lang.String key,
ClassAnnotation primaryClass)
Format the annotation as a String. |
static SourceLineAnnotation |
fromRawData(java.lang.String className,
java.lang.String sourceFile,
int startLine,
int endLine,
int startPC,
int endPC)
|
static SourceLineAnnotation |
fromVisitedInstruction(BytecodeScanningDetector visitor)
Factory method for creating a source line annotation describing the source line number for the instruction being visited by given visitor. |
static SourceLineAnnotation |
fromVisitedInstruction(BytecodeScanningDetector visitor,
int pc)
Factory method for creating a source line annotation describing the source line number for the instruction being visited by given visitor. |
static SourceLineAnnotation |
fromVisitedInstruction(ClassContext classContext,
org.apache.bcel.generic.MethodGen methodGen,
java.lang.String sourceFile,
org.apache.bcel.generic.InstructionHandle handle)
Factory method for creating a source line annotation describing the source line number for a visited instruction. |
static SourceLineAnnotation |
fromVisitedInstruction(ClassContext classContext,
org.apache.bcel.classfile.Method method,
org.apache.bcel.generic.InstructionHandle handle)
Create from Method and InstructionHandle in a visited class. |
static SourceLineAnnotation |
fromVisitedInstruction(ClassContext classContext,
org.apache.bcel.classfile.Method method,
int pc)
Create from Method and bytecode offset in a visited class. |
static SourceLineAnnotation |
fromVisitedInstruction(ClassContext classContext,
org.apache.bcel.classfile.Method method,
Location loc)
Create from Method and Location in a visited class. |
static SourceLineAnnotation |
fromVisitedInstruction(ClassContext classContext,
PreorderVisitor visitor,
int pc)
Factory method for creating a source line annotation describing the source line number for the instruction being visited by given visitor. |
static SourceLineAnnotation |
fromVisitedInstruction(org.apache.bcel.classfile.JavaClass jclass,
org.apache.bcel.classfile.Method method,
int pc)
Create from Method and bytecode offset in a visited class. |
static SourceLineAnnotation |
fromVisitedInstruction(MethodDescriptor methodDescriptor,
int position)
|
static SourceLineAnnotation |
fromVisitedInstruction(MethodDescriptor methodDescriptor,
Location location)
Create from MethodDescriptor and Location of visited instruction. |
static SourceLineAnnotation |
fromVisitedInstructionRange(BytecodeScanningDetector visitor,
int startPC,
int endPC)
Factory method for creating a source line annotation describing the source line numbers for a range of instructions in the method being visited by the given visitor. |
static SourceLineAnnotation |
fromVisitedInstructionRange(ClassContext classContext,
org.apache.bcel.generic.MethodGen methodGen,
java.lang.String sourceFile,
org.apache.bcel.generic.InstructionHandle start,
org.apache.bcel.generic.InstructionHandle end)
Factory method for creating a source line annotation describing the source line numbers for a range of instruction in a method. |
static SourceLineAnnotation |
fromVisitedInstructionRange(ClassContext classContext,
PreorderVisitor visitor,
int startPC,
int endPC)
Factory method for creating a source line annotation describing the source line numbers for a range of instructions in the method being visited by the given visitor. |
static SourceLineAnnotation |
fromVisitedMethod(org.apache.bcel.generic.MethodGen methodGen,
java.lang.String sourceFile)
Factory method for creating a source line annotation describing an entire method. |
static SourceLineAnnotation |
fromVisitedMethod(PreorderVisitor visitor)
Factory method for creating a source line annotation describing an entire method. |
static void |
generateRelativeSource(java.io.File relativeSourceBase,
Project project)
|
java.lang.String |
getClassName()
Get the class name. |
java.lang.String |
getDescription()
Get a description of this bug annotation. |
int |
getEndBytecode()
Get end bytecode (inclusive). |
int |
getEndLine()
Get the ending line (inclusive). |
java.lang.String |
getPackageName()
Get the package name. |
java.lang.String |
getSimpleClassName()
Get the simple class name (the part of the name after the dot) |
java.lang.String |
getSourceFile()
Get the source file name. |
java.lang.String |
getSourcePath()
|
int |
getStartBytecode()
Get start bytecode (inclusive). |
int |
getStartLine()
Get the start line (inclusive). |
int |
hashCode()
|
boolean |
isSignificant()
Is this annotation used to compute instance hashes or match bug instances across versions |
boolean |
isSourceFileKnown()
Is the source file known? |
boolean |
isSynthetic()
|
boolean |
isUnknown()
Is this an unknown source line annotation? |
void |
setDescription(java.lang.String description)
Set a description of this bug annotation. |
void |
setSourceFile(java.lang.String sourceFile)
Set the source file name. |
void |
setSynthetic(boolean synthetic)
|
java.lang.String |
toString()
|
java.lang.String |
toString(ClassAnnotation primaryClass)
|
void |
writeXML(XMLOutput xmlOutput)
Write this object to given XMLOutput. |
void |
writeXML(XMLOutput xmlOutput,
boolean addMessages,
boolean isPrimary)
|
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String DEFAULT_ROLE
public static final java.lang.String DEFAULT_ROLE_UNKNOWN_LINE
public static final java.lang.String ROLE_ANOTHER_INSTANCE
public static final java.lang.String ROLE_CALLED_FROM_SUPERCLASS_AT
public static final java.lang.String ROLE_FIELD_SET_TOO_LATE_AT
public static final java.lang.String ROLE_GENERATED_AT
public static final java.lang.String ROLE_OBLIGATION_CREATED
public static final java.lang.String ROLE_OBLIGATION_CREATED_BY_WILLCLOSE_PARAMETER
public static final java.lang.String ROLE_PATH_CONTINUES
public static final java.lang.String UNKNOWN_SOURCE_FILE
public static final char CANONICAL_PACKAGE_SEPARATOR
public static final java.lang.String DESCRIPTION_LAST_CHANGE
public static final java.lang.String DESCRIPTION_LOOP_BOTTOM
Constructor Detail |
---|
public SourceLineAnnotation(@NonNull java.lang.String className, @NonNull java.lang.String sourceFile, int startLine, int endLine, int startBytecode, int endBytecode)
className
- the class to which the line number(s) refersourceFile
- the name of the source filestartLine
- the first line (inclusive)endLine
- the ending line (inclusive)startBytecode
- the first bytecode offset (inclusive)endBytecode
- the end bytecode offset (inclusive)Method Detail |
---|
public java.lang.Object clone()
clone
in interface BugAnnotation
clone
in class java.lang.Object
public static SourceLineAnnotation createUnknown(java.lang.String className, java.lang.String sourceFile)
className
- the class namesourceFile
- the source file name
public static SourceLineAnnotation createUnknown(java.lang.String className)
className
- the class name
public static SourceLineAnnotation createReallyUnknown(java.lang.String className)
className
- the class name
public static SourceLineAnnotation createUnknown(java.lang.String className, java.lang.String sourceFile, int startBytecode, int endBytecode)
className
- the class namesourceFile
- the source file name
public static SourceLineAnnotation fromVisitedMethod(PreorderVisitor visitor)
visitor
- a BetterVisitor which is visiting the method
public static SourceLineAnnotation fromVisitedMethod(org.apache.bcel.generic.MethodGen methodGen, java.lang.String sourceFile)
methodGen
- the method being visited
public static SourceLineAnnotation forEntireMethod(java.lang.String className, java.lang.String sourceFile, org.apache.bcel.classfile.LineNumberTable lineNumberTable, int codeSize)
className
- name of the class the method is insourceFile
- source file containing the methodlineNumberTable
- the method's LineNumberTablecodeSize
- size in bytes of the method's code
public static SourceLineAnnotation forEntireMethod(org.apache.bcel.classfile.JavaClass javaClass, @CheckForNull org.apache.bcel.classfile.Method method)
javaClass
- JavaClass containing the methodmethod
- the method
public static SourceLineAnnotation forEntireMethod(org.apache.bcel.classfile.JavaClass javaClass, XMethod xmethod)
javaClass
- JavaClass containing the methodxmethod
- the method
public static SourceLineAnnotation forFirstLineOfMethod(MethodDescriptor methodDescriptor)
methodDescriptor
- a method
public static SourceLineAnnotation fromVisitedInstruction(BytecodeScanningDetector visitor, int pc)
visitor
- a BetterVisitor which is visiting the methodpc
- the bytecode offset of the instruction in the method
public static SourceLineAnnotation fromVisitedInstruction(ClassContext classContext, PreorderVisitor visitor, int pc)
classContext
- the ClassContextvisitor
- a BetterVisitor which is visiting the methodpc
- the bytecode offset of the instruction in the method
public static SourceLineAnnotation fromVisitedInstruction(ClassContext classContext, org.apache.bcel.classfile.Method method, Location loc)
classContext
- ClassContext of visited classmethod
- Method in visited classloc
- Location in visited class
public static SourceLineAnnotation fromVisitedInstruction(ClassContext classContext, org.apache.bcel.classfile.Method method, org.apache.bcel.generic.InstructionHandle handle)
classContext
- ClassContext of visited classmethod
- Method in visited classhandle
- InstructionHandle in visited class
public static SourceLineAnnotation fromVisitedInstruction(MethodDescriptor methodDescriptor, Location location)
methodDescriptor
- MethodDescriptor identifying analyzed methodlocation
- Location of instruction within analyed method
public static SourceLineAnnotation fromVisitedInstruction(MethodDescriptor methodDescriptor, int position)
public static SourceLineAnnotation fromVisitedInstruction(ClassContext classContext, org.apache.bcel.classfile.Method method, int pc)
classContext
- ClassContext of visited classmethod
- Method in visited classpc
- bytecode offset in visited method
public static SourceLineAnnotation fromVisitedInstruction(org.apache.bcel.classfile.JavaClass jclass, org.apache.bcel.classfile.Method method, int pc)
jclass
- JavaClass of visited classmethod
- Method in visited classpc
- bytecode offset in visited method
public static SourceLineAnnotation fromVisitedInstructionRange(BytecodeScanningDetector visitor, int startPC, int endPC)
visitor
- a BetterVisitor which is visiting the methodstartPC
- the bytecode offset of the start instruction in the rangeendPC
- the bytecode offset of the end instruction in the range
public static SourceLineAnnotation fromVisitedInstructionRange(ClassContext classContext, PreorderVisitor visitor, int startPC, int endPC)
classContext
- the ClassContextvisitor
- a BetterVisitor which is visiting the methodstartPC
- the bytecode offset of the start instruction in the rangeendPC
- the bytecode offset of the end instruction in the range
public static SourceLineAnnotation fromRawData(java.lang.String className, java.lang.String sourceFile, int startLine, int endLine, int startPC, int endPC)
public static SourceLineAnnotation fromVisitedInstruction(BytecodeScanningDetector visitor)
visitor
- a DismantleBytecode visitor which is visiting the method
public static SourceLineAnnotation fromVisitedInstruction(ClassContext classContext, org.apache.bcel.generic.MethodGen methodGen, java.lang.String sourceFile, @NonNull org.apache.bcel.generic.InstructionHandle handle)
classContext
- the ClassContextmethodGen
- the MethodGen object representing the methodhandle
- the InstructionHandle containing the visited instruction
public static SourceLineAnnotation fromVisitedInstructionRange(ClassContext classContext, org.apache.bcel.generic.MethodGen methodGen, java.lang.String sourceFile, org.apache.bcel.generic.InstructionHandle start, org.apache.bcel.generic.InstructionHandle end)
classContext
- theClassContextmethodGen
- the methodstart
- the start instructionend
- the end instruction (inclusive)public java.lang.String getClassName()
public java.lang.String getSourceFile()
public boolean isSourceFileKnown()
public void setSourceFile(java.lang.String sourceFile)
sourceFile
- the source file namepublic java.lang.String getSimpleClassName()
public java.lang.String getPackageName()
public int getStartLine()
public int getEndLine()
public int getStartBytecode()
public int getEndBytecode()
public boolean isUnknown()
public void accept(BugAnnotationVisitor visitor)
BugAnnotation
accept
in interface BugAnnotation
visitor
- the visitor to acceptpublic java.lang.String format(java.lang.String key, ClassAnnotation primaryClass)
BugAnnotation
format
in interface BugAnnotation
key
- how the annotation should be formattedprimaryClass
- The primary class for the bug; some bug annotation format msgs are simplified in relation to that class.public java.lang.String getDescription()
BugAnnotation
getDescription
in interface BugAnnotation
public void setDescription(java.lang.String description)
BugAnnotation
setDescription
in interface BugAnnotation
public java.lang.String toString()
toString
in class java.lang.Object
public int compareTo(BugAnnotation o)
compareTo
in interface java.lang.Comparable<BugAnnotation>
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public void writeXML(XMLOutput xmlOutput) throws java.io.IOException
XMLWriteable
writeXML
in interface XMLWriteable
xmlOutput
- the XMLOutput for the document
java.io.IOException
public static void generateRelativeSource(java.io.File relativeSourceBase, Project project)
public static void clearGenerateRelativeSource()
public void writeXML(XMLOutput xmlOutput, boolean addMessages, boolean isPrimary) throws java.io.IOException
writeXML
in interface XMLWriteableWithMessages
java.io.IOException
public java.lang.String getSourcePath()
public void setSynthetic(boolean synthetic)
synthetic
- The synthetic to set.public boolean isSynthetic()
public boolean isSignificant()
BugAnnotation
isSignificant
in interface BugAnnotation
public java.lang.String toString(ClassAnnotation primaryClass)
toString
in interface BugAnnotation
|
FindBugs™ 1.3.9 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |