public class edu.umd.cs.findbugs.ba.SignatureConverter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: edu.umd.cs.findbugs.ba.SignatureConverter
super_class: java.lang.Object
{
private java.lang.String signature;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
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/ba/SignatureConverter;
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.ba.SignatureConverter.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(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
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/ba/SignatureConverter;
0 3 1 signature Ljava/lang/String;
MethodParameters:
Name Flags
signature
public char getFirst();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/ba/SignatureConverter;
public void skip();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
putfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/ba/SignatureConverter;
public java.lang.String parseNext();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
getfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
2: iconst_0
istore 2
start local 2 3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iinc 2 1
4: aload 0
aload 0
getfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
putfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
5: aload 0
getfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpeq 3
6: aload 1
aload 0
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.parseNext:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: goto 9
8: StackMap locals:
StackMap stack:
aload 1
ldc "[]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: StackMap locals:
StackMap stack:
iload 2
iinc 2 -1
ifgt 8
end local 2 10: goto 39
StackMap locals:
StackMap stack:
11: aload 0
getfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
ldc "L"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 18
12: aload 0
getfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
bipush 59
invokevirtual java.lang.String.indexOf:(I)I
istore 2
start local 2 13: iload 2
ifge 15
14: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "missing semicolon in signature "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield edu.umd.cs.findbugs.ba.SignatureConverter.signature: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
15: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
iconst_1
iload 2
invokevirtual java.lang.String.substring:(II)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;
pop
16: aload 0
aload 0
getfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
putfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
end local 2 17: goto 39
18: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.ba.SignatureConverter.signature:Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 9
66: 19
67: 21
68: 23
70: 25
73: 27
74: 29
83: 31
86: 35
90: 33
default: 37
}
19: StackMap locals:
StackMap stack:
aload 1
ldc "byte"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: goto 38
21: StackMap locals:
StackMap stack:
aload 1
ldc "char"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: goto 38
23: StackMap locals:
StackMap stack:
aload 1
ldc "double"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
24: goto 38
25: StackMap locals:
StackMap stack:
aload 1
ldc "float"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: goto 38
27: StackMap locals:
StackMap stack:
aload 1
ldc "int"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
28: goto 38
29: StackMap locals:
StackMap stack:
aload 1
ldc "long"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
30: goto 38
31: StackMap locals:
StackMap stack:
aload 1
ldc "short"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
32: goto 38
33: StackMap locals:
StackMap stack:
aload 1
ldc "boolean"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
34: goto 38
35: StackMap locals:
StackMap stack:
aload 1
ldc "void"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
36: goto 38
37: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "bad signature "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield edu.umd.cs.findbugs.ba.SignatureConverter.signature: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.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
38: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.skip:()V
39: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ledu/umd/cs/findbugs/ba/SignatureConverter;
1 40 1 result Ljava/lang/StringBuilder;
3 10 2 dimensions I
13 17 2 semi I
public static java.lang.String convertMethodSignature(org.apache.bcel.classfile.JavaClass, org.apache.bcel.classfile.Method);
descriptor: (Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/Method;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
aload 1
invokevirtual org.apache.bcel.classfile.Method.getName:()Ljava/lang/String;
aload 1
invokevirtual org.apache.bcel.classfile.Method.getSignature:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.ba.SignatureConverter.convertMethodSignature:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 javaClass Lorg/apache/bcel/classfile/JavaClass;
0 1 1 method Lorg/apache/bcel/classfile/Method;
MethodParameters:
Name Flags
javaClass
method
public static java.lang.String convertMethodSignature(org.apache.bcel.generic.MethodGen);
descriptor: (Lorg/apache/bcel/generic/MethodGen;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.bcel.generic.MethodGen.getClassName:()Ljava/lang/String;
aload 0
invokevirtual org.apache.bcel.generic.MethodGen.getName:()Ljava/lang/String;
aload 0
invokevirtual org.apache.bcel.generic.MethodGen.getSignature:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.ba.SignatureConverter.convertMethodSignature:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 methodGen Lorg/apache/bcel/generic/MethodGen;
MethodParameters:
Name Flags
methodGen
public static java.lang.String convertMethodSignature(org.apache.bcel.generic.InvokeInstruction, org.apache.bcel.generic.ConstantPoolGen);
descriptor: (Lorg/apache/bcel/generic/InvokeInstruction;Lorg/apache/bcel/generic/ConstantPoolGen;)Ljava/lang/String;
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
invokevirtual org.apache.bcel.generic.InvokeInstruction.getClassName:(Lorg/apache/bcel/generic/ConstantPoolGen;)Ljava/lang/String;
aload 0
aload 1
invokevirtual org.apache.bcel.generic.InvokeInstruction.getName:(Lorg/apache/bcel/generic/ConstantPoolGen;)Ljava/lang/String;
aload 0
aload 1
invokevirtual org.apache.bcel.generic.InvokeInstruction.getSignature:(Lorg/apache/bcel/generic/ConstantPoolGen;)Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.ba.SignatureConverter.convertMethodSignature:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 inv Lorg/apache/bcel/generic/InvokeInstruction;
0 1 1 cpg Lorg/apache/bcel/generic/ConstantPoolGen;
MethodParameters:
Name Flags
inv
cpg
public static java.lang.String convertMethodSignature(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
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
aload 2
ldc ""
invokestatic edu.umd.cs.findbugs.ba.SignatureConverter.convertMethodSignature:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 className Ljava/lang/String;
0 1 1 methodName Ljava/lang/String;
0 1 2 methodSig Ljava/lang/String;
MethodParameters:
Name Flags
className
methodName
methodSig
public static java.lang.String convertMethodSignature(edu.umd.cs.findbugs.ba.XMethod);
descriptor: (Ledu/umd/cs/findbugs/ba/XMethod;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface edu.umd.cs.findbugs.ba.XMethod.getClassName:()Ljava/lang/String;
astore 1
start local 1 1: getstatic edu.umd.cs.findbugs.ba.SignatureConverter.$assertionsDisabled:Z
ifne 2
aload 1
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: java.lang.String
StackMap stack:
aload 1
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;
invokestatic edu.umd.cs.findbugs.ba.SignatureConverter.convertMethodSignature:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 xmethod Ledu/umd/cs/findbugs/ba/XMethod;
1 3 1 className Ljava/lang/String;
MethodParameters:
Name Flags
xmethod
public static java.lang.String convertMethodSignature(edu.umd.cs.findbugs.classfile.MethodDescriptor);
descriptor: (Ledu/umd/cs/findbugs/classfile/MethodDescriptor;)Ljava/lang/String;
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.classfile.MethodDescriptor.getClassDescriptor:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.toDottedClassName:()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;
2: invokestatic edu.umd.cs.findbugs.ba.SignatureConverter.convertMethodSignature:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
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 static java.lang.String convertMethodSignature(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 1: new edu.umd.cs.findbugs.ba.SignatureConverter
dup
aload 2
invokespecial edu.umd.cs.findbugs.ba.SignatureConverter.<init>:(Ljava/lang/String;)V
astore 5
start local 5 2: aload 5
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.skip:()V
3: aload 4
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: goto 8
5: StackMap locals: java.lang.StringBuilder edu.umd.cs.findbugs.ba.SignatureConverter
StackMap stack:
aload 4
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
if_icmple 7
6: aload 4
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals:
StackMap stack:
aload 4
aload 3
aload 5
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.parseNext:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.ba.SignatureConverter.shorten:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: StackMap locals:
StackMap stack:
aload 5
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.getFirst:()C
bipush 41
if_icmpne 5
9: aload 5
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.skip:()V
10: aload 4
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 12: aload 6
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: aload 6
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
14: aload 6
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: aload 6
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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 17 0 className Ljava/lang/String;
0 17 1 methodName Ljava/lang/String;
0 17 2 methodSig Ljava/lang/String;
0 17 3 pkgName Ljava/lang/String;
1 17 4 args Ljava/lang/StringBuilder;
2 17 5 converter Ledu/umd/cs/findbugs/ba/SignatureConverter;
12 17 6 result Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
className
methodName
methodSig
pkgName
public static java.lang.String convert(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new edu.umd.cs.findbugs.ba.SignatureConverter
dup
aload 0
invokespecial edu.umd.cs.findbugs.ba.SignatureConverter.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.ba.SignatureConverter.parseNext:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 signature Ljava/lang/String;
MethodParameters:
Name Flags
signature
public static java.lang.String shorten(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 1: iload 2
iflt 5
2: aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 3: aload 3
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
ldc "java.lang"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: StackMap locals: int java.lang.String
StackMap stack:
aload 1
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
end local 3 5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 pkgName Ljava/lang/String;
0 6 1 typeName Ljava/lang/String;
1 6 2 index I
3 5 3 otherPkg Ljava/lang/String;
MethodParameters:
Name Flags
pkgName
typeName
}
SourceFile: "SignatureConverter.java"