public class com.oracle.mxtool.junit.FindClassesByAnnotatedMethods
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.mxtool.junit.FindClassesByAnnotatedMethods
super_class: java.lang.Object
{
private static final int MAJOR_VERSION_JAVA6;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 50
private static final int MAJOR_VERSION_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 44
private static final byte CONSTANT_Utf8;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final byte CONSTANT_Integer;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final byte CONSTANT_Float;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final byte CONSTANT_Long;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final byte CONSTANT_Double;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final byte CONSTANT_Class;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final byte CONSTANT_Fieldref;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final byte CONSTANT_String;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final byte CONSTANT_Methodref;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final byte CONSTANT_InterfaceMethodref;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final byte CONSTANT_NameAndType;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final byte CONSTANT_MethodHandle;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15
private static final byte CONSTANT_MethodType;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final byte CONSTANT_Dynamic;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 17
private static final byte CONSTANT_InvokeDynamic;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 18
private static final byte CONSTANT_Module;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 19
private static final byte CONSTANT_Package;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
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 Lcom/oracle/mxtool/junit/FindClassesByAnnotatedMethods;
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 com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
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 Lcom/oracle/mxtool/junit/FindClassesByAnnotatedMethods;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=7, locals=20, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 2: aload 0
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 13
StackMap locals: java.lang.String[] java.util.Set java.util.Set top int int java.lang.String[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 3
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.isAnnotationArg:(Ljava/lang/String;)Z
ifeq 12
5: aload 3
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 7
start local 7 6: aload 7
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 8
start local 8 7: iload 8
iconst_m1
if_icmpeq 10
8: aload 1
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: goto 12
10: StackMap locals: java.lang.String[] java.util.Set java.util.Set java.lang.String int int java.lang.String[] java.lang.String int
StackMap stack:
aload 7
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 9
start local 9 11: aload 2
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 end local 7 end local 3 12: StackMap locals: java.lang.String[] java.util.Set java.util.Set top int int java.lang.String[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
iload 5
if_icmplt 3
14: aload 0
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 61
StackMap locals:
StackMap stack:
15: aload 6
iload 4
aaload
astore 3
start local 3 16: aload 3
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.isSnippetArg:(Ljava/lang/String;)Z
ifne 60
aload 3
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.isAnnotationArg:(Ljava/lang/String;)Z
ifeq 18
17: goto 60
18: StackMap locals: java.lang.String[] java.util.Set java.util.Set java.lang.String int int java.lang.String[]
StackMap stack:
new java.util.jar.JarFile
dup
aload 3
invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;)V
astore 7
start local 7 19: aload 7
invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
astore 8
start local 8 20: iconst_0
istore 9
start local 9 21: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 3
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
22: goto 54
23: StackMap locals: java.util.jar.JarFile java.util.Enumeration int
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.util.jar.JarEntry
astore 10
start local 10 24: aload 10
invokevirtual java.util.jar.JarEntry.isDirectory:()Z
ifne 54
aload 10
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
ldc ".class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 54
aload 10
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
ldc "module-info.class"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
25: goto 54
26: StackMap locals: java.util.jar.JarEntry
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 11
start local 11 27: new java.io.DataInputStream
dup
new java.io.BufferedInputStream
dup
aload 7
aload 10
invokevirtual java.util.jar.JarFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
aload 10
invokevirtual java.util.jar.JarEntry.getSize:()J
l2i
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
astore 12
start local 12 28: iconst_1
istore 13
start local 13 29: aload 12
aload 11
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.readClassfile:(Ljava/io/DataInputStream;Ljava/util/Collection;)V
30: goto 36
StackMap locals: java.lang.String[] java.util.Set java.util.Set java.lang.String int int java.lang.String[] java.util.jar.JarFile java.util.Enumeration int java.util.jar.JarEntry java.util.Set java.io.DataInputStream int
StackMap stack: java.lang.UnsupportedClassVersionError
31: pop
32: iconst_0
istore 13
33: iinc 9 1
goto 36
34: StackMap locals:
StackMap stack: java.lang.Throwable
astore 14
start local 14 35: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Error while parsing class from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " in "
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;
aload 14
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 14 36: StackMap locals:
StackMap stack:
aload 10
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
iconst_0
aload 10
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ldc ".class"
invokevirtual java.lang.String.length:()I
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
ldc "/"
ldc "."
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 14
start local 14 37: iload 13
ifne 39
38: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
getstatic java.io.File.pathSeparator: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 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
39: StackMap locals: java.lang.String
StackMap stack:
aload 11
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 16
goto 53
StackMap locals: java.lang.String[] java.util.Set java.util.Set java.lang.String int int java.lang.String[] java.util.jar.JarFile java.util.Enumeration int java.util.jar.JarEntry java.util.Set java.io.DataInputStream int java.lang.String top java.util.Iterator
StackMap stack:
40: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 15
start local 15 41: aload 1
invokeinterface java.util.Set.isEmpty:()Z
ifne 44
42: aload 1
aload 15
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 44
43: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
44: StackMap locals: java.lang.String[] java.util.Set java.util.Set java.lang.String int int java.lang.String[] java.util.jar.JarFile java.util.Enumeration int java.util.jar.JarEntry java.util.Set java.io.DataInputStream int java.lang.String java.lang.String java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Set.isEmpty:()Z
ifne 53
45: aload 15
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 17
start local 17 46: iload 17
iconst_m1
if_icmpeq 53
47: aload 15
iload 17
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 18
start local 18 48: aload 18
bipush 36
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 19
start local 19 49: iload 19
iconst_m1
if_icmpeq 51
50: aload 18
iload 19
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 18
51: StackMap locals: int java.lang.String int
StackMap stack:
aload 2
aload 18
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 53
52: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
end local 19 end local 18 end local 17 end local 15 53: StackMap locals: java.lang.String[] java.util.Set java.util.Set java.lang.String int int java.lang.String[] java.util.jar.JarFile java.util.Enumeration int java.util.jar.JarEntry java.util.Set java.io.DataInputStream int java.lang.String top java.util.Iterator
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
end local 14 end local 13 end local 12 end local 11 end local 10 54: StackMap locals: java.lang.String[] java.util.Set java.util.Set java.lang.String int int java.lang.String[] java.util.jar.JarFile java.util.Enumeration int
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 23
55: iload 9
ifeq 59
56: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Warning: %d classes in %s skipped as their class file version is not supported by %s%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
57: ldc Lcom/oracle/mxtool/junit/FindClassesByAnnotatedMethods;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
58: invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
59: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
end local 9 end local 8 end local 7 end local 3 60: StackMap locals: java.lang.String[] java.util.Set java.util.Set top int int java.lang.String[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
61: iload 4
iload 5
if_icmplt 15
62: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 args [Ljava/lang/String;
1 63 1 qualifiedAnnotations Ljava/util/Set<Ljava/lang/String;>;
2 63 2 unqualifiedAnnotations Ljava/util/Set<Ljava/lang/String;>;
4 12 3 arg Ljava/lang/String;
6 12 7 annotation Ljava/lang/String;
7 12 8 lastDot I
11 12 9 unqualifed Ljava/lang/String;
16 60 3 jarFilePath Ljava/lang/String;
19 60 7 jarFile Ljava/util/jar/JarFile;
20 60 8 e Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
21 60 9 unsupportedClasses I
24 54 10 je Ljava/util/jar/JarEntry;
27 54 11 methodAnnotationTypes Ljava/util/Set<Ljava/lang/String;>;
28 54 12 stream Ljava/io/DataInputStream;
29 54 13 isSupported Z
35 36 14 t Ljava/lang/Throwable;
37 54 14 className Ljava/lang/String;
41 53 15 annotationType Ljava/lang/String;
46 53 17 lastDot I
48 53 18 simpleName Ljava/lang/String;
49 53 19 lastDollar I
Exception table:
from to target type
29 30 31 Class java.lang.UnsupportedClassVersionError
29 30 34 Class java.lang.Throwable
Exceptions:
throws java.lang.Throwable
MethodParameters:
Name Flags
args
private static boolean isAnnotationArg(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 64
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 arg Ljava/lang/String;
MethodParameters:
Name Flags
arg
private static boolean isSnippetArg(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "snippetsPattern:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg Ljava/lang/String;
MethodParameters:
Name Flags
arg
private static void readClassfile(java.io.DataInputStream, java.util.Collection<java.lang.String>);
descriptor: (Ljava/io/DataInputStream;Ljava/util/Collection;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.io.DataInputStream.readInt:()I
istore 2
start local 2 1: getstatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.$assertionsDisabled:Z
ifne 2
iload 2
ldc -889275714
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 3
start local 3 3: aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 4
start local 4 4: iload 4
bipush 50
if_icmpge 6
5: new java.lang.UnsupportedClassVersionError
dup
new java.lang.StringBuilder
dup
ldc "Unsupported class file version: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
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.UnsupportedClassVersionError.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: int int
StackMap stack:
invokestatic java.lang.System.getProperties:()Ljava/util/Properties;
ldc "java.specification.version"
invokevirtual java.util.Properties.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 5
start local 5 7: aload 5
ldc "1."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
8: aload 5
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 5
9: aload 5
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 6
start local 6 10: goto 12
end local 6 11: StackMap locals: java.lang.String
StackMap stack:
aload 5
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 6
start local 6 12: StackMap locals: int
StackMap stack:
iload 4
bipush 44
iload 6
iadd
if_icmple 14
13: new java.lang.UnsupportedClassVersionError
dup
new java.lang.StringBuilder
dup
ldc "Unsupported class file version: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
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.UnsupportedClassVersionError.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
iload 4
iload 3
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.readConstantPool:(Ljava/io/DataInputStream;II)[Ljava/lang/String;
astore 7
start local 7 15: aload 0
bipush 6
invokevirtual java.io.DataInputStream.skipBytes:(I)I
pop
16: aload 0
aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
iconst_2
imul
invokevirtual java.io.DataInputStream.skipBytes:(I)I
pop
17: aload 0
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.skipFields:(Ljava/io/DataInputStream;)V
18: aload 0
aload 7
aload 1
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.readMethods:(Ljava/io/DataInputStream;[Ljava/lang/String;Ljava/util/Collection;)V
19: return
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 20 0 stream Ljava/io/DataInputStream;
0 20 1 methodAnnotationTypes Ljava/util/Collection<Ljava/lang/String;>;
1 20 2 magic I
3 20 3 minor I
4 20 4 major I
7 20 5 javaVersion Ljava/lang/String;
10 11 6 majorJavaVersion I
12 20 6 majorJavaVersion I
15 20 7 cp [Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: (Ljava/io/DataInputStream;Ljava/util/Collection<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
stream
methodAnnotationTypes
private static void skipFully(java.io.DataInputStream, int);
descriptor: (Ljava/io/DataInputStream;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: lconst_0
lstore 2
start local 2 1: StackMap locals: long
StackMap stack:
aload 0
iload 1
i2l
lload 2
lsub
invokevirtual java.io.DataInputStream.skip:(J)J
lstore 4
start local 4 2: lload 2
lload 4
ladd
lstore 2
3: lload 4
lconst_0
lcmp
ifne 7
lload 2
iload 1
i2l
lcmp
ifeq 7
4: aload 0
invokevirtual java.io.DataInputStream.read:()I
iconst_m1
if_icmpne 6
5: new java.io.IOException
dup
ldc "truncated stream"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: long
StackMap stack:
lload 2
lconst_1
ladd
lstore 2
end local 4 7: StackMap locals:
StackMap stack:
lload 2
iload 1
i2l
lcmp
ifne 1
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 stream Ljava/io/DataInputStream;
0 9 1 n I
1 9 2 skipped J
2 7 4 s J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
n
private static java.lang.String[] readConstantPool(java.io.DataInputStream, int, int);
descriptor: (Ljava/io/DataInputStream;II)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 3
start local 3 1: iload 3
anewarray java.lang.String
astore 4
start local 4 2: iconst_1
istore 5
start local 5 3: goto 23
4: StackMap locals: int java.lang.String[] int
StackMap stack:
aload 0
invokevirtual java.io.DataInputStream.readByte:()B
istore 6
start local 6 5: iload 6
tableswitch { // 1 - 20
1: 12
2: 16
3: 8
4: 8
5: 10
6: 10
7: 6
8: 6
9: 8
10: 8
11: 8
12: 8
13: 16
14: 16
15: 14
16: 6
17: 8
18: 8
19: 6
20: 6
default: 16
}
6: StackMap locals: int
StackMap stack:
aload 0
iconst_2
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.skipFully:(Ljava/io/DataInputStream;I)V
7: goto 19
8: StackMap locals:
StackMap stack:
aload 0
iconst_4
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.skipFully:(Ljava/io/DataInputStream;I)V
9: goto 19
10: StackMap locals:
StackMap stack:
aload 0
bipush 8
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.skipFully:(Ljava/io/DataInputStream;I)V
11: goto 19
12: StackMap locals:
StackMap stack:
aload 4
iload 5
aload 0
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
aastore
13: goto 19
14: StackMap locals:
StackMap stack:
aload 0
iconst_3
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.skipFully:(Ljava/io/DataInputStream;I)V
15: goto 19
16: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Invalid constant pool tag: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". Maybe %s needs updating for changes introduced by class file version %d.%d?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_3
anewarray java.lang.Object
dup
iconst_0
17: ldc Lcom/oracle/mxtool/junit/FindClassesByAnnotatedMethods;
aastore
dup
iconst_1
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
18: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
iload 6
bipush 6
if_icmpeq 20
iload 6
iconst_5
if_icmpne 22
20: StackMap locals:
StackMap stack:
iinc 5 2
21: goto 23
22: StackMap locals:
StackMap stack:
iinc 5 1
end local 6 23: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmplt 4
24: 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 25 0 stream Ljava/io/DataInputStream;
0 25 1 major I
0 25 2 minor I
1 25 3 count I
2 25 4 cp [Ljava/lang/String;
3 25 5 i I
5 23 6 tag B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
major
minor
private static void skipAttributes(java.io.DataInputStream);
descriptor: (Ljava/io/DataInputStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
iconst_2
invokevirtual java.io.DataInputStream.skipBytes:(I)I
pop
4: aload 0
invokevirtual java.io.DataInputStream.readInt:()I
istore 3
start local 3 5: aload 0
iload 3
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.skipFully:(Ljava/io/DataInputStream;I)V
end local 3 6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 1
if_icmplt 3
end local 2 8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 stream Ljava/io/DataInputStream;
1 9 1 attributesCount I
2 8 2 i I
5 6 3 attributeLength I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
private static void readMethodAttributes(java.io.DataInputStream, java.lang.String[], java.util.Collection<java.lang.String>);
descriptor: (Ljava/io/DataInputStream;[Ljava/lang/String;Ljava/util/Collection;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 15
3: StackMap locals: int int
StackMap stack:
aload 1
aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
aaload
astore 5
start local 5 4: aload 0
invokevirtual java.io.DataInputStream.readInt:()I
istore 6
start local 6 5: aload 5
ldc "RuntimeVisibleAnnotations"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
6: aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 7
start local 7 7: iconst_0
istore 8
start local 8 8: goto 11
9: StackMap locals: java.io.DataInputStream java.lang.String[] java.util.Collection int int java.lang.String int int int
StackMap stack:
aload 0
aload 1
aload 2
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.readAnnotation:(Ljava/io/DataInputStream;[Ljava/lang/String;Ljava/util/Collection;)V
10: iinc 8 1
StackMap locals:
StackMap stack:
11: iload 8
iload 7
if_icmpne 9
end local 8 end local 7 12: goto 14
13: StackMap locals:
StackMap stack:
aload 0
iload 6
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.skipFully:(Ljava/io/DataInputStream;I)V
end local 6 end local 5 14: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
15: iload 4
iload 3
if_icmplt 3
end local 4 16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 stream Ljava/io/DataInputStream;
0 17 1 cp [Ljava/lang/String;
0 17 2 methodAnnotationTypes Ljava/util/Collection<Ljava/lang/String;>;
1 17 3 attributesCount I
2 16 4 i I
4 14 5 attributeName Ljava/lang/String;
5 14 6 attributeLength I
7 12 7 numAnnotations I
8 12 8 a I
Exceptions:
throws java.io.IOException
Signature: (Ljava/io/DataInputStream;[Ljava/lang/String;Ljava/util/Collection<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
stream
cp
methodAnnotationTypes
private static void readAnnotation(java.io.DataInputStream, java.lang.String[], java.util.Collection<java.lang.String>);
descriptor: (Ljava/io/DataInputStream;[Ljava/lang/String;Ljava/util/Collection;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 3
start local 3 1: aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 4
start local 4 2: aload 1
iload 3
aaload
astore 5
start local 5 3: aload 5
iconst_1
aload 5
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 6
start local 6 4: aload 2
aload 6
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
5: aload 0
aload 1
iload 4
iconst_1
aload 2
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.readAnnotationElements:(Ljava/io/DataInputStream;[Ljava/lang/String;IZLjava/util/Collection;)V
6: 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 7 0 stream Ljava/io/DataInputStream;
0 7 1 cp [Ljava/lang/String;
0 7 2 methodAnnotationTypes Ljava/util/Collection<Ljava/lang/String;>;
1 7 3 typeIndex I
2 7 4 pairs I
3 7 5 type Ljava/lang/String;
4 7 6 className Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: (Ljava/io/DataInputStream;[Ljava/lang/String;Ljava/util/Collection<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
stream
cp
methodAnnotationTypes
private static void readAnnotationElements(java.io.DataInputStream, java.lang.String[], int, boolean, java.util.Collection<java.lang.String>);
descriptor: (Ljava/io/DataInputStream;[Ljava/lang/String;IZLjava/util/Collection;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: goto 15
2: StackMap locals: int
StackMap stack:
iload 3
ifeq 4
3: aload 0
iconst_2
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.skipFully:(Ljava/io/DataInputStream;I)V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.DataInputStream.readByte:()B
istore 6
start local 6 5: iload 6
lookupswitch { // 13
64: 10
66: 6
67: 6
68: 6
70: 6
73: 6
74: 6
83: 6
90: 6
91: 12
99: 6
101: 8
115: 6
default: 14
}
6: StackMap locals: int
StackMap stack:
aload 0
iconst_2
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.skipFully:(Ljava/io/DataInputStream;I)V
7: goto 14
8: StackMap locals:
StackMap stack:
aload 0
iconst_4
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.skipFully:(Ljava/io/DataInputStream;I)V
9: goto 14
10: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.readAnnotation:(Ljava/io/DataInputStream;[Ljava/lang/String;Ljava/util/Collection;)V
11: goto 14
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 7
start local 7 13: aload 0
aload 1
iload 7
iconst_0
aload 4
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.readAnnotationElements:(Ljava/io/DataInputStream;[Ljava/lang/String;IZLjava/util/Collection;)V
end local 7 end local 6 14: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 2
if_icmplt 2
end local 5 16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 stream Ljava/io/DataInputStream;
0 17 1 cp [Ljava/lang/String;
0 17 2 pairs I
0 17 3 withElementName Z
0 17 4 methodAnnotationTypes Ljava/util/Collection<Ljava/lang/String;>;
1 16 5 p I
5 14 6 tag I
13 14 7 numValues I
Exceptions:
throws java.io.IOException
Signature: (Ljava/io/DataInputStream;[Ljava/lang/String;IZLjava/util/Collection<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
stream
cp
pairs
withElementName
methodAnnotationTypes
private static void skipFields(java.io.DataInputStream);
descriptor: (Ljava/io/DataInputStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
bipush 6
invokevirtual java.io.DataInputStream.skipBytes:(I)I
pop
4: aload 0
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.skipAttributes:(Ljava/io/DataInputStream;)V
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 1
if_icmplt 3
end local 2 7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 stream Ljava/io/DataInputStream;
1 8 1 count I
2 7 2 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
private static void readMethods(java.io.DataInputStream, java.lang.String[], java.util.Collection<java.lang.String>);
descriptor: (Ljava/io/DataInputStream;[Ljava/lang/String;Ljava/util/Collection;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
bipush 6
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.skipFully:(Ljava/io/DataInputStream;I)V
4: aload 0
aload 1
aload 2
invokestatic com.oracle.mxtool.junit.FindClassesByAnnotatedMethods.readMethodAttributes:(Ljava/io/DataInputStream;[Ljava/lang/String;Ljava/util/Collection;)V
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 3
if_icmplt 3
end local 4 7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 stream Ljava/io/DataInputStream;
0 8 1 cp [Ljava/lang/String;
0 8 2 methodAnnotationTypes Ljava/util/Collection<Ljava/lang/String;>;
1 8 3 count I
2 7 4 i I
Exceptions:
throws java.io.IOException
Signature: (Ljava/io/DataInputStream;[Ljava/lang/String;Ljava/util/Collection<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
stream
cp
methodAnnotationTypes
}
SourceFile: "FindClassesByAnnotatedMethods.java"