public class edu.umd.cs.findbugs.MethodAnnotation extends edu.umd.cs.findbugs.PackageMemberAnnotation
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: edu.umd.cs.findbugs.MethodAnnotation
super_class: edu.umd.cs.findbugs.PackageMemberAnnotation
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final boolean UGLY_METHODS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final java.lang.String DEFAULT_ROLE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "METHOD_DEFAULT"
private final java.lang.String methodName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String methodSig;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String fullMethod;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private final boolean isStatic;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static final java.lang.String METHOD_DANGEROUS_TARGET_ACTUAL_GUARANTEED_NULL;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "METHOD_DANGEROUS_TARGET_ACTUAL_GUARANTEED_NULL"
public static final java.lang.String METHOD_DANGEROUS_TARGET;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "METHOD_DANGEROUS_TARGET"
public static final java.lang.String METHOD_RETURN_VALUE_OF;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "METHOD_RETURN_VALUE_OF"
public static final java.lang.String METHOD_SAFE_TARGET;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "METHOD_SAFE_TARGET"
public static final java.lang.String METHOD_EQUALS_USED;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "METHOD_EQUALS_USED"
public static final java.lang.String METHOD_CALLED;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "METHOD_CALLED"
public static final java.lang.String METHOD_SUPERCLASS_CONSTRUCTOR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "METHOD_SUPERCLASS_CONSTRUCTOR"
public static final java.lang.String METHOD_CONSTRUCTOR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "METHOD_CONSTRUCTOR"
public static final java.lang.String METHOD_OVERRIDDEN;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "METHOD_OVERRIDDEN"
public static final java.lang.String METHOD_DID_YOU_MEAN_TO_OVERRIDE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "METHOD_DID_YOU_MEAN_TO_OVERRIDE"
public static final java.lang.String METHOD_COMPUTED_IN;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "METHOD_COMPUTED_IN"
public static final java.lang.String METHOD_ALTERNATIVE_TARGET;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "METHOD_ALTERNATIVE_TARGET"
public static final java.lang.String SHOULD_CALL;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "SHOULD_CALL"
private static final java.lang.String ELEMENT_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Method"
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ledu/umd/cs/findbugs/MethodAnnotation;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic edu.umd.cs.findbugs.MethodAnnotation.$assertionsDisabled:Z
3: ldc "ma.ugly"
invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
putstatic edu.umd.cs.findbugs.MethodAnnotation.UGLY_METHODS:Z
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
ldc "METHOD_DEFAULT"
invokespecial edu.umd.cs.findbugs.PackageMemberAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;)V
1: aload 0
aload 2
putfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
2: aload 3
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
iflt 5
3: getstatic edu.umd.cs.findbugs.MethodAnnotation.$assertionsDisabled:Z
ifne 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "signatures should not be dotted: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: edu.umd.cs.findbugs.MethodAnnotation java.lang.String java.lang.String java.lang.String int
StackMap stack:
aload 3
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 3
5: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield edu.umd.cs.findbugs.MethodAnnotation.methodSig:Ljava/lang/String;
6: aload 0
iload 4
putfield edu.umd.cs.findbugs.MethodAnnotation.isStatic:Z
7: aload 0
aconst_null
putfield edu.umd.cs.findbugs.MethodAnnotation.fullMethod:Ljava/lang/String;
8: aload 0
aconst_null
putfield edu.umd.cs.findbugs.MethodAnnotation.sourceLines:Ledu/umd/cs/findbugs/SourceLineAnnotation;
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
0 10 1 className Ljava/lang/String;
0 10 2 methodName Ljava/lang/String;
0 10 3 methodSig Ljava/lang/String;
0 10 4 isStatic Z
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
methodName
methodSig
isStatic
public static edu.umd.cs.findbugs.MethodAnnotation fromVisitedMethod(edu.umd.cs.findbugs.visitclass.PreorderVisitor);
descriptor: (Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;)Ledu/umd/cs/findbugs/MethodAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.PreorderVisitor.getDottedClassName:()Ljava/lang/String;
astore 1
start local 1 1: new edu.umd.cs.findbugs.MethodAnnotation
dup
aload 1
aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.PreorderVisitor.getMethodName:()Ljava/lang/String;
aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.PreorderVisitor.getMethodSig:()Ljava/lang/String;
aload 0
2: invokevirtual edu.umd.cs.findbugs.visitclass.PreorderVisitor.getMethod:()Lorg/apache/bcel/classfile/Method;
invokevirtual org.apache.bcel.classfile.Method.isStatic:()Z
3: invokespecial edu.umd.cs.findbugs.MethodAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
astore 2
start local 2 4: aload 0
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.fromVisitedMethod:(Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
astore 3
start local 3 5: aload 2
aload 3
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.setSourceLines:(Ledu/umd/cs/findbugs/SourceLineAnnotation;)V
6: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 visitor Ledu/umd/cs/findbugs/visitclass/PreorderVisitor;
1 7 1 className Ljava/lang/String;
4 7 2 result Ledu/umd/cs/findbugs/MethodAnnotation;
5 7 3 srcLines Ledu/umd/cs/findbugs/SourceLineAnnotation;
MethodParameters:
Name Flags
visitor
public static edu.umd.cs.findbugs.MethodAnnotation fromCalledMethod(edu.umd.cs.findbugs.visitclass.DismantleBytecode);
descriptor: (Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;)Ledu/umd/cs/findbugs/MethodAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getDottedClassConstantOperand:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getNameConstantOperand:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getSigConstantOperand:()Ljava/lang/String;
astore 3
start local 3 3: aload 0
instanceof edu.umd.cs.findbugs.bcel.OpcodeStackDetector
ifeq 11
aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getOpcode:()I
sipush 184
if_icmpeq 11
4: aload 3
invokestatic edu.umd.cs.findbugs.visitclass.PreorderVisitor.getNumberArguments:(Ljava/lang/String;)I
istore 4
start local 4 5: aload 0
checkcast edu.umd.cs.findbugs.bcel.OpcodeStackDetector
astore 5
start local 5 6: aload 5
invokevirtual edu.umd.cs.findbugs.bcel.OpcodeStackDetector.getStack:()Ledu/umd/cs/findbugs/OpcodeStack;
invokevirtual edu.umd.cs.findbugs.OpcodeStack.isTop:()Z
ifne 11
aload 5
invokevirtual edu.umd.cs.findbugs.bcel.OpcodeStackDetector.getStack:()Ledu/umd/cs/findbugs/OpcodeStack;
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackDepth:()I
iload 4
if_icmple 11
7: aload 5
invokevirtual edu.umd.cs.findbugs.bcel.OpcodeStackDetector.getStack:()Ledu/umd/cs/findbugs/OpcodeStack;
iload 4
invokevirtual edu.umd.cs.findbugs.OpcodeStack.getStackItem:(I)Ledu/umd/cs/findbugs/OpcodeStack$Item;
astore 6
start local 6 8: aload 6
invokevirtual edu.umd.cs.findbugs.OpcodeStack$Item.getSignature:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.util.ClassName.fromFieldSignature:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 9: aload 7
ifnull 11
10: aload 7
astore 1
end local 7 end local 6 end local 5 end local 4 11: StackMap locals: java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 1
aload 2
aload 3
aload 0
invokevirtual edu.umd.cs.findbugs.visitclass.DismantleBytecode.getOpcode:()I
sipush 184
if_icmpne 12
iconst_1
goto 13
StackMap locals: edu.umd.cs.findbugs.visitclass.DismantleBytecode java.lang.String java.lang.String java.lang.String
StackMap stack: java.lang.String java.lang.String java.lang.String
12: iconst_0
StackMap locals: edu.umd.cs.findbugs.visitclass.DismantleBytecode java.lang.String java.lang.String java.lang.String
StackMap stack: java.lang.String java.lang.String java.lang.String int
13: invokestatic edu.umd.cs.findbugs.MethodAnnotation.fromCalledMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ledu/umd/cs/findbugs/MethodAnnotation;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 visitor Ledu/umd/cs/findbugs/visitclass/DismantleBytecode;
1 14 1 className Ljava/lang/String;
2 14 2 methodName Ljava/lang/String;
3 14 3 methodSig Ljava/lang/String;
5 11 4 params I
6 11 5 oVisitor Ledu/umd/cs/findbugs/bcel/OpcodeStackDetector;
8 11 6 item Ledu/umd/cs/findbugs/OpcodeStack$Item;
9 11 7 cName Ljava/lang/String;
MethodParameters:
Name Flags
visitor
public static edu.umd.cs.findbugs.MethodAnnotation fromForeignMethod(java.lang.String, java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Ledu/umd/cs/findbugs/MethodAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokestatic edu.umd.cs.findbugs.util.ClassName.toDottedClassName:(Ljava/lang/String;)Ljava/lang/String;
astore 0
1: new edu.umd.cs.findbugs.MethodAnnotation
dup
aload 0
aload 1
aload 2
2: iload 3
bipush 8
iand
ifeq 3
iconst_1
goto 4
StackMap locals: java.lang.String java.lang.String java.lang.String int
StackMap stack: new 1 new 1 java.lang.String java.lang.String java.lang.String
3: iconst_0
4: StackMap locals: java.lang.String java.lang.String java.lang.String int
StackMap stack: new 1 new 1 java.lang.String java.lang.String java.lang.String int
invokespecial edu.umd.cs.findbugs.MethodAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
astore 4
start local 4 5: aload 0
aload 1
aload 2
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.getSourceAnnotationForMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
astore 5
start local 5 6: aload 4
aload 5
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.setSourceLines:(Ledu/umd/cs/findbugs/SourceLineAnnotation;)V
7: aload 4
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 8 0 className Ljava/lang/String;
0 8 1 methodName Ljava/lang/String;
0 8 2 methodSig Ljava/lang/String;
0 8 3 accessFlags I
5 8 4 methodAnnotation Ledu/umd/cs/findbugs/MethodAnnotation;
6 8 5 sourceLines Ledu/umd/cs/findbugs/SourceLineAnnotation;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
edu.umd.cs.findbugs.internalAnnotations.SlashedClassName()
RuntimeVisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.internalAnnotations.SlashedClassName()
1:
2:
3:
MethodParameters:
Name Flags
className
methodName
methodSig
accessFlags
public static edu.umd.cs.findbugs.MethodAnnotation fromForeignMethod(java.lang.String, java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ledu/umd/cs/findbugs/MethodAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokestatic edu.umd.cs.findbugs.util.ClassName.toDottedClassName:(Ljava/lang/String;)Ljava/lang/String;
astore 0
1: new edu.umd.cs.findbugs.MethodAnnotation
dup
aload 0
aload 1
aload 2
iload 3
invokespecial edu.umd.cs.findbugs.MethodAnnotation.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
astore 4
start local 4 2: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
ifnull 6
3: aload 0
aload 1
aload 2
invokestatic edu.umd.cs.findbugs.SourceLineAnnotation.getSourceAnnotationForMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/SourceLineAnnotation;
4: astore 5
start local 5 5: aload 4
aload 5
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.setSourceLines:(Ledu/umd/cs/findbugs/SourceLineAnnotation;)V
end local 5 6: StackMap locals: edu.umd.cs.findbugs.MethodAnnotation
StackMap stack:
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 7 0 className Ljava/lang/String;
0 7 1 methodName Ljava/lang/String;
0 7 2 methodSig Ljava/lang/String;
0 7 3 isStatic Z
2 7 4 methodAnnotation Ledu/umd/cs/findbugs/MethodAnnotation;
5 6 5 sourceLines Ledu/umd/cs/findbugs/SourceLineAnnotation;
MethodParameters:
Name Flags
className
methodName
methodSig
isStatic
public static edu.umd.cs.findbugs.MethodAnnotation fromCalledMethod(java.lang.String, java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ledu/umd/cs/findbugs/MethodAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
invokestatic edu.umd.cs.findbugs.MethodAnnotation.fromForeignMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ledu/umd/cs/findbugs/MethodAnnotation;
astore 4
start local 4 1: aload 4
ldc "METHOD_CALLED"
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.setDescription:(Ljava/lang/String;)V
2: 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 3 0 className Ljava/lang/String;
0 3 1 methodName Ljava/lang/String;
0 3 2 methodSig Ljava/lang/String;
0 3 3 isStatic Z
1 3 4 methodAnnotation Ledu/umd/cs/findbugs/MethodAnnotation;
MethodParameters:
Name Flags
className
methodName
methodSig
isStatic
public static edu.umd.cs.findbugs.MethodAnnotation fromXMethod(edu.umd.cs.findbugs.ba.XMethod);
descriptor: (Ledu/umd/cs/findbugs/ba/XMethod;)Ledu/umd/cs/findbugs/MethodAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface edu.umd.cs.findbugs.ba.XMethod.getClassName:()Ljava/lang/String;
aload 0
invokeinterface edu.umd.cs.findbugs.ba.XMethod.getName:()Ljava/lang/String;
aload 0
invokeinterface edu.umd.cs.findbugs.ba.XMethod.getSignature:()Ljava/lang/String;
aload 0
invokeinterface edu.umd.cs.findbugs.ba.XMethod.isStatic:()Z
invokestatic edu.umd.cs.findbugs.MethodAnnotation.fromForeignMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ledu/umd/cs/findbugs/MethodAnnotation;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 xmethod Ledu/umd/cs/findbugs/ba/XMethod;
MethodParameters:
Name Flags
xmethod
public static edu.umd.cs.findbugs.MethodAnnotation fromMethodDescriptor(edu.umd.cs.findbugs.classfile.MethodDescriptor);
descriptor: (Ledu/umd/cs/findbugs/classfile/MethodDescriptor;)Ledu/umd/cs/findbugs/MethodAnnotation;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.classfile.MethodDescriptor.getSlashedClassName:()Ljava/lang/String;
aload 0
invokevirtual edu.umd.cs.findbugs.classfile.MethodDescriptor.getName:()Ljava/lang/String;
1: aload 0
invokevirtual edu.umd.cs.findbugs.classfile.MethodDescriptor.getSignature:()Ljava/lang/String;
aload 0
invokevirtual edu.umd.cs.findbugs.classfile.MethodDescriptor.isStatic:()Z
2: invokestatic edu.umd.cs.findbugs.MethodAnnotation.fromForeignMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ledu/umd/cs/findbugs/MethodAnnotation;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 methodDescriptor Ledu/umd/cs/findbugs/classfile/MethodDescriptor;
MethodParameters:
Name Flags
methodDescriptor
public java.lang.String getMethodName();
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.MethodAnnotation.methodName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
public java.lang.String getJavaSourceMethodName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: ldc "<clinit>"
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: new java.lang.StringBuilder
dup
ldc "<static initializer for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getSimpleClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
ldc "<init>"
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getSimpleClassName:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
public java.lang.String getMethodSignature();
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.MethodAnnotation.methodSig:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
public boolean isStatic();
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.MethodAnnotation.isStatic:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
public edu.umd.cs.findbugs.ba.XMethod toXMethod();
descriptor: ()Ledu/umd/cs/findbugs/ba/XMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.className:Ljava/lang/String;
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodSig:Ljava/lang/String;
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.isStatic:Z
invokestatic edu.umd.cs.findbugs.ba.XFactory.createXMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ledu/umd/cs/findbugs/ba/XMethod;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
public edu.umd.cs.findbugs.classfile.MethodDescriptor toMethodDescriptor();
descriptor: ()Ledu/umd/cs/findbugs/classfile/MethodDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.instance:()Ledu/umd/cs/findbugs/classfile/DescriptorFactory;
aload 0
invokevirtual edu.umd.cs.findbugs.classfile.DescriptorFactory.getMethodDescriptor:(Ledu/umd/cs/findbugs/MethodAnnotation;)Ledu/umd/cs/findbugs/classfile/MethodDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
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.visitMethodAnnotation:(Ledu/umd/cs/findbugs/MethodAnnotation;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
0 2 1 visitor Ledu/umd/cs/findbugs/BugAnnotationVisitor;
MethodParameters:
Name Flags
visitor
protected java.lang.String formatPackageMember(java.lang.String, edu.umd.cs.findbugs.ClassAnnotation);
descriptor: (Ljava/lang/String;Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: ldc ""
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
1: getstatic edu.umd.cs.findbugs.MethodAnnotation.UGLY_METHODS:Z
ifeq 2
aload 0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getUglyMethod:()Ljava/lang/String;
goto 3
StackMap locals:
StackMap stack:
2: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getFullMethod:(Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
3: areturn
4: StackMap locals:
StackMap stack:
ldc "givenClass"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
5: ldc "<init>"
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: new java.lang.StringBuilder
dup
ldc "new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual edu.umd.cs.findbugs.ClassAnnotation.getPackageName:()Ljava/lang/String;
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.className:Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.MethodAnnotation.shorten:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getSignatureInClass:(Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.className:Ljava/lang/String;
aload 2
invokevirtual edu.umd.cs.findbugs.ClassAnnotation.getClassName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getNameInClass:(Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
areturn
9: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokevirtual edu.umd.cs.findbugs.ClassAnnotation.getPackageName:()Ljava/lang/String;
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.className:Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.MethodAnnotation.shorten:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getNameInClass:(Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
10: StackMap locals:
StackMap stack:
ldc "name"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
11: aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
areturn
12: StackMap locals:
StackMap stack:
ldc "nameAndSignature"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
13: aload 0
aload 2
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getNameInClass:(Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
areturn
14: StackMap locals:
StackMap stack:
ldc "shortMethod"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
15: new java.lang.StringBuilder
dup
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.className:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "(...)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
16: StackMap locals:
StackMap stack:
ldc "hash"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
17: aload 0
iconst_0
iconst_1
iconst_1
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getNameInClass:(ZZZ)Ljava/lang/String;
astore 3
start local 3 18: new java.lang.StringBuilder
dup
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.className:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 19: StackMap locals:
StackMap stack:
ldc "returnType"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
20: aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodSig:Ljava/lang/String;
bipush 41
invokevirtual java.lang.String.indexOf:(I)I
istore 3
start local 3 21: aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodSig:Ljava/lang/String;
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
start local 4 22: aload 2
ifnonnull 23
ldc ""
goto 24
StackMap locals: int java.lang.String
StackMap stack:
23: aload 2
invokevirtual edu.umd.cs.findbugs.ClassAnnotation.getPackageName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
24: astore 5
start local 5 25: new edu.umd.cs.findbugs.ba.SignatureConverter
dup
aload 4
invokespecial edu.umd.cs.findbugs.ba.SignatureConverter.<init>:(Ljava/lang/String;)V
astore 6
start local 6 26: aload 5
aload 6
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.parseNext:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.MethodAnnotation.shorten:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 6 end local 5 end local 4 end local 3 27: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unknown 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 28 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
0 28 1 key Ljava/lang/String;
0 28 2 primaryClass Ledu/umd/cs/findbugs/ClassAnnotation;
18 19 3 tmp Ljava/lang/String;
21 27 3 i I
22 27 4 returnType Ljava/lang/String;
25 27 5 pkgName Ljava/lang/String;
26 27 6 converter Ledu/umd/cs/findbugs/ba/SignatureConverter;
MethodParameters:
Name Flags
key
primaryClass
public java.lang.String getNameInClass(edu.umd.cs.findbugs.ClassAnnotation);
descriptor: (Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
iconst_0
iconst_0
iconst_0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getNameInClass:(ZZZZ)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
0 1 1 primaryClass Ledu/umd/cs/findbugs/ClassAnnotation;
MethodParameters:
Name Flags
primaryClass
public java.lang.String getSignatureInClass(edu.umd.cs.findbugs.ClassAnnotation);
descriptor: (Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
iconst_0
iconst_0
iconst_1
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getNameInClass:(ZZZZ)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
0 1 1 primaryClass Ledu/umd/cs/findbugs/ClassAnnotation;
MethodParameters:
Name Flags
primaryClass
public java.lang.String getNameInClass(boolean, boolean, boolean);
descriptor: (ZZZ)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
iload 2
iload 3
iconst_0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getNameInClass:(ZZZZ)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
0 1 1 shortenPackages Z
0 1 2 useJVMMethodName Z
0 1 3 hash Z
MethodParameters:
Name Flags
shortenPackages
useJVMMethodName
hash
public java.lang.String getNameInClass(boolean, boolean, boolean, boolean);
descriptor: (ZZZZ)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 1: iload 4
ifne 6
2: iload 2
ifeq 5
3: aload 5
aload 0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getMethodName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: goto 6
5: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 5
aload 0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getJavaSourceMethodName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: StackMap locals:
StackMap stack:
aload 5
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: new edu.umd.cs.findbugs.ba.SignatureConverter
dup
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodSig:Ljava/lang/String;
invokespecial edu.umd.cs.findbugs.ba.SignatureConverter.<init>:(Ljava/lang/String;)V
astore 6
start local 6 8: aload 6
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.getFirst:()C
bipush 40
if_icmpeq 10
9: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "bad method signature "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodSig:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: edu.umd.cs.findbugs.ba.SignatureConverter
StackMap stack:
aload 6
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.skip:()V
11: iconst_0
istore 7
start local 7 12: goto 23
13: StackMap locals: int
StackMap stack:
iload 7
ifeq 18
14: iload 3
ifeq 17
15: aload 5
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: goto 18
17: StackMap locals:
StackMap stack:
aload 5
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: StackMap locals:
StackMap stack:
iload 1
ifeq 21
19: aload 5
aload 6
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.parseNext:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.MethodAnnotation.removePackageName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: goto 22
21: StackMap locals:
StackMap stack:
aload 5
aload 6
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.parseNext:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: StackMap locals:
StackMap stack:
iconst_1
istore 7
23: StackMap locals:
StackMap stack:
aload 6
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.getFirst:()C
bipush 41
if_icmpne 13
24: aload 6
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.skip:()V
25: aload 5
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
26: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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 27 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
0 27 1 shortenPackages Z
0 27 2 useJVMMethodName Z
0 27 3 hash Z
0 27 4 omitMethodName Z
1 27 5 result Ljava/lang/StringBuilder;
8 27 6 converter Ledu/umd/cs/findbugs/ba/SignatureConverter;
12 27 7 needsComma Z
MethodParameters:
Name Flags
shortenPackages
useJVMMethodName
hash
omitMethodName
public java.lang.String getFullMethod(edu.umd.cs.findbugs.ClassAnnotation);
descriptor: (Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.fullMethod:Ljava/lang/String;
ifnonnull 5
1: ldc "<init>"
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
2: aload 0
new java.lang.StringBuilder
dup
ldc "new "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.className:Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.stripJavaLang:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getSignatureInClass:(Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield edu.umd.cs.findbugs.MethodAnnotation.fullMethod:Ljava/lang/String;
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 0
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.className:Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.stripJavaLang:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getNameInClass:(Ledu/umd/cs/findbugs/ClassAnnotation;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield edu.umd.cs.findbugs.MethodAnnotation.fullMethod:Ljava/lang/String;
5: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.fullMethod:Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
0 6 1 primaryClass Ledu/umd/cs/findbugs/ClassAnnotation;
MethodParameters:
Name Flags
primaryClass
public java.lang.String stripJavaLang(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "java.lang."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 2
1: aload 1
bipush 10
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
0 3 1 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
private java.lang.String getUglyMethod();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.className:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodSig:Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.className:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
iadd
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodSig:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
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.MethodAnnotation
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast edu.umd.cs.findbugs.MethodAnnotation
astore 2
start local 2 3: aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.className:Ljava/lang/String;
aload 2
getfield edu.umd.cs.findbugs.MethodAnnotation.className:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
aload 2
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodSig:Ljava/lang/String;
aload 2
getfield edu.umd.cs.findbugs.MethodAnnotation.methodSig:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
iconst_1
ireturn
StackMap locals: edu.umd.cs.findbugs.MethodAnnotation
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
0 5 1 o Ljava/lang/Object;
3 5 2 other Ledu/umd/cs/findbugs/MethodAnnotation;
MethodParameters:
Name Flags
o
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.MethodAnnotation
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.MethodAnnotation
astore 2
start local 2 3: aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.className:Ljava/lang/String;
aload 2
getfield edu.umd.cs.findbugs.MethodAnnotation.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.MethodAnnotation int
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
aload 2
getfield edu.umd.cs.findbugs.MethodAnnotation.methodName:Ljava/lang/String;
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
istore 3
7: iload 3
ifeq 9
8: iload 3
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.methodSig:Ljava/lang/String;
aload 2
getfield edu.umd.cs.findbugs.MethodAnnotation.methodSig:Ljava/lang/String;
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
0 10 1 o Ledu/umd/cs/findbugs/BugAnnotation;
3 10 2 other Ledu/umd/cs/findbugs/MethodAnnotation;
4 10 3 cmp I
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=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
0 1 1 xmlOutput Ledu/umd/cs/findbugs/xml/XMLOutput;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
xmlOutput
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=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new edu.umd.cs.findbugs.xml.XMLAttributeList
dup
invokespecial edu.umd.cs.findbugs.xml.XMLAttributeList.<init>:()V
ldc "classname"
aload 0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getClassName:()Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
1: ldc "name"
aload 0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getMethodName:()Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
ldc "signature"
aload 0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getMethodSignature:()Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
2: ldc "isStatic"
aload 0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.isStatic:()Z
invokestatic java.lang.String.valueOf:(Z)Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
3: astore 4
start local 4 4: iload 3
ifeq 6
5: aload 4
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
6: StackMap locals: edu.umd.cs.findbugs.xml.XMLAttributeList
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getDescription:()Ljava/lang/String;
astore 5
start local 5 7: ldc "METHOD_DEFAULT"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
8: aload 4
ldc "role"
aload 5
invokevirtual edu.umd.cs.findbugs.xml.XMLAttributeList.addAttribute:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/xml/XMLAttributeList;
pop
9: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.sourceLines:Ledu/umd/cs/findbugs/SourceLineAnnotation;
ifnonnull 12
iload 2
ifne 12
10: aload 1
ldc "Method"
aload 4
invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.openCloseTag:(Ljava/lang/String;Ledu/umd/cs/findbugs/xml/XMLAttributeList;)V
11: goto 20
12: StackMap locals:
StackMap stack:
aload 1
ldc "Method"
aload 4
invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.openTag:(Ljava/lang/String;Ledu/umd/cs/findbugs/xml/XMLAttributeList;)V
13: aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.sourceLines:Ledu/umd/cs/findbugs/SourceLineAnnotation;
ifnull 15
14: aload 0
getfield edu.umd.cs.findbugs.MethodAnnotation.sourceLines:Ledu/umd/cs/findbugs/SourceLineAnnotation;
aload 1
invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.writeXML:(Ledu/umd/cs/findbugs/xml/XMLOutput;)V
15: StackMap locals:
StackMap stack:
iload 2
ifeq 19
16: aload 1
ldc "Message"
invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.openTag:(Ljava/lang/String;)V
17: aload 1
aload 0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.toString:()Ljava/lang/String;
invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.writeText:(Ljava/lang/String;)V
18: aload 1
ldc "Message"
invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.closeTag:(Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
aload 1
ldc "Method"
invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.closeTag:(Ljava/lang/String;)V
20: StackMap locals:
StackMap stack:
return
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 this Ledu/umd/cs/findbugs/MethodAnnotation;
0 21 1 xmlOutput Ledu/umd/cs/findbugs/xml/XMLOutput;
0 21 2 addMessages Z
0 21 3 isPrimary Z
4 21 4 attributeList Ledu/umd/cs/findbugs/xml/XMLAttributeList;
7 21 5 role Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
xmlOutput
addMessages
isPrimary
public boolean isSignificant();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual edu.umd.cs.findbugs.MethodAnnotation.getDescription:()Ljava/lang/String;
astore 1
start local 1 1: ldc "METHOD_DANGEROUS_TARGET"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
ldc "METHOD_DANGEROUS_TARGET_ACTUAL_GUARANTEED_NULL"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
2: ldc "METHOD_SAFE_TARGET"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
ldc "METHOD_EQUALS_USED"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
ldc "METHOD_COMPUTED_IN"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: StackMap locals: java.lang.String
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ledu/umd/cs/findbugs/MethodAnnotation;
1 5 1 role Ljava/lang/String;
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.MethodAnnotation.compareTo:(Ledu/umd/cs/findbugs/BugAnnotation;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "MethodAnnotation.java"
InnerClasses:
public Item = edu.umd.cs.findbugs.OpcodeStack$Item of edu.umd.cs.findbugs.OpcodeStack