public class edu.umd.cs.findbugs.SourceLineAnnotation implements edu.umd.cs.findbugs.BugAnnotation
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: edu.umd.cs.findbugs.SourceLineAnnotation
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final java.lang.String DEFAULT_ROLE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SOURCE_LINE_DEFAULT"
public static final java.lang.String DEFAULT_ROLE_UNKNOWN_LINE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SOURCE_LINE_DEFAULT_UNKNOWN_LINE"
public static final java.lang.String ROLE_ANOTHER_INSTANCE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SOURCE_LINE_ANOTHER_INSTANCE"
public static final java.lang.String ROLE_CALLED_FROM_SUPERCLASS_AT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SOURCE_LINE_CALLED_FROM_SUPERCLASS_AT"
public static final java.lang.String ROLE_FIELD_SET_TOO_LATE_AT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SOURCE_LINE_FIELD_SET_TOO_LATE_AT"
public static final java.lang.String ROLE_GENERATED_AT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SOURCE_LINE_GENERATED_AT"
public static final java.lang.String ROLE_OBLIGATION_CREATED;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SOURCE_LINE_OBLIGATION_CREATED"
public static final java.lang.String ROLE_OBLIGATION_CREATED_BY_WILLCLOSE_PARAMETER;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SOURCE_LINE_OBLIGATION_CREATED_BY_WILLCLOSE_PARAMETER"
public static final java.lang.String ROLE_PATH_CONTINUES;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SOURCE_LINE_PATH_CONTINUES"
public static final java.lang.String ROLE_LOCK_OBTAINED_AT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SOURCE_LINE_LOCK_OBTAINED_AT"
public static final java.lang.String ROLE_UNREACHABLE_CODE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SOURCE_UNREACHABLE_CODE"
public static final java.lang.String UNKNOWN_SOURCE_FILE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "<Unknown>"
public static final char CANONICAL_PACKAGE_SEPARATOR;
descriptor: C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 47
private java.lang.String description;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private final java.lang.String className;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
private java.lang.String sourceFile;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private final int startLine;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int endLine;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int startBytecode;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int endBytecode;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean synthetic;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public static final java.lang.String DESCRIPTION_LAST_CHANGE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SOURCE_LINE_LAST_CHANGE"
public static final java.lang.String DESCRIPTION_LOOP_BOTTOM;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SOURCE_LINE_LOOP_BOTTOM"
static final java.lang.ThreadLocal<edu.umd.cs.findbugs.Project> myProject;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ledu/umd/cs/findbugs/Project;>;
static final java.lang.ThreadLocal<java.lang.String> relativeSourceBase;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/String;>;
private static final java.lang.String ELEMENT_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "SourceLine"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putstatic edu.umd.cs.findbugs.SourceLineAnnotation.myProject:Ljava/lang/ThreadLocal;
1: new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putstatic edu.umd.cs.findbugs.SourceLineAnnotation.relativeSourceBase:Ljava/lang/ThreadLocal;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, java.lang.String, int, int, int, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;IIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "class name is null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 2
ldc "source file is null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 0
ldc "SOURCE_LINE_DEFAULT"
putfield edu.umd.cs.findbugs.SourceLineAnnotation.description:Ljava/lang/String;
4: aload 0
aload 1
putfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
5: aload 0
aload 2
putfield edu.umd.cs.findbugs.SourceLineAnnotation.sourceFile:Ljava/lang/String;
6: aload 0
iload 3
putfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
7: aload 0
iload 4
putfield edu.umd.cs.findbugs.SourceLineAnnotation.endLine:I
8: aload 0
iload 5
putfield edu.umd.cs.findbugs.SourceLineAnnotation.startBytecode:I
9: aload 0
iload 6
putfield edu.umd.cs.findbugs.SourceLineAnnotation.endBytecode:I
10: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
0 11 1 className Ljava/lang/String;
0 11 2 sourceFile Ljava/lang/String;
0 11 3 startLine I
0 11 4 endLine I
0 11 5 startBytecode I
0 11 6 endBytecode I
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
javax.annotation.Nonnull()
METHOD_FORMAL_PARAMETER
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
METHOD_FORMAL_PARAMETER
javax.annotation.Nonnull()
RuntimeVisibleParameterAnnotations:
0:
javax.annotation.Nonnull()
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
1:
javax.annotation.Nonnull()
2:
3:
4:
5:
MethodParameters:
Name Flags
className
sourceFile
startLine
endLine
startBytecode
endBytecode
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.clone:()Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.CloneNotSupportedException
astore 1
start local 1 3: new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
3 4 1 e Ljava/lang/CloneNotSupportedException;
Exception table:
from to target type
0 1 2 Class java.lang.CloneNotSupportedException
public static edu.umd.cs.findbugs.SourceLineAnnotation createUnknown(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_m1
iconst_m1
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 className Ljava/lang/String;
0 1 1 sourceFile Ljava/lang/String;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
RuntimeVisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
1:
MethodParameters:
Name Flags
className
sourceFile
public static edu.umd.cs.findbugs.SourceLineAnnotation createUnknown(java.lang.String);
descriptor: (Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
aload 0
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.lookupSourceFile:(Ljava/lang/String;)Ljava/lang/String;
iconst_m1
iconst_m1
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 className Ljava/lang/String;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
RuntimeVisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
MethodParameters:
Name Flags
className
public static edu.umd.cs.findbugs.SourceLineAnnotation createReallyUnknown(java.lang.String);
descriptor: (Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc "<Unknown>"
iconst_m1
iconst_m1
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 className Ljava/lang/String;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
RuntimeVisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
MethodParameters:
Name Flags
className
public static edu.umd.cs.findbugs.SourceLineAnnotation createUnknown(java.lang.String, java.lang.String, int, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new edu.umd.cs.findbugs.SourceLineAnnotation
dup
aload 0
aload 1
iconst_m1
iconst_m1
iload 2
iload 3
invokespecial edu.umd.cs.findbugs.SourceLineAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;IIII)V
astore 4
start local 4 1: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 className Ljava/lang/String;
0 2 1 sourceFile Ljava/lang/String;
0 2 2 startBytecode I
0 2 3 endBytecode I
1 2 4 result Ledu/umd/cs/findbugs/SourceLineAnnotation;
RuntimeVisibleAnnotations:
javax.annotation.Nonnull()
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
METHOD_RETURN
javax.annotation.Nonnull()
RuntimeVisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
1:
2:
3:
MethodParameters:
Name Flags
className
sourceFile
startBytecode
endBytecode
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedMethod(edu.umd.cs.findbugs.visitclass.PreorderVisitor);
descriptor: (Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.PreorderVisitor.getDottedClassName:()Ljava/lang/String;
aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.PreorderVisitor.getMethodName:()Ljava/lang/String;
1: aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.PreorderVisitor.getMethodSig:()Ljava/lang/String;
2: invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.getSourceAnnotationForMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
astore 1
start local 1 3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 visitor Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;
3 4 1 sourceLines Ledu/umd/cs/findbugs/SourceLineAnnotation;
MethodParameters:
Name Flags
visitor
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedMethod(org.apache.bcel.generic.MethodGen, java.lang.String);
descriptor: (Lorg/apache/bcel/generic/MethodGen;Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokevirtual org.apache.bcel.generic.MethodGen.getConstantPool:()Lorg/apache/bcel/generic/ConstantPoolGen;
invokevirtual org.apache.bcel.generic.MethodGen.getLineNumberTable:(Lorg/apache/bcel/generic/ConstantPoolGen;)Lorg/apache/bcel/classfile/LineNumberTable;
astore 2
start local 2 1: aload 0
invokevirtual org.apache.bcel.generic.MethodGen.getClassName:()Ljava/lang/String;
astore 3
start local 3 2: aload 0
invokevirtual org.apache.bcel.generic.MethodGen.getInstructionList:()Lorg/apache/bcel/generic/InstructionList;
invokevirtual org.apache.bcel.generic.InstructionList.getLength:()I
istore 4
start local 4 3: aload 2
ifnonnull 5
4: aload 3
aload 1
iconst_0
iload 4
iconst_1
isub
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
5: StackMap locals: org.apache.bcel.classfile.LineNumberTable java.lang.String int
StackMap stack:
aload 3
aload 1
aload 2
iload 4
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.forEntireMethod:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/classfile/LineNumberTable;I)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 methodGen Lorg/apache/bcel/generic/MethodGen;
0 6 1 sourceFile Ljava/lang/String;
1 6 2 lineNumberTable Lorg/apache/bcel/classfile/LineNumberTable;
2 6 3 className Ljava/lang/String;
3 6 4 codeSize I
MethodParameters:
Name Flags
methodGen
sourceFile
public static edu.umd.cs.findbugs.SourceLineAnnotation forEntireMethod(java.lang.String, java.lang.String, org.apache.bcel.classfile.LineNumberTable, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/classfile/LineNumberTable;I)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.apache.bcel.classfile.LineNumberTable.getLineNumberTable:()[Lorg/apache/bcel/classfile/LineNumber;
astore 4
start local 4 1: aload 4
ifnull 5
aload 4
arraylength
ifle 5
2: aload 4
iconst_0
aaload
astore 5
start local 5 3: aload 4
aload 4
arraylength
iconst_1
isub
aaload
astore 6
start local 6 4: new edu.umd.cs.findbugs.SourceLineAnnotation
dup
aload 0
aload 1
aload 5
invokevirtual org.apache.bcel.classfile.LineNumber.getLineNumber:()I
aload 6
invokevirtual org.apache.bcel.classfile.LineNumber.getLineNumber:()I
iconst_0
iload 3
iconst_1
isub
invokespecial edu.umd.cs.findbugs.SourceLineAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;IIII)V
areturn
end local 6 end local 5 5: StackMap locals: org.apache.bcel.classfile.LineNumber[]
StackMap stack:
aload 0
aload 1
iconst_0
iload 3
iconst_1
isub
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 className Ljava/lang/String;
0 6 1 sourceFile Ljava/lang/String;
0 6 2 lineNumberTable Lorg/apache/bcel/classfile/LineNumberTable;
0 6 3 codeSize I
1 6 4 table [Lorg/apache/bcel/classfile/LineNumber;
3 5 5 first Lorg/apache/bcel/classfile/LineNumber;
4 5 6 last Lorg/apache/bcel/classfile/LineNumber;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
RuntimeVisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
1:
2:
3:
MethodParameters:
Name Flags
className
sourceFile
lineNumberTable
codeSize
public static edu.umd.cs.findbugs.SourceLineAnnotation forEntireMethod(org.apache.bcel.classfile.JavaClass, org.apache.bcel.classfile.Method);
descriptor: (Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/Method;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.getSourceFileName:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
ifnonnull 3
2: aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
aload 2
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual org.apache.bcel.classfile.Method.getCode:()Lorg/apache/bcel/classfile/Code;
astore 3
start local 3 4: aload 1
invokevirtual org.apache.bcel.classfile.Method.getLineNumberTable:()Lorg/apache/bcel/classfile/LineNumberTable;
astore 4
start local 4 5: aload 3
ifnull 6
aload 4
ifnonnull 7
6: StackMap locals: org.apache.bcel.classfile.Code org.apache.bcel.classfile.LineNumberTable
StackMap stack:
aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
aload 2
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
aload 2
aload 4
aload 3
invokevirtual org.apache.bcel.classfile.Code.getLength:()I
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.forEntireMethod:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/bcel/classfile/LineNumberTable;I)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 javaClass Lorg/apache/bcel/classfile/JavaClass;
0 8 1 method Lorg/apache/bcel/classfile/Method;
1 8 2 sourceFile Ljava/lang/String;
4 8 3 code Lorg/apache/bcel/classfile/Code;
5 8 4 lineNumberTable Lorg/apache/bcel/classfile/LineNumberTable;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
javax.annotation.CheckForNull()
RuntimeVisibleParameterAnnotations:
0:
1:
javax.annotation.CheckForNull()
MethodParameters:
Name Flags
javaClass
method
public static edu.umd.cs.findbugs.SourceLineAnnotation forEntireMethod(org.apache.bcel.classfile.JavaClass, edu.umd.cs.findbugs.ba.XMethod);
descriptor: (Lorg/apache/bcel/classfile/JavaClass;Ledu/umd/cs/findbugs/ba/XMethod;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface edu.umd.cs.findbugs.ba.XMethod.getName:()Ljava/lang/String;
aload 1
invokeinterface edu.umd.cs.findbugs.ba.XMethod.getSignature:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.ba.Hierarchy.findMethod:(Lorg/apache/bcel/classfile/JavaClass;Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/ba/JavaClassAndMethod;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.getSourceFileName:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
3: StackMap locals: edu.umd.cs.findbugs.ba.JavaClassAndMethod
StackMap stack:
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.ba.JavaClassAndMethod.getMethod:()Lorg/apache/bcel/classfile/Method;
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.forEntireMethod:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/Method;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 javaClass Lorg/apache/bcel/classfile/JavaClass;
0 4 1 xmethod Ledu/umd/cs/findbugs/ba/XMethod;
1 4 2 m Ledu/umd/cs/findbugs/ba/JavaClassAndMethod;
MethodParameters:
Name Flags
javaClass
xmethod
public static edu.umd.cs.findbugs.SourceLineAnnotation forFirstLineOfMethod(edu.umd.cs.findbugs.classfile.MethodDescriptor);
descriptor: (Ledu/umd/cs/findbugs/classfile/MethodDescriptor;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=13, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
ldc Lorg/apache/bcel/classfile/Method;
aload 0
invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.getMethodAnalysis:(Ljava/lang/Class;Ledu/umd/cs/findbugs/classfile/MethodDescriptor;)Ljava/lang/Object;
checkcast org.apache.bcel.classfile.Method
astore 2
start local 2 2: invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
ldc Ledu/umd/cs/findbugs/ba/XClass;
aload 0
invokevirtual edu.umd.cs.findbugs.classfile.MethodDescriptor.getClassDescriptor:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.getClassAnalysis:(Ljava/lang/Class;Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.ba.XClass
astore 3
start local 3 3: aload 2
invokevirtual org.apache.bcel.classfile.Method.getLineNumberTable:()Lorg/apache/bcel/classfile/LineNumberTable;
astore 4
start local 4 4: aload 3
invokeinterface edu.umd.cs.findbugs.ba.XClass.getSource:()Ljava/lang/String;
astore 5
start local 5 5: aload 5
ifnull 22
aload 4
ifnull 22
6: ldc 2147483647
istore 6
start local 6 7: iconst_0
istore 7
start local 7 8: aload 4
invokevirtual org.apache.bcel.classfile.LineNumberTable.getLineNumberTable:()[Lorg/apache/bcel/classfile/LineNumber;
astore 8
start local 8 9: aload 8
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 15
StackMap locals: edu.umd.cs.findbugs.classfile.MethodDescriptor edu.umd.cs.findbugs.SourceLineAnnotation org.apache.bcel.classfile.Method edu.umd.cs.findbugs.ba.XClass org.apache.bcel.classfile.LineNumberTable java.lang.String int int org.apache.bcel.classfile.LineNumber[] top int int org.apache.bcel.classfile.LineNumber[]
StackMap stack:
10: aload 12
iload 10
aaload
astore 9
start local 9 11: aload 9
invokevirtual org.apache.bcel.classfile.LineNumber.getLineNumber:()I
iload 6
if_icmpge 14
12: aload 9
invokevirtual org.apache.bcel.classfile.LineNumber.getLineNumber:()I
istore 6
13: aload 9
invokevirtual org.apache.bcel.classfile.LineNumber.getStartPC:()I
istore 7
end local 9 14: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
15: iload 10
iload 11
if_icmplt 10
16: iload 6
ldc 2147483647
if_icmpge 22
17: new edu.umd.cs.findbugs.SourceLineAnnotation
dup
aload 0
invokevirtual edu.umd.cs.findbugs.classfile.MethodDescriptor.getClassDescriptor:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.toDottedClassName:()Ljava/lang/String;
aload 5
18: iload 6
iload 6
iload 7
iload 7
19: invokespecial edu.umd.cs.findbugs.SourceLineAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;IIII)V
astore 1
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 20: goto 22
StackMap locals: edu.umd.cs.findbugs.classfile.MethodDescriptor edu.umd.cs.findbugs.SourceLineAnnotation
StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
21: pop
22: StackMap locals:
StackMap stack:
aload 1
ifnonnull 24
23: aload 0
invokevirtual edu.umd.cs.findbugs.classfile.MethodDescriptor.getClassDescriptor:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.toDottedClassName:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
astore 1
24: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 methodDescriptor Ledu/umd/cs/findbugs/classfile/MethodDescriptor;
1 25 1 result Ledu/umd/cs/findbugs/SourceLineAnnotation;
2 20 2 m Lorg/apache/bcel/classfile/Method;
3 20 3 xclass Ledu/umd/cs/findbugs/ba/XClass;
4 20 4 lnt Lorg/apache/bcel/classfile/LineNumberTable;
5 20 5 sourceFile Ljava/lang/String;
7 20 6 firstLine I
8 20 7 bytecode I
9 20 8 entries [Lorg/apache/bcel/classfile/LineNumber;
11 14 9 entry Lorg/apache/bcel/classfile/LineNumber;
Exception table:
from to target type
1 20 21 Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
MethodParameters:
Name Flags
methodDescriptor
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedInstruction(edu.umd.cs.findbugs.BytecodeScanningDetector, int);
descriptor: (Ledu/umd/cs/findbugs/BytecodeScanningDetector;I)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual edu.umd.cs.findbugs.BytecodeScanningDetector.getClassContext:()Ledu/umd/cs/findbugs/ba/ClassContext;
aload 0
iload 1
iload 1
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.fromVisitedInstructionRange:(Ledu/umd/cs/findbugs/ba/ClassContext;Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 visitor Ledu/umd/cs/findbugs/BytecodeScanningDetector;
0 1 1 pc I
MethodParameters:
Name Flags
visitor
pc
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedInstruction(edu.umd.cs.findbugs.ba.ClassContext, edu.umd.cs.findbugs.visitclass.PreorderVisitor, int);
descriptor: (Ledu/umd/cs/findbugs/ba/ClassContext;Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;I)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
iload 2
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.fromVisitedInstructionRange:(Ledu/umd/cs/findbugs/ba/ClassContext;Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 classContext Ledu/umd/cs/findbugs/ba/ClassContext;
0 1 1 visitor Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;
0 1 2 pc I
MethodParameters:
Name Flags
classContext
visitor
pc
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedInstruction(edu.umd.cs.findbugs.ba.ClassContext, org.apache.bcel.classfile.Method, edu.umd.cs.findbugs.ba.Location);
descriptor: (Ledu/umd/cs/findbugs/ba/ClassContext;Lorg/apache/bcel/classfile/Method;Ledu/umd/cs/findbugs/ba/Location;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual edu.umd.cs.findbugs.ba.Location.getHandle:()Lorg/apache/bcel/generic/InstructionHandle;
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.fromVisitedInstruction:(Ledu/umd/cs/findbugs/ba/ClassContext;Lorg/apache/bcel/classfile/Method;Lorg/apache/bcel/generic/InstructionHandle;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 classContext Ledu/umd/cs/findbugs/ba/ClassContext;
0 1 1 method Lorg/apache/bcel/classfile/Method;
0 1 2 loc Ledu/umd/cs/findbugs/ba/Location;
MethodParameters:
Name Flags
classContext
method
loc
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedInstruction(edu.umd.cs.findbugs.ba.ClassContext, org.apache.bcel.classfile.Method, org.apache.bcel.generic.InstructionHandle);
descriptor: (Ledu/umd/cs/findbugs/ba/ClassContext;Lorg/apache/bcel/classfile/Method;Lorg/apache/bcel/generic/InstructionHandle;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.apache.bcel.generic.InstructionHandle.getPosition:()I
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.fromVisitedInstruction:(Ledu/umd/cs/findbugs/ba/ClassContext;Lorg/apache/bcel/classfile/Method;I)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 classContext Ledu/umd/cs/findbugs/ba/ClassContext;
0 1 1 method Lorg/apache/bcel/classfile/Method;
0 1 2 handle Lorg/apache/bcel/generic/InstructionHandle;
MethodParameters:
Name Flags
classContext
method
handle
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedInstruction(edu.umd.cs.findbugs.classfile.MethodDescriptor, edu.umd.cs.findbugs.ba.Location);
descriptor: (Ledu/umd/cs/findbugs/classfile/MethodDescriptor;Ledu/umd/cs/findbugs/ba/Location;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.ba.Location.getHandle:()Lorg/apache/bcel/generic/InstructionHandle;
invokevirtual org.apache.bcel.generic.InstructionHandle.getPosition:()I
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.fromVisitedInstruction:(Ledu/umd/cs/findbugs/classfile/MethodDescriptor;I)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 methodDescriptor Ledu/umd/cs/findbugs/classfile/MethodDescriptor;
0 1 1 location Ledu/umd/cs/findbugs/ba/Location;
MethodParameters:
Name Flags
methodDescriptor
location
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedInstruction(edu.umd.cs.findbugs.classfile.MethodDescriptor, int);
descriptor: (Ledu/umd/cs/findbugs/classfile/MethodDescriptor;I)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
astore 2
start local 2 1: aload 2
ldc Lorg/apache/bcel/classfile/JavaClass;
aload 0
invokevirtual edu.umd.cs.findbugs.classfile.MethodDescriptor.getClassDescriptor:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.getClassAnalysis:(Ljava/lang/Class;Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Ljava/lang/Object;
checkcast org.apache.bcel.classfile.JavaClass
astore 3
start local 3 2: aload 2
ldc Lorg/apache/bcel/classfile/Method;
aload 0
invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.getMethodAnalysis:(Ljava/lang/Class;Ledu/umd/cs/findbugs/classfile/MethodDescriptor;)Ljava/lang/Object;
checkcast org.apache.bcel.classfile.Method
astore 4
start local 4 3: aload 3
aload 4
iload 1
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.fromVisitedInstruction:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/Method;I)Ledu/umd/cs/findbugs/SourceLineAnnotation;
4: areturn
end local 4 end local 3 end local 2 5: StackMap locals:
StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
pop
6: aload 0
invokevirtual edu.umd.cs.findbugs.classfile.MethodDescriptor.getClassDescriptor:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.toDottedClassName:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createReallyUnknown:(Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 methodDescriptor Ledu/umd/cs/findbugs/classfile/MethodDescriptor;
0 7 1 position I
1 5 2 analysisCache Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
2 5 3 jclass Lorg/apache/bcel/classfile/JavaClass;
3 5 4 method Lorg/apache/bcel/classfile/Method;
Exception table:
from to target type
0 4 5 Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
MethodParameters:
Name Flags
methodDescriptor
position
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedInstruction(edu.umd.cs.findbugs.ba.ClassContext, org.apache.bcel.classfile.Method, int);
descriptor: (Ledu/umd/cs/findbugs/ba/ClassContext;Lorg/apache/bcel/classfile/Method;I)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual edu.umd.cs.findbugs.ba.ClassContext.getJavaClass:()Lorg/apache/bcel/classfile/JavaClass;
aload 1
iload 2
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.fromVisitedInstruction:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/Method;I)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 classContext Ledu/umd/cs/findbugs/ba/ClassContext;
0 1 1 method Lorg/apache/bcel/classfile/Method;
0 1 2 pc I
MethodParameters:
Name Flags
classContext
method
pc
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedInstruction(org.apache.bcel.classfile.JavaClass, org.apache.bcel.classfile.Method, int);
descriptor: (Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/Method;I)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.apache.bcel.classfile.Method.getCode:()Lorg/apache/bcel/classfile/Code;
invokevirtual org.apache.bcel.classfile.Code.getLineNumberTable:()Lorg/apache/bcel/classfile/LineNumberTable;
astore 3
start local 3 1: aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
astore 4
start local 4 2: aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.getSourceFileName:()Ljava/lang/String;
astore 5
start local 5 3: aload 3
ifnonnull 5
4: aload 4
aload 5
iload 2
iload 2
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
5: StackMap locals: org.apache.bcel.classfile.LineNumberTable java.lang.String java.lang.String
StackMap stack:
aload 3
iload 2
invokevirtual org.apache.bcel.classfile.LineNumberTable.getSourceLine:(I)I
istore 6
start local 6 6: new edu.umd.cs.findbugs.SourceLineAnnotation
dup
aload 4
aload 5
iload 6
iload 6
iload 2
iload 2
invokespecial edu.umd.cs.findbugs.SourceLineAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;IIII)V
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 jclass Lorg/apache/bcel/classfile/JavaClass;
0 7 1 method Lorg/apache/bcel/classfile/Method;
0 7 2 pc I
1 7 3 lineNumberTable Lorg/apache/bcel/classfile/LineNumberTable;
2 7 4 className Ljava/lang/String;
3 7 5 sourceFile Ljava/lang/String;
6 7 6 startLine I
MethodParameters:
Name Flags
jclass
method
pc
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedInstructionRange(edu.umd.cs.findbugs.BytecodeScanningDetector, int, int);
descriptor: (Ledu/umd/cs/findbugs/BytecodeScanningDetector;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.getLineNumberTable:(Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;)Lorg/apache/bcel/classfile/LineNumberTable;
astore 3
start local 3 1: aload 0
invokevirtual edu.umd.cs.findbugs.BytecodeScanningDetector.getDottedClassName:()Ljava/lang/String;
astore 4
start local 4 2: aload 0
invokevirtual edu.umd.cs.findbugs.BytecodeScanningDetector.getSourceFile:()Ljava/lang/String;
astore 5
start local 5 3: aload 3
ifnonnull 5
4: aload 4
aload 5
iload 1
iload 2
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
5: StackMap locals: org.apache.bcel.classfile.LineNumberTable java.lang.String java.lang.String
StackMap stack:
aload 3
iload 1
invokevirtual org.apache.bcel.classfile.LineNumberTable.getSourceLine:(I)I
istore 6
start local 6 6: aload 3
iload 2
invokevirtual org.apache.bcel.classfile.LineNumberTable.getSourceLine:(I)I
istore 7
start local 7 7: new edu.umd.cs.findbugs.SourceLineAnnotation
dup
aload 4
aload 5
iload 6
iload 7
iload 1
iload 2
invokespecial edu.umd.cs.findbugs.SourceLineAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;IIII)V
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 visitor Ledu/umd/cs/findbugs/BytecodeScanningDetector;
0 8 1 startPC I
0 8 2 endPC I
1 8 3 lineNumberTable Lorg/apache/bcel/classfile/LineNumberTable;
2 8 4 className Ljava/lang/String;
3 8 5 sourceFile Ljava/lang/String;
6 8 6 startLine I
7 8 7 endLine I
MethodParameters:
Name Flags
visitor
startPC
endPC
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedInstructionRange(edu.umd.cs.findbugs.ba.ClassContext, edu.umd.cs.findbugs.visitclass.PreorderVisitor, int, int);
descriptor: (Ledu/umd/cs/findbugs/ba/ClassContext;Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
if_icmple 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Start pc "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " greater than end pc "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.getLineNumberTable:(Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;)Lorg/apache/bcel/classfile/LineNumberTable;
astore 4
start local 4 3: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.PreorderVisitor.getDottedClassName:()Ljava/lang/String;
astore 5
start local 5 4: aload 1
invokevirtual edu.umd.cs.findbugs.visitclass.PreorderVisitor.getSourceFile:()Ljava/lang/String;
astore 6
start local 6 5: aload 4
ifnonnull 7
6: aload 5
aload 6
iload 2
iload 3
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
7: StackMap locals: org.apache.bcel.classfile.LineNumberTable java.lang.String java.lang.String
StackMap stack:
aload 4
iload 2
invokevirtual org.apache.bcel.classfile.LineNumberTable.getSourceLine:(I)I
istore 7
start local 7 8: aload 4
iload 3
invokevirtual org.apache.bcel.classfile.LineNumberTable.getSourceLine:(I)I
istore 8
start local 8 9: new edu.umd.cs.findbugs.SourceLineAnnotation
dup
aload 5
aload 6
iload 7
iload 8
iload 2
iload 3
invokespecial edu.umd.cs.findbugs.SourceLineAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;IIII)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 classContext Ledu/umd/cs/findbugs/ba/ClassContext;
0 10 1 visitor Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;
0 10 2 startPC I
0 10 3 endPC I
3 10 4 lineNumberTable Lorg/apache/bcel/classfile/LineNumberTable;
4 10 5 className Ljava/lang/String;
5 10 6 sourceFile Ljava/lang/String;
8 10 7 startLine I
9 10 8 endLine I
RuntimeVisibleAnnotations:
javax.annotation.Nonnull()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
javax.annotation.Nonnull()
MethodParameters:
Name Flags
classContext
visitor
startPC
endPC
public static edu.umd.cs.findbugs.SourceLineAnnotation fromRawData(java.lang.String, java.lang.String, int, int, int, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;IIII)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 2
iconst_m1
if_icmpne 2
1: aload 0
aload 1
iload 4
iload 5
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
2: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.SourceLineAnnotation
dup
aload 0
aload 1
iload 2
iload 3
iload 4
iload 5
invokespecial edu.umd.cs.findbugs.SourceLineAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;IIII)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 className Ljava/lang/String;
0 3 1 sourceFile Ljava/lang/String;
0 3 2 startLine I
0 3 3 endLine I
0 3 4 startPC I
0 3 5 endPC I
MethodParameters:
Name Flags
className
sourceFile
startLine
endLine
startPC
endPC
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedInstruction(edu.umd.cs.findbugs.BytecodeScanningDetector);
descriptor: (Ledu/umd/cs/findbugs/BytecodeScanningDetector;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.BytecodeScanningDetector.getClassContext:()Ledu/umd/cs/findbugs/ba/ClassContext;
aload 0
aload 0
invokevirtual edu.umd.cs.findbugs.BytecodeScanningDetector.getPC:()I
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.fromVisitedInstruction:(Ledu/umd/cs/findbugs/ba/ClassContext;Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;I)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 visitor Ledu/umd/cs/findbugs/BytecodeScanningDetector;
MethodParameters:
Name Flags
visitor
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedInstruction(edu.umd.cs.findbugs.ba.ClassContext, org.apache.bcel.generic.MethodGen, java.lang.String, org.apache.bcel.generic.InstructionHandle);
descriptor: (Ledu/umd/cs/findbugs/ba/ClassContext;Lorg/apache/bcel/generic/MethodGen;Ljava/lang/String;Lorg/apache/bcel/generic/InstructionHandle;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 1
invokevirtual org.apache.bcel.generic.MethodGen.getConstantPool:()Lorg/apache/bcel/generic/ConstantPoolGen;
invokevirtual org.apache.bcel.generic.MethodGen.getLineNumberTable:(Lorg/apache/bcel/generic/ConstantPoolGen;)Lorg/apache/bcel/classfile/LineNumberTable;
astore 4
start local 4 1: aload 1
invokevirtual org.apache.bcel.generic.MethodGen.getClassName:()Ljava/lang/String;
astore 5
start local 5 2: aload 3
invokevirtual org.apache.bcel.generic.InstructionHandle.getPosition:()I
istore 6
start local 6 3: aload 4
ifnonnull 5
4: aload 5
aload 2
iload 6
iload 6
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
5: StackMap locals: org.apache.bcel.classfile.LineNumberTable java.lang.String int
StackMap stack:
aload 4
aload 3
invokevirtual org.apache.bcel.generic.InstructionHandle.getPosition:()I
invokevirtual org.apache.bcel.classfile.LineNumberTable.getSourceLine:(I)I
istore 7
start local 7 6: new edu.umd.cs.findbugs.SourceLineAnnotation
dup
aload 5
aload 2
iload 7
iload 7
iload 6
iload 6
invokespecial edu.umd.cs.findbugs.SourceLineAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;IIII)V
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 classContext Ledu/umd/cs/findbugs/ba/ClassContext;
0 7 1 methodGen Lorg/apache/bcel/generic/MethodGen;
0 7 2 sourceFile Ljava/lang/String;
0 7 3 handle Lorg/apache/bcel/generic/InstructionHandle;
1 7 4 table Lorg/apache/bcel/classfile/LineNumberTable;
2 7 5 className Ljava/lang/String;
3 7 6 bytecodeOffset I
6 7 7 lineNumber I
RuntimeVisibleAnnotations:
javax.annotation.Nonnull()
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
javax.annotation.Nonnull()
METHOD_RETURN
javax.annotation.Nonnull()
RuntimeVisibleParameterAnnotations:
0:
1:
2:
3:
javax.annotation.Nonnull()
MethodParameters:
Name Flags
classContext
methodGen
sourceFile
handle
public static edu.umd.cs.findbugs.SourceLineAnnotation fromVisitedInstructionRange(edu.umd.cs.findbugs.ba.ClassContext, org.apache.bcel.generic.MethodGen, java.lang.String, org.apache.bcel.generic.InstructionHandle, org.apache.bcel.generic.InstructionHandle);
descriptor: (Ledu/umd/cs/findbugs/ba/ClassContext;Lorg/apache/bcel/generic/MethodGen;Ljava/lang/String;Lorg/apache/bcel/generic/InstructionHandle;Lorg/apache/bcel/generic/InstructionHandle;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 1
invokevirtual org.apache.bcel.generic.MethodGen.getConstantPool:()Lorg/apache/bcel/generic/ConstantPoolGen;
invokevirtual org.apache.bcel.generic.MethodGen.getLineNumberTable:(Lorg/apache/bcel/generic/ConstantPoolGen;)Lorg/apache/bcel/classfile/LineNumberTable;
astore 5
start local 5 1: aload 1
invokevirtual org.apache.bcel.generic.MethodGen.getClassName:()Ljava/lang/String;
astore 6
start local 6 2: aload 5
ifnonnull 4
3: aload 6
aload 2
aload 3
invokevirtual org.apache.bcel.generic.InstructionHandle.getPosition:()I
aload 4
invokevirtual org.apache.bcel.generic.InstructionHandle.getPosition:()I
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;II)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
4: StackMap locals: org.apache.bcel.classfile.LineNumberTable java.lang.String
StackMap stack:
aload 5
aload 3
invokevirtual org.apache.bcel.generic.InstructionHandle.getPosition:()I
invokevirtual org.apache.bcel.classfile.LineNumberTable.getSourceLine:(I)I
istore 7
start local 7 5: aload 5
aload 4
invokevirtual org.apache.bcel.generic.InstructionHandle.getPosition:()I
invokevirtual org.apache.bcel.classfile.LineNumberTable.getSourceLine:(I)I
istore 8
start local 8 6: new edu.umd.cs.findbugs.SourceLineAnnotation
dup
aload 6
aload 2
iload 7
iload 8
aload 3
invokevirtual org.apache.bcel.generic.InstructionHandle.getPosition:()I
aload 4
invokevirtual org.apache.bcel.generic.InstructionHandle.getPosition:()I
invokespecial edu.umd.cs.findbugs.SourceLineAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;IIII)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 classContext Ledu/umd/cs/findbugs/ba/ClassContext;
0 7 1 methodGen Lorg/apache/bcel/generic/MethodGen;
0 7 2 sourceFile Ljava/lang/String;
0 7 3 start Lorg/apache/bcel/generic/InstructionHandle;
0 7 4 end Lorg/apache/bcel/generic/InstructionHandle;
1 7 5 lineNumberTable Lorg/apache/bcel/classfile/LineNumberTable;
2 7 6 className Ljava/lang/String;
5 7 7 startLine I
6 7 8 endLine I
MethodParameters:
Name Flags
classContext
methodGen
sourceFile
start
end
private static org.apache.bcel.classfile.LineNumberTable getLineNumberTable(edu.umd.cs.findbugs.visitclass.PreorderVisitor);
descriptor: (Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;)Lorg/apache/bcel/classfile/LineNumberTable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.PreorderVisitor.getMethod:()Lorg/apache/bcel/classfile/Method;
invokevirtual org.apache.bcel.classfile.Method.getCode:()Lorg/apache/bcel/classfile/Code;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: org.apache.bcel.classfile.Code
StackMap stack:
aload 1
invokevirtual org.apache.bcel.classfile.Code.getLineNumberTable:()Lorg/apache/bcel/classfile/LineNumberTable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 visitor Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;
1 4 1 code Lorg/apache/bcel/classfile/Code;
MethodParameters:
Name Flags
visitor
public java.lang.String getClassName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
RuntimeVisibleAnnotations:
javax.annotation.Nonnull()
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
javax.annotation.Nonnull()
METHOD_RETURN
edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
public java.lang.String getSourceFile();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.sourceFile:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
RuntimeVisibleAnnotations:
javax.annotation.Nonnull()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
javax.annotation.Nonnull()
public boolean isSourceFileKnown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "<Unknown>"
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.sourceFile:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
public void setSourceFile(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield edu.umd.cs.findbugs.SourceLineAnnotation.sourceFile:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
0 2 1 sourceFile Ljava/lang/String;
MethodParameters:
Name Flags
sourceFile
public java.lang.String getSimpleClassName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 1
start local 1 1: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
iload 1
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
1 2 1 lastDot I
public java.lang.String getPackageName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 1
start local 1 1: iload 1
ifge 3
2: ldc ""
areturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
1 4 1 lastDot I
public int getStartLine();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
public int getEndLine();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endLine:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
public int getStartBytecode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startBytecode:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
public int getEndBytecode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endBytecode:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
public boolean isUnknown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
iflt 1
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endLine:I
iflt 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
public void accept(edu.umd.cs.findbugs.BugAnnotationVisitor);
descriptor: (Ledu/umd/cs/findbugs/BugAnnotationVisitor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokeinterface edu.umd.cs.findbugs.BugAnnotationVisitor.visitSourceLineAnnotation:(Ledu/umd/cs/findbugs/SourceLineAnnotation;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
0 2 1 visitor Ledu/umd/cs/findbugs/BugAnnotationVisitor;
MethodParameters:
Name Flags
visitor
public java.lang.String format(java.lang.String, edu.umd.cs.findbugs.ClassAnnotation);
descriptor: (Ljava/lang/String;Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: ldc "hash"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: ldc ""
areturn
2: StackMap locals:
StackMap stack:
ldc ""
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 4: aload 3
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.sourceFile:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.appendLines:(Ljava/lang/StringBuilder;)V
6: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 7: StackMap locals:
StackMap stack:
ldc "lineNumber"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
8: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 9: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.appendLinesRaw:(Ljava/lang/StringBuilder;)V
10: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 11: StackMap locals:
StackMap stack:
ldc "full"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
12: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 13: aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getPackageName:()Ljava/lang/String;
astore 4
start local 4 14: ldc ""
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
15: aload 3
aload 4
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 3
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
17: StackMap locals: java.lang.StringBuilder java.lang.String
StackMap stack:
aload 3
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.sourceFile:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: aload 0
aload 3
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.appendLines:(Ljava/lang/StringBuilder;)V
19: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 20: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unknown format key "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
0 21 1 key Ljava/lang/String;
0 21 2 primaryClass Ledu/umd/cs/findbugs/ClassAnnotation;
4 7 3 buf Ljava/lang/StringBuilder;
9 11 3 buf Ljava/lang/StringBuilder;
13 20 3 buf Ljava/lang/StringBuilder;
14 20 4 pkgName Ljava/lang/String;
MethodParameters:
Name Flags
key
primaryClass
private void appendLines(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.isUnknown:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
ldc ":["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.appendLinesRaw:(Ljava/lang/StringBuilder;)V
4: aload 1
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
0 6 1 buf Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
buf
private void appendLinesRaw(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.isUnknown:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endLine:I
if_icmpne 6
3: aload 1
ldc "line "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 1
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
5: goto 10
6: StackMap locals:
StackMap stack:
aload 1
ldc "lines "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 1
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
8: aload 1
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: aload 1
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endLine:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
0 11 1 buf Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
buf
public java.lang.String getDescription();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.description:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
public void setDescription(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.String.intern:()Ljava/lang/String;
putfield edu.umd.cs.findbugs.SourceLineAnnotation.description:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
0 2 1 description Ljava/lang/String;
MethodParameters:
Name Flags
description
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.description:Ljava/lang/String;
astore 1
start local 1 1: ldc "SOURCE_LINE_DEFAULT"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.isUnknown:()Z
ifeq 3
2: ldc "SOURCE_LINE_DEFAULT_UNKNOWN_LINE"
astore 1
3: StackMap locals: java.lang.String
StackMap stack:
invokestatic edu.umd.cs.findbugs.I18N.instance:()Ledu/umd/cs/findbugs/I18N;
aload 1
invokevirtual edu.umd.cs.findbugs.I18N.getAnnotationDescription:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 4: new edu.umd.cs.findbugs.FindBugsMessageFormat
dup
aload 2
invokespecial edu.umd.cs.findbugs.FindBugsMessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 5: aload 3
iconst_1
anewarray edu.umd.cs.findbugs.BugAnnotation
dup
iconst_0
aload 0
aastore
aconst_null
invokevirtual edu.umd.cs.findbugs.FindBugsMessageFormat.format:([Ledu/umd/cs/findbugs/BugAnnotation;Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
1 6 1 desc Ljava/lang/String;
4 6 2 pattern Ljava/lang/String;
5 6 3 format Ledu/umd/cs/findbugs/FindBugsMessageFormat;
public int compareTo(edu.umd.cs.findbugs.BugAnnotation);
descriptor: (Ledu/umd/cs/findbugs/BugAnnotation;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof edu.umd.cs.findbugs.SourceLineAnnotation
ifne 2
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast edu.umd.cs.findbugs.SourceLineAnnotation
astore 2
start local 2 3: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
aload 2
getfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
istore 3
start local 3 4: iload 3
ifeq 6
5: iload 3
ireturn
6: StackMap locals: edu.umd.cs.findbugs.SourceLineAnnotation int
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
aload 2
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
isub
istore 3
7: iload 3
ifeq 9
8: iload 3
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endLine:I
aload 2
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endLine:I
isub
istore 3
10: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
iconst_m1
if_icmpeq 12
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
iload 3
ifeq 14
13: iload 3
ireturn
14: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startBytecode:I
aload 2
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startBytecode:I
isub
istore 3
15: iload 3
ifeq 17
16: iload 3
ireturn
17: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endBytecode:I
aload 2
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endBytecode:I
isub
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
0 18 1 o Ledu/umd/cs/findbugs/BugAnnotation;
3 18 2 other Ledu/umd/cs/findbugs/SourceLineAnnotation;
4 18 3 cmp I
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
iconst_m1
if_icmpeq 2
1: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
iadd
iconst_3
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endLine:I
imul
iadd
aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getDescription:()Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
iadd
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startBytecode:I
iadd
iconst_3
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endBytecode:I
imul
iadd
aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getDescription:()Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof edu.umd.cs.findbugs.SourceLineAnnotation
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast edu.umd.cs.findbugs.SourceLineAnnotation
astore 2
start local 2 3: aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getDescription:()Ljava/lang/String;
aload 2
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getDescription:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
4: iconst_0
ireturn
5: StackMap locals: edu.umd.cs.findbugs.SourceLineAnnotation
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
iconst_m1
if_icmpeq 8
6: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
aload 2
getfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
aload 2
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startLine:I
if_icmpne 7
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endLine:I
aload 2
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endLine:I
if_icmpne 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
aload 2
getfield edu.umd.cs.findbugs.SourceLineAnnotation.className:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startBytecode:I
aload 2
getfield edu.umd.cs.findbugs.SourceLineAnnotation.startBytecode:I
if_icmpne 9
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endBytecode:I
aload 2
getfield edu.umd.cs.findbugs.SourceLineAnnotation.endBytecode:I
if_icmpne 9
iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
0 10 1 o Ljava/lang/Object;
3 10 2 other Ledu/umd/cs/findbugs/SourceLineAnnotation;
MethodParameters:
Name Flags
o
public void writeXML(edu.umd.cs.findbugs.xml.XMLOutput);
descriptor: (Ledu/umd/cs/findbugs/xml/XMLOutput;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
iconst_0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.writeXML:(Ledu/umd/cs/findbugs/xml/XMLOutput;ZZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
0 2 1 xmlOutput Ledu/umd/cs/findbugs/xml/XMLOutput;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
xmlOutput
public static void generateRelativeSource(java.io.File, edu.umd.cs.findbugs.Project);
descriptor: (Ljava/io/File;Ledu/umd/cs/findbugs/Project;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic edu.umd.cs.findbugs.SourceLineAnnotation.relativeSourceBase:Ljava/lang/ThreadLocal;
aload 0
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: getstatic edu.umd.cs.findbugs.SourceLineAnnotation.myProject:Ljava/lang/ThreadLocal;
aload 1
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
2: goto 5
StackMap locals:
StackMap stack: java.io.IOException
3: astore 2
start local 2 4: new java.lang.StringBuilder
dup
ldc "Error resolving relative source base "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.logError:(Ljava/lang/String;Ljava/lang/Exception;)V
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 relativeSourceBase Ljava/io/File;
0 6 1 project Ledu/umd/cs/findbugs/Project;
4 5 2 e Ljava/io/IOException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
MethodParameters:
Name Flags
relativeSourceBase
project
public static void clearGenerateRelativeSource();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic edu.umd.cs.findbugs.SourceLineAnnotation.myProject:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.remove:()V
1: getstatic edu.umd.cs.findbugs.SourceLineAnnotation.relativeSourceBase:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.remove:()V
2: return
LocalVariableTable:
Start End Slot Name Signature
public void writeXML(edu.umd.cs.findbugs.xml.XMLOutput, boolean, boolean);
descriptor: (Ledu/umd/cs/findbugs/xml/XMLOutput;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getClassName:()Ljava/lang/String;
astore 4
start local 4 1: aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getSourcePath:()Ljava/lang/String;
astore 5
start local 5 2: new edu.umd.cs.findbugs.xml.XMLAttributeList
dup
invokespecial edu.umd.cs.findbugs.xml.XMLAttributeList.<init>:()V
ldc "classname"
aload 4
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
astore 6
start local 6 3: iload 3
ifeq 5
4: aload 6
ldc "primary"
ldc "true"
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
pop
5: StackMap locals: java.lang.String java.lang.String edu.umd.cs.findbugs.xml.XMLAttributeList
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getStartLine:()I
istore 7
start local 7 6: iload 7
iflt 8
7: aload 6
ldc "start"
iload 7
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
pop
8: StackMap locals: int
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getEndLine:()I
istore 7
9: iload 7
iflt 11
10: aload 6
ldc "end"
iload 7
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
pop
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getStartBytecode:()I
istore 7
12: iload 7
iflt 14
13: aload 6
ldc "startBytecode"
iload 7
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
pop
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getEndBytecode:()I
istore 7
15: iload 7
iflt 17
16: aload 6
ldc "endBytecode"
iload 7
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
pop
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.isSourceFileKnown:()Z
ifeq 29
18: aload 6
ldc "sourcefile"
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.sourceFile:Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
pop
19: aload 6
ldc "sourcepath"
aload 5
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
pop
20: getstatic edu.umd.cs.findbugs.SourceLineAnnotation.myProject:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.Project
astore 8
start local 8 21: aload 8
ifnull 29
22: aload 8
invokevirtual edu.umd.cs.findbugs.Project.getSourceFinder:()Ledu/umd/cs/findbugs/ba/SourceFinder;
astore 9
start local 9 23: new java.io.File
dup
aload 9
aload 0
invokevirtual edu.umd.cs.findbugs.ba.SourceFinder.findSourceFile:(Ledu/umd/cs/findbugs/SourceLineAnnotation;)Ledu/umd/cs/findbugs/ba/SourceFile;
invokevirtual edu.umd.cs.findbugs.ba.SourceFile.getFullFileName:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
astore 10
start local 10 24: getstatic edu.umd.cs.findbugs.SourceLineAnnotation.relativeSourceBase:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.String
astore 11
start local 11 25: aload 10
aload 11
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 29
aload 10
invokevirtual java.lang.String.length:()I
aload 11
invokevirtual java.lang.String.length:()I
if_icmple 29
26: aload 6
ldc "relSourcepath"
aload 10
aload 11
invokevirtual java.lang.String.length:()I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
pop
end local 11 end local 10 end local 9 27: goto 29
StackMap locals: edu.umd.cs.findbugs.SourceLineAnnotation edu.umd.cs.findbugs.xml.XMLOutput int int java.lang.String java.lang.String edu.umd.cs.findbugs.xml.XMLAttributeList int edu.umd.cs.findbugs.Project
StackMap stack: java.io.IOException
28: pop
end local 8 29: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getDescription:()Ljava/lang/String;
astore 8
start local 8 30: ldc "SOURCE_LINE_DEFAULT"
aload 8
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 32
31: aload 6
ldc "role"
aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getDescription:()Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
pop
32: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.synthetic:Z
ifeq 34
33: aload 6
ldc "synthetic"
ldc "true"
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
pop
34: StackMap locals:
StackMap stack:
iload 2
ifeq 41
35: aload 1
ldc "SourceLine"
aload 6
invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.openTag:(Ljava/lang/String;Ledu/umd/cs/findbugs/xml/XMLAttributeList;)V
36: aload 1
ldc "Message"
invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.openTag:(Ljava/lang/String;)V
37: aload 1
aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.toString:()Ljava/lang/String;
invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.writeText:(Ljava/lang/String;)V
38: aload 1
ldc "Message"
invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.closeTag:(Ljava/lang/String;)V
39: aload 1
ldc "SourceLine"
invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.closeTag:(Ljava/lang/String;)V
40: goto 42
41: StackMap locals:
StackMap stack:
aload 1
ldc "SourceLine"
aload 6
invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.openCloseTag:(Ljava/lang/String;Ledu/umd/cs/findbugs/xml/XMLAttributeList;)V
42: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
0 43 1 xmlOutput Ledu/umd/cs/findbugs/xml/XMLOutput;
0 43 2 addMessages Z
0 43 3 isPrimary Z
1 43 4 classname Ljava/lang/String;
2 43 5 sourcePath Ljava/lang/String;
3 43 6 attributeList Ledu/umd/cs/findbugs/xml/XMLAttributeList;
6 43 7 n I
21 29 8 project Ledu/umd/cs/findbugs/Project;
23 27 9 mySourceFinder Ledu/umd/cs/findbugs/ba/SourceFinder;
24 27 10 fullPath Ljava/lang/String;
25 27 11 myRelativeSourceBase Ljava/lang/String;
30 43 8 role Ljava/lang/String;
Exception table:
from to target type
22 27 28 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
xmlOutput
addMessages
isPrimary
public java.lang.String getSourcePath();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getClassName:()Ljava/lang/String;
astore 1
start local 1 1: ldc ""
astore 2
start local 2 2: aload 1
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
ifle 4
3: aload 1
iconst_0
iconst_1
aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
4: StackMap locals: java.lang.String java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.sourceFile:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 5: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
1 6 1 classname Ljava/lang/String;
2 6 2 packageName Ljava/lang/String;
5 6 3 sourcePath Ljava/lang/String;
public void setSynthetic(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield edu.umd.cs.findbugs.SourceLineAnnotation.synthetic:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
0 2 1 synthetic Z
MethodParameters:
Name Flags
synthetic
public boolean isSynthetic();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.SourceLineAnnotation.synthetic:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
public boolean isSignificant();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
static edu.umd.cs.findbugs.SourceLineAnnotation getSourceAnnotationForMethod(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
aload 0
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
astore 5
start local 5 3: aload 5
aload 1
aload 2
invokestatic edu.umd.cs.findbugs.ba.Hierarchy.findMethod:(Lorg/apache/bcel/classfile/JavaClass;Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/ba/JavaClassAndMethod;
astore 3
4: aload 3
ifnull 11
5: aload 3
invokevirtual edu.umd.cs.findbugs.ba.JavaClassAndMethod.getMethod:()Lorg/apache/bcel/classfile/Method;
astore 6
start local 6 6: aload 6
ifnull 11
7: aload 6
invokevirtual org.apache.bcel.classfile.Method.getCode:()Lorg/apache/bcel/classfile/Code;
astore 4
end local 6 end local 5 8: goto 11
StackMap locals: java.lang.String java.lang.String java.lang.String edu.umd.cs.findbugs.ba.JavaClassAndMethod org.apache.bcel.classfile.Code
StackMap stack: java.lang.ClassNotFoundException
9: astore 5
start local 5 10: aload 5
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.reportMissingClass:(Ljava/lang/ClassNotFoundException;)V
end local 5 11: StackMap locals:
StackMap stack:
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getSourceInfoMap:()Ledu/umd/cs/findbugs/ba/SourceInfoMap;
astore 5
start local 5 12: aload 5
aload 0
aload 1
aload 2
invokevirtual edu.umd.cs.findbugs.ba.SourceInfoMap.getMethodLine:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/ba/SourceInfoMap$SourceLineRange;
astore 6
start local 6 13: aload 6
ifnull 18
14: new edu.umd.cs.findbugs.SourceLineAnnotation
dup
aload 0
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
aload 0
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.lookupSourceFile:(Ljava/lang/String;)Ljava/lang/String;
15: aload 6
invokevirtual edu.umd.cs.findbugs.ba.SourceInfoMap$SourceLineRange.getStart:()Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
aload 6
invokevirtual edu.umd.cs.findbugs.ba.SourceInfoMap$SourceLineRange.getEnd:()Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
iconst_0
aload 4
ifnonnull 16
iconst_m1
goto 17
StackMap locals: java.lang.String java.lang.String java.lang.String edu.umd.cs.findbugs.ba.JavaClassAndMethod org.apache.bcel.classfile.Code edu.umd.cs.findbugs.ba.SourceInfoMap edu.umd.cs.findbugs.ba.SourceInfoMap$SourceLineRange
StackMap stack: new 14 new 14 java.lang.String java.lang.String int int int
16: aload 4
invokevirtual org.apache.bcel.classfile.Code.getLength:()I
17: StackMap locals: java.lang.String java.lang.String java.lang.String edu.umd.cs.findbugs.ba.JavaClassAndMethod org.apache.bcel.classfile.Code edu.umd.cs.findbugs.ba.SourceInfoMap edu.umd.cs.findbugs.ba.SourceInfoMap$SourceLineRange
StackMap stack: new 14 new 14 java.lang.String java.lang.String int int int int
invokespecial edu.umd.cs.findbugs.SourceLineAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;IIII)V
areturn
18: StackMap locals:
StackMap stack:
aload 5
invokevirtual edu.umd.cs.findbugs.ba.SourceInfoMap.fallBackToClassfile:()Z
ifeq 20
aload 3
ifnull 20
19: aload 3
invokevirtual edu.umd.cs.findbugs.ba.JavaClassAndMethod.getJavaClass:()Lorg/apache/bcel/classfile/JavaClass;
aload 3
invokevirtual edu.umd.cs.findbugs.ba.JavaClassAndMethod.getMethod:()Lorg/apache/bcel/classfile/Method;
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.forEntireMethod:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/Method;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
20: StackMap locals:
StackMap stack:
aload 0
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 className Ljava/lang/String;
0 21 1 methodName Ljava/lang/String;
0 21 2 methodSig Ljava/lang/String;
1 21 3 targetMethod Ledu/umd/cs/findbugs/ba/JavaClassAndMethod;
2 21 4 code Lorg/apache/bcel/classfile/Code;
3 8 5 targetClass Lorg/apache/bcel/classfile/JavaClass;
6 8 6 method Lorg/apache/bcel/classfile/Method;
10 11 5 e Ljava/lang/ClassNotFoundException;
12 21 5 sourceInfoMap Ledu/umd/cs/findbugs/ba/SourceInfoMap;
13 21 6 range Ledu/umd/cs/findbugs/ba/SourceInfoMap$SourceLineRange;
Exception table:
from to target type
2 8 9 Class java.lang.ClassNotFoundException
MethodParameters:
Name Flags
className
methodName
methodSig
static edu.umd.cs.findbugs.SourceLineAnnotation getSourceAnnotationForClass(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=15, args_size=2
start local 0 start local 1 0: iconst_m1
istore 2
start local 2 1: ldc 2147483647
istore 3
start local 3 2: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
aload 0
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
astore 4
start local 4 3: aload 4
invokevirtual org.apache.bcel.classfile.JavaClass.getMethods:()[Lorg/apache/bcel/classfile/Method;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 16
StackMap locals: java.lang.String java.lang.String int int org.apache.bcel.classfile.JavaClass top int int org.apache.bcel.classfile.Method[]
StackMap stack:
4: aload 8
iload 6
aaload
astore 5
start local 5 5: aload 5
invokevirtual org.apache.bcel.classfile.Method.getCode:()Lorg/apache/bcel/classfile/Code;
astore 9
start local 9 6: aload 9
ifnull 15
7: aload 9
invokevirtual org.apache.bcel.classfile.Code.getLineNumberTable:()Lorg/apache/bcel/classfile/LineNumberTable;
astore 10
start local 10 8: aload 10
ifnull 15
9: aload 10
invokevirtual org.apache.bcel.classfile.LineNumberTable.getLineNumberTable:()[Lorg/apache/bcel/classfile/LineNumber;
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 14
StackMap locals: java.lang.String java.lang.String int int org.apache.bcel.classfile.JavaClass org.apache.bcel.classfile.Method int int org.apache.bcel.classfile.Method[] org.apache.bcel.classfile.Code org.apache.bcel.classfile.LineNumberTable top int int org.apache.bcel.classfile.LineNumber[]
StackMap stack:
10: aload 14
iload 12
aaload
astore 11
start local 11 11: iload 2
aload 11
invokevirtual org.apache.bcel.classfile.LineNumber.getLineNumber:()I
invokestatic java.lang.Math.max:(II)I
istore 2
12: iload 3
aload 11
invokevirtual org.apache.bcel.classfile.LineNumber.getLineNumber:()I
invokestatic java.lang.Math.min:(II)I
istore 3
end local 11 13: iinc 12 1
StackMap locals:
StackMap stack:
14: iload 12
iload 13
if_icmplt 10
end local 10 end local 9 end local 5 15: StackMap locals: java.lang.String java.lang.String int int org.apache.bcel.classfile.JavaClass top int int org.apache.bcel.classfile.Method[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 7
if_icmplt 4
end local 4 17: goto 20
StackMap locals: java.lang.String java.lang.String int int
StackMap stack: java.lang.ClassNotFoundException
18: astore 4
start local 4 19: aload 4
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.reportMissingClass:(Ljava/lang/ClassNotFoundException;)V
end local 4 20: StackMap locals:
StackMap stack:
iload 3
ldc 2147483647
if_icmpge 22
21: new edu.umd.cs.findbugs.SourceLineAnnotation
dup
aload 0
aload 1
iload 3
iload 2
iconst_m1
iconst_m1
invokespecial edu.umd.cs.findbugs.SourceLineAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;IIII)V
areturn
22: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.createUnknown:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 className Ljava/lang/String;
0 23 1 sourceFileName Ljava/lang/String;
1 23 2 lastLine I
2 23 3 firstLine I
3 17 4 targetClass Lorg/apache/bcel/classfile/JavaClass;
5 15 5 m Lorg/apache/bcel/classfile/Method;
6 15 9 c Lorg/apache/bcel/classfile/Code;
8 15 10 table Lorg/apache/bcel/classfile/LineNumberTable;
11 13 11 line Lorg/apache/bcel/classfile/LineNumber;
19 20 4 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
2 17 18 Class java.lang.ClassNotFoundException
MethodParameters:
Name Flags
className
sourceFileName
public java.lang.String toString(edu.umd.cs.findbugs.ClassAnnotation);
descriptor: (Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/SourceLineAnnotation;
0 1 1 primaryClass Ledu/umd/cs/findbugs/ClassAnnotation;
MethodParameters:
Name Flags
primaryClass
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast edu.umd.cs.findbugs.BugAnnotation
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.compareTo:(Ledu/umd/cs/findbugs/BugAnnotation;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "SourceLineAnnotation.java"
InnerClasses:
public SourceLineRange = edu.umd.cs.findbugs.ba.SourceInfoMap$SourceLineRange of edu.umd.cs.findbugs.ba.SourceInfoMap