public class org.jboss.resteasy.util.MethodHashing
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jboss.resteasy.util.MethodHashing
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jboss/resteasy/util/MethodHashing;
public static long methodHash(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 1
start local 1 1: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: java.lang.Class[] java.lang.StringBuilder int
StackMap stack:
aload 2
aload 1
iload 3
aaload
invokestatic org.jboss.resteasy.util.MethodHashing.getTypeString:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 7: aload 2
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
invokestatic org.jboss.resteasy.util.MethodHashing.getTypeString:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.jboss.resteasy.util.MethodHashing.createHash:(Ljava/lang/String;)J
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 method Ljava/lang/reflect/Method;
1 9 1 parameterTypes [Ljava/lang/Class;
2 9 2 methodDesc Ljava/lang/StringBuilder;
3 7 3 j I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
method
public static long createHash(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=8, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: new java.io.ByteArrayOutputStream
dup
sipush 512
invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
astore 3
start local 3 2: ldc "SHA"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 4
start local 4 3: new java.io.DataOutputStream
dup
new java.security.DigestOutputStream
dup
aload 3
aload 4
invokespecial java.security.DigestOutputStream.<init>:(Ljava/io/OutputStream;Ljava/security/MessageDigest;)V
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 5
start local 5 4: aload 5
aload 0
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
5: aload 5
invokevirtual java.io.DataOutputStream.flush:()V
6: aload 4
invokevirtual java.security.MessageDigest.digest:()[B
astore 6
start local 6 7: iconst_0
istore 7
start local 7 8: goto 11
9: StackMap locals: java.lang.String long java.io.ByteArrayOutputStream java.security.MessageDigest java.io.DataOutputStream byte[] int
StackMap stack:
lload 1
aload 6
iload 7
baload
sipush 255
iand
i2l
iload 7
bipush 8
imul
lshl
ladd
lstore 1
10: iinc 7 1
StackMap locals:
StackMap stack:
11: iload 7
bipush 8
aload 6
arraylength
invokestatic java.lang.Math.min:(II)I
if_icmplt 9
end local 7 12: lload 1
lreturn
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 methodDesc Ljava/lang/String;
1 13 1 hash J
2 13 3 bytearrayoutputstream Ljava/io/ByteArrayOutputStream;
3 13 4 messagedigest Ljava/security/MessageDigest;
4 13 5 dataoutputstream Ljava/io/DataOutputStream;
7 13 6 abyte0 [B
8 12 7 j I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
methodDesc
static java.lang.String getTypeString(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 2
1: ldc "B"
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 4
3: ldc "C"
areturn
4: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpne 6
5: ldc "D"
areturn
6: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 8
7: ldc "F"
areturn
8: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 10
9: ldc "I"
areturn
10: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 12
11: ldc "J"
areturn
12: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 14
13: ldc "S"
areturn
14: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 16
15: ldc "Z"
areturn
16: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 18
17: ldc "V"
areturn
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isArray:()Z
ifeq 20
19: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
invokestatic org.jboss.resteasy.util.MethodHashing.getTypeString:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
20: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "L"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)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
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 cl Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
cl
}
SourceFile: "MethodHashing.java"