public class com.sun.tools.jdeprscan.scan.Scan
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.jdeprscan.scan.Scan
super_class: java.lang.Object
{
final java.io.PrintStream out;
descriptor: Ljava/io/PrintStream;
flags: (0x0010) ACC_FINAL
final java.io.PrintStream err;
descriptor: Ljava/io/PrintStream;
flags: (0x0010) ACC_FINAL
final java.util.List<java.lang.String> classPath;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
final com.sun.tools.jdeprscan.DeprDB db;
descriptor: Lcom/sun/tools/jdeprscan/DeprDB;
flags: (0x0010) ACC_FINAL
final boolean verbose;
descriptor: Z
flags: (0x0010) ACC_FINAL
final com.sun.tools.jdeprscan.scan.ClassFinder finder;
descriptor: Lcom/sun/tools/jdeprscan/scan/ClassFinder;
flags: (0x0010) ACC_FINAL
final java.util.Set<java.lang.String> classesNotFound;
descriptor: Ljava/util/Set;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
boolean errorOccurred;
descriptor: Z
flags: (0x0000)
java.util.regex.Pattern descTypePattern;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0000)
java.util.regex.Pattern refTypePattern;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0000)
public void <init>(java.io.PrintStream, java.io.PrintStream, java.util.List<java.lang.String>, com.sun.tools.jdeprscan.DeprDB, );
descriptor: (Ljava/io/PrintStream;Ljava/io/PrintStream;Ljava/util/List;Lcom/sun/tools/jdeprscan/DeprDB;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.sun.tools.jdeprscan.scan.Scan.classesNotFound:Ljava/util/Set;
2: aload 0
iconst_0
putfield com.sun.tools.jdeprscan.scan.Scan.errorOccurred:Z
3: aload 0
ldc "\\[*L(.*);"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putfield com.sun.tools.jdeprscan.scan.Scan.descTypePattern:Ljava/util/regex/Pattern;
4: aload 0
ldc "\\[+L(.*);"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putfield com.sun.tools.jdeprscan.scan.Scan.refTypePattern:Ljava/util/regex/Pattern;
5: aload 0
aload 1
putfield com.sun.tools.jdeprscan.scan.Scan.out:Ljava/io/PrintStream;
6: aload 0
aload 2
putfield com.sun.tools.jdeprscan.scan.Scan.err:Ljava/io/PrintStream;
7: aload 0
aload 3
putfield com.sun.tools.jdeprscan.scan.Scan.classPath:Ljava/util/List;
8: aload 0
aload 4
putfield com.sun.tools.jdeprscan.scan.Scan.db:Lcom/sun/tools/jdeprscan/DeprDB;
9: aload 0
iload 5
putfield com.sun.tools.jdeprscan.scan.Scan.verbose:Z
10: new com.sun.tools.jdeprscan.scan.ClassFinder
dup
iload 5
invokespecial com.sun.tools.jdeprscan.scan.ClassFinder.<init>:(Z)V
astore 6
start local 6 11: aload 6
invokevirtual com.sun.tools.jdeprscan.scan.ClassFinder.addJrt:()V
12: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 18
StackMap locals: com.sun.tools.jdeprscan.scan.Scan java.io.PrintStream java.io.PrintStream java.util.List com.sun.tools.jdeprscan.DeprDB int com.sun.tools.jdeprscan.scan.ClassFinder top java.util.Iterator
StackMap stack:
13: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 14: aload 7
ldc ".jar"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 17
15: aload 6
aload 7
invokevirtual com.sun.tools.jdeprscan.scan.ClassFinder.addJar:(Ljava/lang/String;)V
16: goto 18
17: StackMap locals: com.sun.tools.jdeprscan.scan.Scan java.io.PrintStream java.io.PrintStream java.util.List com.sun.tools.jdeprscan.DeprDB int com.sun.tools.jdeprscan.scan.ClassFinder java.lang.String java.util.Iterator
StackMap stack:
aload 6
aload 7
invokevirtual com.sun.tools.jdeprscan.scan.ClassFinder.addDir:(Ljava/lang/String;)V
end local 7 18: StackMap locals: com.sun.tools.jdeprscan.scan.Scan java.io.PrintStream java.io.PrintStream java.util.List com.sun.tools.jdeprscan.DeprDB int com.sun.tools.jdeprscan.scan.ClassFinder top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
19: aload 0
aload 6
putfield com.sun.tools.jdeprscan.scan.Scan.finder:Lcom/sun/tools/jdeprscan/scan/ClassFinder;
20: 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 21 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 21 1 out Ljava/io/PrintStream;
0 21 2 err Ljava/io/PrintStream;
0 21 3 classPath Ljava/util/List<Ljava/lang/String;>;
0 21 4 db Lcom/sun/tools/jdeprscan/DeprDB;
0 21 5 verbose Z
11 21 6 f Lcom/sun/tools/jdeprscan/scan/ClassFinder;
14 18 7 name Ljava/lang/String;
Signature: (Ljava/io/PrintStream;Ljava/io/PrintStream;Ljava/util/List<Ljava/lang/String;>;Lcom/sun/tools/jdeprscan/DeprDB;Z)V
MethodParameters:
Name Flags
out
err
classPath
db
verbose
java.lang.String nameFromDescType(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.descTypePattern:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 2
start local 2 1: aload 2
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 3
2: aload 2
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
areturn
3: StackMap locals: java.util.regex.Matcher
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 4 1 descType Ljava/lang/String;
1 4 2 matcher Ljava/util/regex/Matcher;
MethodParameters:
Name Flags
descType
java.lang.String nameFromRefType(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.refTypePattern:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 2
start local 2 1: aload 2
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 3
2: aload 2
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
areturn
3: StackMap locals: java.util.regex.Matcher
StackMap stack:
aload 1
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
4: aconst_null
areturn
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 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 6 1 refType Ljava/lang/String;
1 6 2 matcher Ljava/util/regex/Matcher;
MethodParameters:
Name Flags
refType
java.lang.String typeKind(com.sun.tools.classfile.ClassFile);
descriptor: (Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.classfile.ClassFile.access_flags:Lcom/sun/tools/classfile/AccessFlags;
astore 2
start local 2 1: aload 2
sipush 16384
invokevirtual com.sun.tools.classfile.AccessFlags.is:(I)Z
ifeq 3
2: ldc "enum"
areturn
3: StackMap locals: com.sun.tools.classfile.AccessFlags
StackMap stack:
aload 2
sipush 8192
invokevirtual com.sun.tools.classfile.AccessFlags.is:(I)Z
ifeq 5
4: ldc "@interface"
areturn
5: StackMap locals:
StackMap stack:
aload 2
sipush 512
invokevirtual com.sun.tools.classfile.AccessFlags.is:(I)Z
ifeq 7
6: ldc "interface"
areturn
7: StackMap locals:
StackMap stack:
ldc "class"
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 8 1 cf Lcom/sun/tools/classfile/ClassFile;
1 8 2 flags Lcom/sun/tools/classfile/AccessFlags;
MethodParameters:
Name Flags
cf
java.lang.String dep(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 1
ldc "scan.dep.removal"
goto 2
StackMap locals:
StackMap stack:
1: ldc "scan.dep.normal"
StackMap locals:
StackMap stack: java.lang.String
2: iconst_0
anewarray java.lang.Object
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 3 1 forRemoval Z
MethodParameters:
Name Flags
forRemoval
void printType(java.lang.String, com.sun.tools.classfile.ClassFile, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.out:Ljava/io/PrintStream;
aload 1
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 2
invokevirtual com.sun.tools.jdeprscan.scan.Scan.typeKind:(Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
aastore
dup
iconst_1
aload 2
invokevirtual com.sun.tools.classfile.ClassFile.getName:()Ljava/lang/String;
aastore
dup
iconst_2
aload 3
aastore
dup
iconst_3
aload 0
iload 4
invokevirtual com.sun.tools.jdeprscan.scan.Scan.dep:(Z)Ljava/lang/String;
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 2 1 key Ljava/lang/String;
0 2 2 cf Lcom/sun/tools/classfile/ClassFile;
0 2 3 cname Ljava/lang/String;
0 2 4 r Z
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
key
cf
cname
r
void printMethod(java.lang.String, com.sun.tools.classfile.ClassFile, java.lang.String, java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.out:Ljava/io/PrintStream;
aload 1
bipush 6
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 2
invokevirtual com.sun.tools.jdeprscan.scan.Scan.typeKind:(Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
aastore
dup
iconst_1
aload 2
invokevirtual com.sun.tools.classfile.ClassFile.getName:()Ljava/lang/String;
aastore
dup
iconst_2
aload 3
aastore
dup
iconst_3
aload 4
aastore
dup
iconst_4
aload 5
aastore
dup
iconst_5
aload 0
iload 6
invokevirtual com.sun.tools.jdeprscan.scan.Scan.dep:(Z)Ljava/lang/String;
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: 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 2 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 2 1 key Ljava/lang/String;
0 2 2 cf Lcom/sun/tools/classfile/ClassFile;
0 2 3 cname Ljava/lang/String;
0 2 4 mname Ljava/lang/String;
0 2 5 rtype Ljava/lang/String;
0 2 6 r Z
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
key
cf
cname
mname
rtype
r
void printField(java.lang.String, com.sun.tools.classfile.ClassFile, java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.out:Ljava/io/PrintStream;
aload 1
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 2
invokevirtual com.sun.tools.jdeprscan.scan.Scan.typeKind:(Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
aastore
dup
iconst_1
aload 2
invokevirtual com.sun.tools.classfile.ClassFile.getName:()Ljava/lang/String;
aastore
dup
iconst_2
aload 3
aastore
dup
iconst_3
aload 4
aastore
dup
iconst_4
aload 0
iload 5
invokevirtual com.sun.tools.jdeprscan.scan.Scan.dep:(Z)Ljava/lang/String;
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: 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 2 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 2 1 key Ljava/lang/String;
0 2 2 cf Lcom/sun/tools/classfile/ClassFile;
0 2 3 cname Ljava/lang/String;
0 2 4 fname Ljava/lang/String;
0 2 5 r Z
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
key
cf
cname
fname
r
void printFieldType(java.lang.String, com.sun.tools.classfile.ClassFile, java.lang.String, java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.out:Ljava/io/PrintStream;
aload 1
bipush 6
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 2
invokevirtual com.sun.tools.jdeprscan.scan.Scan.typeKind:(Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
aastore
dup
iconst_1
aload 2
invokevirtual com.sun.tools.classfile.ClassFile.getName:()Ljava/lang/String;
aastore
dup
iconst_2
aload 3
aastore
dup
iconst_3
aload 4
aastore
dup
iconst_4
aload 5
aastore
dup
iconst_5
aload 0
iload 6
invokevirtual com.sun.tools.jdeprscan.scan.Scan.dep:(Z)Ljava/lang/String;
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: 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 2 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 2 1 key Ljava/lang/String;
0 2 2 cf Lcom/sun/tools/classfile/ClassFile;
0 2 3 cname Ljava/lang/String;
0 2 4 fname Ljava/lang/String;
0 2 5 type Ljava/lang/String;
0 2 6 r Z
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
key
cf
cname
fname
type
r
void printHasField(com.sun.tools.classfile.ClassFile, java.lang.String, java.lang.String, boolean);
descriptor: (Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.out:Ljava/io/PrintStream;
ldc "scan.out.hasfield"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.Scan.typeKind:(Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
aastore
dup
iconst_1
aload 1
invokevirtual com.sun.tools.classfile.ClassFile.getName:()Ljava/lang/String;
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 3
aastore
dup
iconst_4
aload 0
iload 4
invokevirtual com.sun.tools.jdeprscan.scan.Scan.dep:(Z)Ljava/lang/String;
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 2 1 cf Lcom/sun/tools/classfile/ClassFile;
0 2 2 fname Ljava/lang/String;
0 2 3 type Ljava/lang/String;
0 2 4 r Z
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
fname
type
r
void printHasMethodParmType(com.sun.tools.classfile.ClassFile, java.lang.String, java.lang.String, boolean);
descriptor: (Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.out:Ljava/io/PrintStream;
ldc "scan.out.methodparmtype"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.Scan.typeKind:(Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
aastore
dup
iconst_1
aload 1
invokevirtual com.sun.tools.classfile.ClassFile.getName:()Ljava/lang/String;
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 3
aastore
dup
iconst_4
aload 0
iload 4
invokevirtual com.sun.tools.jdeprscan.scan.Scan.dep:(Z)Ljava/lang/String;
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 2 1 cf Lcom/sun/tools/classfile/ClassFile;
0 2 2 mname Ljava/lang/String;
0 2 3 parmType Ljava/lang/String;
0 2 4 r Z
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
mname
parmType
r
void printHasMethodRetType(com.sun.tools.classfile.ClassFile, java.lang.String, java.lang.String, boolean);
descriptor: (Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.out:Ljava/io/PrintStream;
ldc "scan.out.methodrettype"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.Scan.typeKind:(Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
aastore
dup
iconst_1
aload 1
invokevirtual com.sun.tools.classfile.ClassFile.getName:()Ljava/lang/String;
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 3
aastore
dup
iconst_4
aload 0
iload 4
invokevirtual com.sun.tools.jdeprscan.scan.Scan.dep:(Z)Ljava/lang/String;
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 2 1 cf Lcom/sun/tools/classfile/ClassFile;
0 2 2 mname Ljava/lang/String;
0 2 3 retType Ljava/lang/String;
0 2 4 r Z
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
mname
retType
r
void printHasOverriddenMethod(com.sun.tools.classfile.ClassFile, java.lang.String, java.lang.String, java.lang.String, boolean);
descriptor: (Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.out:Ljava/io/PrintStream;
ldc "scan.out.methodoverride"
bipush 6
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.Scan.typeKind:(Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/String;
aastore
dup
iconst_1
aload 1
invokevirtual com.sun.tools.classfile.ClassFile.getName:()Ljava/lang/String;
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
1: aload 3
aastore
dup
iconst_4
aload 4
aastore
dup
iconst_5
aload 0
iload 5
invokevirtual com.sun.tools.jdeprscan.scan.Scan.dep:(Z)Ljava/lang/String;
aastore
2: invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: 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 4 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 4 1 cf Lcom/sun/tools/classfile/ClassFile;
0 4 2 overridden Ljava/lang/String;
0 4 3 mname Ljava/lang/String;
0 4 4 desc Ljava/lang/String;
0 4 5 r Z
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
overridden
mname
desc
r
void errorException(java.lang.Exception);
descriptor: (Ljava/lang/Exception;)V
flags: (0x0000)
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
putfield com.sun.tools.jdeprscan.scan.Scan.errorOccurred:Z
1: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.err:Ljava/io/PrintStream;
ldc "scan.err.exception"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.verbose:Z
ifeq 4
3: aload 1
aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.err:Ljava/io/PrintStream;
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 5 1 ex Ljava/lang/Exception;
MethodParameters:
Name Flags
ex
void errorNoClass(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
putfield com.sun.tools.jdeprscan.scan.Scan.errorOccurred:Z
1: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.classesNotFound:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 3
2: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.err:Ljava/io/PrintStream;
ldc "scan.err.noclass"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 4 1 className Ljava/lang/String;
MethodParameters:
Name Flags
className
void errorNoFile(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
putfield com.sun.tools.jdeprscan.scan.Scan.errorOccurred:Z
1: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.err:Ljava/io/PrintStream;
ldc "scan.err.nofile"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 3 1 fileName Ljava/lang/String;
MethodParameters:
Name Flags
fileName
void errorNoMethod(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iconst_1
putfield com.sun.tools.jdeprscan.scan.Scan.errorOccurred:Z
1: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.err:Ljava/io/PrintStream;
ldc "scan.err.nomethod"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 3 1 className Ljava/lang/String;
0 3 2 methodName Ljava/lang/String;
0 3 3 desc Ljava/lang/String;
MethodParameters:
Name Flags
className
methodName
desc
boolean isMemberPresent(com.sun.tools.classfile.ClassFile, java.lang.String, java.lang.String, boolean);
descriptor: (Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Z)Z
flags: (0x0000)
Code:
stack=2, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
ifeq 10
1: aload 1
getfield com.sun.tools.classfile.ClassFile.methods:[Lcom/sun/tools/classfile/Method;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 8
StackMap locals: com.sun.tools.jdeprscan.scan.Scan com.sun.tools.classfile.ClassFile java.lang.String java.lang.String int top int int com.sun.tools.classfile.Method[]
StackMap stack:
2: aload 8
iload 6
aaload
astore 5
start local 5 3: aload 5
aload 1
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Method.getName:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
astore 9
start local 9 4: aload 1
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
aload 5
getfield com.sun.tools.classfile.Method.descriptor:Lcom/sun/tools/classfile/Descriptor;
getfield com.sun.tools.classfile.Descriptor.index:I
invokevirtual com.sun.tools.classfile.ConstantPool.getUTF8Value:(I)Ljava/lang/String;
astore 10
start local 10 5: aload 2
aload 9
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
aload 3
aload 10
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: iconst_1
ireturn
end local 10 end local 9 end local 5 7: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
iload 7
if_icmplt 2
9: goto 17
10: StackMap locals: com.sun.tools.jdeprscan.scan.Scan com.sun.tools.classfile.ClassFile java.lang.String java.lang.String int
StackMap stack:
aload 1
getfield com.sun.tools.classfile.ClassFile.fields:[Lcom/sun/tools/classfile/Field;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 16
StackMap locals: com.sun.tools.jdeprscan.scan.Scan com.sun.tools.classfile.ClassFile java.lang.String java.lang.String int top int int com.sun.tools.classfile.Field[]
StackMap stack:
11: aload 8
iload 6
aaload
astore 5
start local 5 12: aload 5
aload 1
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Field.getName:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
astore 9
start local 9 13: aload 2
aload 9
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
14: iconst_1
ireturn
end local 9 end local 5 15: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 7
if_icmplt 11
17: StackMap locals: com.sun.tools.jdeprscan.scan.Scan com.sun.tools.classfile.ClassFile java.lang.String java.lang.String int
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 18 1 targetClass Lcom/sun/tools/classfile/ClassFile;
0 18 2 targetName Ljava/lang/String;
0 18 3 targetDesc Ljava/lang/String;
0 18 4 checkMethod Z
3 7 5 m Lcom/sun/tools/classfile/Method;
4 7 9 mname Ljava/lang/String;
5 7 10 mdesc Ljava/lang/String;
12 15 5 f Lcom/sun/tools/classfile/Field;
13 15 9 fname Ljava/lang/String;
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
targetClass
targetName
targetDesc
checkMethod
void addInterfaces(java.util.Deque<java.lang.String>, com.sun.tools.classfile.ClassFile);
descriptor: (Ljava/util/Deque;Lcom/sun/tools/classfile/ClassFile;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield com.sun.tools.classfile.ClassFile.interfaces:[I
arraylength
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 5
3: StackMap locals: int int
StackMap stack:
aload 1
aload 2
iload 4
invokevirtual com.sun.tools.classfile.ClassFile.getInterfaceName:(I)Ljava/lang/String;
invokeinterface java.util.Deque.addLast:(Ljava/lang/Object;)V
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 3
if_icmplt 3
end local 4 6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 7 1 intfs Ljava/util/Deque<Ljava/lang/String;>;
0 7 2 cf Lcom/sun/tools/classfile/ClassFile;
1 7 3 count I
2 6 4 i I
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
Signature: (Ljava/util/Deque<Ljava/lang/String;>;Lcom/sun/tools/classfile/ClassFile;)V
MethodParameters:
Name Flags
intfs
cf
java.lang.String resolveMember(com.sun.tools.classfile.ClassFile, java.lang.String, java.lang.String, java.lang.String, boolean, boolean);
descriptor: (Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=11, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
invokevirtual com.sun.tools.classfile.ClassFile.getName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
1: aload 1
astore 7
start local 7 2: goto 7
end local 7 3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.finder:Lcom/sun/tools/jdeprscan/scan/ClassFinder;
aload 2
invokevirtual com.sun.tools.jdeprscan.scan.ClassFinder.find:(Ljava/lang/String;)Lcom/sun/tools/classfile/ClassFile;
astore 7
start local 7 4: aload 7
ifnonnull 7
5: aload 0
aload 2
invokevirtual com.sun.tools.jdeprscan.scan.Scan.errorNoClass:(Ljava/lang/String;)V
6: aload 2
areturn
7: StackMap locals: com.sun.tools.classfile.ClassFile
StackMap stack:
aload 7
astore 8
start local 8 8: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 9
start local 9 9: StackMap locals: com.sun.tools.classfile.ClassFile java.util.Deque
StackMap stack:
iload 6
ifne 10
aload 8
aload 7
if_acmpeq 12
10: StackMap locals:
StackMap stack:
aload 0
aload 8
aload 3
aload 4
iload 5
invokevirtual com.sun.tools.jdeprscan.scan.Scan.isMemberPresent:(Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Z)Z
ifeq 12
11: goto 22
12: StackMap locals:
StackMap stack:
aload 8
getfield com.sun.tools.classfile.ClassFile.super_class:I
ifne 15
13: aconst_null
astore 8
14: goto 22
15: StackMap locals:
StackMap stack:
aload 8
invokevirtual com.sun.tools.classfile.ClassFile.getSuperclassName:()Ljava/lang/String;
astore 10
start local 10 16: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.finder:Lcom/sun/tools/jdeprscan/scan/ClassFinder;
aload 10
invokevirtual com.sun.tools.jdeprscan.scan.ClassFinder.find:(Ljava/lang/String;)Lcom/sun/tools/classfile/ClassFile;
astore 8
17: aload 8
ifnonnull 20
18: aload 0
aload 10
invokevirtual com.sun.tools.jdeprscan.scan.Scan.errorNoClass:(Ljava/lang/String;)V
19: goto 22
20: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 9
aload 8
invokevirtual com.sun.tools.jdeprscan.scan.Scan.addInterfaces:(Ljava/util/Deque;Lcom/sun/tools/classfile/ClassFile;)V
end local 10 21: goto 9
22: StackMap locals:
StackMap stack:
aload 8
ifnonnull 34
23: aload 0
aload 9
aload 7
invokevirtual com.sun.tools.jdeprscan.scan.Scan.addInterfaces:(Ljava/util/Deque;Lcom/sun/tools/classfile/ClassFile;)V
24: goto 33
25: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Deque.removeFirst:()Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 26: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.finder:Lcom/sun/tools/jdeprscan/scan/ClassFinder;
aload 10
invokevirtual com.sun.tools.jdeprscan.scan.ClassFinder.find:(Ljava/lang/String;)Lcom/sun/tools/classfile/ClassFile;
astore 8
27: aload 8
ifnonnull 30
28: aload 0
aload 10
invokevirtual com.sun.tools.jdeprscan.scan.Scan.errorNoClass:(Ljava/lang/String;)V
29: goto 34
30: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 8
aload 3
aload 4
iload 5
invokevirtual com.sun.tools.jdeprscan.scan.Scan.isMemberPresent:(Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Z)Z
ifeq 32
31: goto 34
32: StackMap locals:
StackMap stack:
aload 0
aload 9
aload 8
invokevirtual com.sun.tools.jdeprscan.scan.Scan.addInterfaces:(Ljava/util/Deque;Lcom/sun/tools/classfile/ClassFile;)V
end local 10 33: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Deque.size:()I
ifgt 25
34: StackMap locals:
StackMap stack:
aload 8
ifnonnull 39
35: iload 6
ifeq 38
36: aload 0
aload 2
aload 3
aload 4
invokevirtual com.sun.tools.jdeprscan.scan.Scan.errorNoMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
37: aload 2
areturn
38: StackMap locals:
StackMap stack:
aconst_null
areturn
39: StackMap locals:
StackMap stack:
aload 8
invokevirtual com.sun.tools.classfile.ClassFile.getName:()Ljava/lang/String;
astore 10
start local 10 40: aload 10
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 41 1 cf Lcom/sun/tools/classfile/ClassFile;
0 41 2 startClassName Ljava/lang/String;
0 41 3 findName Ljava/lang/String;
0 41 4 findDesc Ljava/lang/String;
0 41 5 resolveMethod Z
0 41 6 checkStartClass Z
2 3 7 startClass Lcom/sun/tools/classfile/ClassFile;
4 41 7 startClass Lcom/sun/tools/classfile/ClassFile;
8 41 8 curClass Lcom/sun/tools/classfile/ClassFile;
9 41 9 intfs Ljava/util/Deque<Ljava/lang/String;>;
16 21 10 superName Ljava/lang/String;
26 33 10 intf Ljava/lang/String;
40 41 10 foundClassName Ljava/lang/String;
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
startClassName
findName
findDesc
resolveMethod
checkStartClass
void checkSuper(com.sun.tools.classfile.ClassFile);
descriptor: (Lcom/sun/tools/classfile/ClassFile;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.classfile.ClassFile.getSuperclassName:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.db:Lcom/sun/tools/jdeprscan/DeprDB;
aload 2
invokevirtual com.sun.tools.jdeprscan.DeprDB.getTypeDeprecated:(Ljava/lang/String;)Lcom/sun/tools/jdeprscan/DeprData;
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 0
ldc "scan.out.extends"
aload 1
aload 2
aload 3
invokevirtual com.sun.tools.jdeprscan.DeprData.isForRemoval:()Z
invokevirtual com.sun.tools.jdeprscan.scan.Scan.printType:(Ljava/lang/String;Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Z)V
4: StackMap locals: java.lang.String com.sun.tools.jdeprscan.DeprData
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 5 1 cf Lcom/sun/tools/classfile/ClassFile;
1 5 2 sname Ljava/lang/String;
2 5 3 dd Lcom/sun/tools/jdeprscan/DeprData;
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
void checkInterfaces(com.sun.tools.classfile.ClassFile);
descriptor: (Lcom/sun/tools/classfile/ClassFile;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.classfile.ClassFile.interfaces:[I
arraylength
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 8
3: StackMap locals: int int
StackMap stack:
aload 1
iload 3
invokevirtual com.sun.tools.classfile.ClassFile.getInterfaceName:(I)Ljava/lang/String;
astore 4
start local 4 4: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.db:Lcom/sun/tools/jdeprscan/DeprDB;
aload 4
invokevirtual com.sun.tools.jdeprscan.DeprDB.getTypeDeprecated:(Ljava/lang/String;)Lcom/sun/tools/jdeprscan/DeprData;
astore 5
start local 5 5: aload 5
ifnull 7
6: aload 0
ldc "scan.out.implements"
aload 1
aload 4
aload 5
invokevirtual com.sun.tools.jdeprscan.DeprData.isForRemoval:()Z
invokevirtual com.sun.tools.jdeprscan.scan.Scan.printType:(Ljava/lang/String;Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Z)V
end local 5 end local 4 7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 2
if_icmplt 3
end local 3 9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 10 1 cf Lcom/sun/tools/classfile/ClassFile;
1 10 2 ni I
2 9 3 i I
4 7 4 iname Ljava/lang/String;
5 7 5 dd Lcom/sun/tools/jdeprscan/DeprData;
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
void checkClasses(com.sun.tools.classfile.ClassFile, com.sun.tools.jdeprscan.scan.CPEntries);
descriptor: (Lcom/sun/tools/classfile/ClassFile;Lcom/sun/tools/jdeprscan/scan/CPEntries;)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield com.sun.tools.jdeprscan.scan.CPEntries.classes:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: com.sun.tools.jdeprscan.scan.Scan com.sun.tools.classfile.ClassFile com.sun.tools.jdeprscan.scan.CPEntries top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info
astore 3
start local 3 2: aload 0
aload 3
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info.getName:()Ljava/lang/String;
invokevirtual com.sun.tools.jdeprscan.scan.Scan.nameFromRefType:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 3: aload 5
ifnull 7
4: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.db:Lcom/sun/tools/jdeprscan/DeprDB;
aload 5
invokevirtual com.sun.tools.jdeprscan.DeprDB.getTypeDeprecated:(Ljava/lang/String;)Lcom/sun/tools/jdeprscan/DeprData;
astore 6
start local 6 5: aload 6
ifnull 7
6: aload 0
ldc "scan.out.usesclass"
aload 1
aload 5
aload 6
invokevirtual com.sun.tools.jdeprscan.DeprData.isForRemoval:()Z
invokevirtual com.sun.tools.jdeprscan.scan.Scan.printType:(Ljava/lang/String;Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Z)V
end local 6 end local 5 end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 9 1 cf Lcom/sun/tools/classfile/ClassFile;
0 9 2 entries Lcom/sun/tools/jdeprscan/scan/CPEntries;
2 7 3 ci Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Class_info;
3 7 5 name Ljava/lang/String;
5 7 6 dd Lcom/sun/tools/jdeprscan/DeprData;
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
entries
void checkMethodRef(com.sun.tools.classfile.ClassFile, java.lang.String, com.sun.tools.classfile.ConstantPool$CONSTANT_NameAndType_info, java.lang.String);
descriptor: (Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Lcom/sun/tools/classfile/ConstantPool$CONSTANT_NameAndType_info;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_NameAndType_info.getName:()Ljava/lang/String;
astore 5
start local 5 1: aload 3
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_NameAndType_info.getType:()Ljava/lang/String;
astore 6
start local 6 2: aload 0
aload 2
invokevirtual com.sun.tools.jdeprscan.scan.Scan.nameFromRefType:(Ljava/lang/String;)Ljava/lang/String;
astore 2
3: aload 2
ifnull 8
4: aload 0
aload 1
aload 2
aload 5
aload 6
iconst_1
iconst_1
invokevirtual com.sun.tools.jdeprscan.scan.Scan.resolveMember:(Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;
astore 2
5: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.db:Lcom/sun/tools/jdeprscan/DeprDB;
aload 2
aload 5
aload 6
invokevirtual com.sun.tools.jdeprscan.DeprDB.getMethodDeprecated:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/sun/tools/jdeprscan/DeprData;
astore 7
start local 7 6: aload 7
ifnull 8
7: aload 0
aload 4
aload 1
aload 2
aload 5
aload 6
aload 7
invokevirtual com.sun.tools.jdeprscan.DeprData.isForRemoval:()Z
invokevirtual com.sun.tools.jdeprscan.scan.Scan.printMethod:(Ljava/lang/String;Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
end local 7 8: StackMap locals: java.lang.String java.lang.String
StackMap stack:
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 9 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 9 1 cf Lcom/sun/tools/classfile/ClassFile;
0 9 2 clname Ljava/lang/String;
0 9 3 nti Lcom/sun/tools/classfile/ConstantPool$CONSTANT_NameAndType_info;
0 9 4 msgKey Ljava/lang/String;
1 9 5 name Ljava/lang/String;
2 9 6 type Ljava/lang/String;
6 8 7 dd Lcom/sun/tools/jdeprscan/DeprData;
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
clname
nti
msgKey
void checkFieldRef(com.sun.tools.classfile.ClassFile, com.sun.tools.classfile.ConstantPool$CONSTANT_Fieldref_info);
descriptor: (Lcom/sun/tools/classfile/ClassFile;Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Fieldref_info;)V
flags: (0x0000)
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_Fieldref_info.getClassName:()Ljava/lang/String;
invokevirtual com.sun.tools.jdeprscan.scan.Scan.nameFromRefType:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: aload 2
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_Fieldref_info.getNameAndTypeInfo:()Lcom/sun/tools/classfile/ConstantPool$CONSTANT_NameAndType_info;
astore 4
start local 4 2: aload 4
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_NameAndType_info.getName:()Ljava/lang/String;
astore 5
start local 5 3: aload 4
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_NameAndType_info.getType:()Ljava/lang/String;
astore 6
start local 6 4: aload 3
ifnull 9
5: aload 0
aload 1
aload 3
aload 5
aload 6
iconst_0
iconst_1
invokevirtual com.sun.tools.jdeprscan.scan.Scan.resolveMember:(Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;
astore 3
6: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.db:Lcom/sun/tools/jdeprscan/DeprDB;
aload 3
aload 5
invokevirtual com.sun.tools.jdeprscan.DeprDB.getFieldDeprecated:(Ljava/lang/String;Ljava/lang/String;)Lcom/sun/tools/jdeprscan/DeprData;
astore 7
start local 7 7: aload 7
ifnull 9
8: aload 0
ldc "scan.out.usesfield"
aload 1
aload 3
aload 5
aload 7
invokevirtual com.sun.tools.jdeprscan.DeprData.isForRemoval:()Z
invokevirtual com.sun.tools.jdeprscan.scan.Scan.printField:(Ljava/lang/String;Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Z)V
end local 7 9: StackMap locals: com.sun.tools.jdeprscan.scan.Scan com.sun.tools.classfile.ClassFile com.sun.tools.classfile.ConstantPool$CONSTANT_Fieldref_info java.lang.String com.sun.tools.classfile.ConstantPool$CONSTANT_NameAndType_info java.lang.String java.lang.String
StackMap stack:
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 10 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 10 1 cf Lcom/sun/tools/classfile/ClassFile;
0 10 2 fri Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Fieldref_info;
1 10 3 clname Ljava/lang/String;
2 10 4 nti Lcom/sun/tools/classfile/ConstantPool$CONSTANT_NameAndType_info;
3 10 5 name Ljava/lang/String;
4 10 6 type Ljava/lang/String;
7 9 7 dd Lcom/sun/tools/jdeprscan/DeprData;
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
fri
void checkFields(com.sun.tools.classfile.ClassFile);
descriptor: (Lcom/sun/tools/classfile/ClassFile;)V
flags: (0x0000)
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.classfile.ClassFile.fields:[Lcom/sun/tools/classfile/Field;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 8
StackMap locals: com.sun.tools.jdeprscan.scan.Scan com.sun.tools.classfile.ClassFile top int int com.sun.tools.classfile.Field[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 0
aload 1
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
aload 2
getfield com.sun.tools.classfile.Field.descriptor:Lcom/sun/tools/classfile/Descriptor;
getfield com.sun.tools.classfile.Descriptor.index:I
invokevirtual com.sun.tools.classfile.ConstantPool.getUTF8Value:(I)Ljava/lang/String;
invokevirtual com.sun.tools.jdeprscan.scan.Scan.nameFromDescType:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 3: aload 6
ifnull 7
4: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.db:Lcom/sun/tools/jdeprscan/DeprDB;
aload 6
invokevirtual com.sun.tools.jdeprscan.DeprDB.getTypeDeprecated:(Ljava/lang/String;)Lcom/sun/tools/jdeprscan/DeprData;
astore 7
start local 7 5: aload 7
ifnull 7
6: aload 0
aload 1
aload 2
aload 1
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Field.getName:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
aload 6
aload 7
invokevirtual com.sun.tools.jdeprscan.DeprData.isForRemoval:()Z
invokevirtual com.sun.tools.jdeprscan.scan.Scan.printHasField:(Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Z)V
end local 7 end local 6 end local 2 7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 4
if_icmplt 1
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 10 1 cf Lcom/sun/tools/classfile/ClassFile;
2 7 2 f Lcom/sun/tools/classfile/Field;
3 7 6 type Ljava/lang/String;
5 7 7 dd Lcom/sun/tools/jdeprscan/DeprData;
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
void checkMethods(com.sun.tools.classfile.ClassFile);
descriptor: (Lcom/sun/tools/classfile/ClassFile;)V
flags: (0x0000)
Code:
stack=7, locals=12, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.classfile.ClassFile.methods:[Lcom/sun/tools/classfile/Method;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 24
StackMap locals: com.sun.tools.jdeprscan.scan.Scan com.sun.tools.classfile.ClassFile top int int com.sun.tools.classfile.Method[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 2
aload 1
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
invokevirtual com.sun.tools.classfile.Method.getName:(Lcom/sun/tools/classfile/ConstantPool;)Ljava/lang/String;
astore 6
start local 6 3: aload 1
getfield com.sun.tools.classfile.ClassFile.constant_pool:Lcom/sun/tools/classfile/ConstantPool;
aload 2
getfield com.sun.tools.classfile.Method.descriptor:Lcom/sun/tools/classfile/Descriptor;
getfield com.sun.tools.classfile.Descriptor.index:I
invokevirtual com.sun.tools.classfile.ConstantPool.getUTF8Value:(I)Ljava/lang/String;
astore 7
start local 7 4: aload 7
invokestatic com.sun.tools.jdeprscan.scan.MethodSig.fromDesc:(Ljava/lang/String;)Lcom/sun/tools/jdeprscan/scan/MethodSig;
astore 8
start local 8 5: aload 8
invokevirtual com.sun.tools.jdeprscan.scan.MethodSig.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 12
StackMap locals: com.sun.tools.jdeprscan.scan.Scan com.sun.tools.classfile.ClassFile com.sun.tools.classfile.Method int int com.sun.tools.classfile.Method[] java.lang.String java.lang.String com.sun.tools.jdeprscan.scan.MethodSig top top java.util.Iterator
StackMap stack:
6: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 7: aload 0
aload 10
invokevirtual com.sun.tools.jdeprscan.scan.Scan.nameFromDescType:(Ljava/lang/String;)Ljava/lang/String;
astore 10
8: aload 10
ifnull 12
9: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.db:Lcom/sun/tools/jdeprscan/DeprDB;
aload 10
invokevirtual com.sun.tools.jdeprscan.DeprDB.getTypeDeprecated:(Ljava/lang/String;)Lcom/sun/tools/jdeprscan/DeprData;
astore 9
start local 9 10: aload 9
ifnull 12
11: aload 0
aload 1
aload 6
aload 10
aload 9
invokevirtual com.sun.tools.jdeprscan.DeprData.isForRemoval:()Z
invokevirtual com.sun.tools.jdeprscan.scan.Scan.printHasMethodParmType:(Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Z)V
end local 10 end local 9 12: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
13: aload 0
aload 8
invokevirtual com.sun.tools.jdeprscan.scan.MethodSig.getReturnType:()Ljava/lang/String;
invokevirtual com.sun.tools.jdeprscan.scan.Scan.nameFromDescType:(Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 14: aload 10
ifnull 18
15: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.db:Lcom/sun/tools/jdeprscan/DeprDB;
aload 10
invokevirtual com.sun.tools.jdeprscan.DeprDB.getTypeDeprecated:(Ljava/lang/String;)Lcom/sun/tools/jdeprscan/DeprData;
astore 9
start local 9 16: aload 9
ifnull 18
17: aload 0
aload 1
aload 6
aload 10
aload 9
invokevirtual com.sun.tools.jdeprscan.DeprData.isForRemoval:()Z
invokevirtual com.sun.tools.jdeprscan.scan.Scan.printHasMethodRetType:(Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Z)V
end local 9 18: StackMap locals: com.sun.tools.jdeprscan.scan.Scan com.sun.tools.classfile.ClassFile com.sun.tools.classfile.Method int int com.sun.tools.classfile.Method[] java.lang.String java.lang.String com.sun.tools.jdeprscan.scan.MethodSig top java.lang.String
StackMap stack:
aload 0
aload 1
aload 1
invokevirtual com.sun.tools.classfile.ClassFile.getName:()Ljava/lang/String;
aload 6
aload 7
iconst_1
iconst_0
invokevirtual com.sun.tools.jdeprscan.scan.Scan.resolveMember:(Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;
astore 11
start local 11 19: aload 11
ifnull 23
20: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.db:Lcom/sun/tools/jdeprscan/DeprDB;
aload 11
aload 6
aload 7
invokevirtual com.sun.tools.jdeprscan.DeprDB.getMethodDeprecated:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/sun/tools/jdeprscan/DeprData;
astore 9
start local 9 21: aload 9
ifnull 23
22: aload 0
aload 1
aload 11
aload 6
aload 7
aload 9
invokevirtual com.sun.tools.jdeprscan.DeprData.isForRemoval:()Z
invokevirtual com.sun.tools.jdeprscan.scan.Scan.printHasOverriddenMethod:(Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 2 23: StackMap locals: com.sun.tools.jdeprscan.scan.Scan com.sun.tools.classfile.ClassFile top int int com.sun.tools.classfile.Method[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
24: iload 3
iload 4
if_icmplt 1
25: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 26 1 cf Lcom/sun/tools/classfile/ClassFile;
2 23 2 m Lcom/sun/tools/classfile/Method;
3 23 6 mname Ljava/lang/String;
4 23 7 desc Ljava/lang/String;
5 23 8 sig Lcom/sun/tools/jdeprscan/scan/MethodSig;
10 12 9 dd Lcom/sun/tools/jdeprscan/DeprData;
16 18 9 dd Lcom/sun/tools/jdeprscan/DeprData;
21 23 9 dd Lcom/sun/tools/jdeprscan/DeprData;
7 12 10 parm Ljava/lang/String;
14 23 10 ret Ljava/lang/String;
19 23 11 overridden Ljava/lang/String;
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
void processClass(com.sun.tools.classfile.ClassFile);
descriptor: (Lcom/sun/tools/classfile/ClassFile;)V
flags: (0x0000)
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.verbose:Z
ifeq 2
1: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.out:Ljava/io/PrintStream;
ldc "scan.process.class"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual com.sun.tools.classfile.ClassFile.getName:()Ljava/lang/String;
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 1
invokestatic com.sun.tools.jdeprscan.scan.CPEntries.loadFrom:(Lcom/sun/tools/classfile/ClassFile;)Lcom/sun/tools/jdeprscan/scan/CPEntries;
astore 2
start local 2 3: aload 0
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.Scan.checkSuper:(Lcom/sun/tools/classfile/ClassFile;)V
4: aload 0
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.Scan.checkInterfaces:(Lcom/sun/tools/classfile/ClassFile;)V
5: aload 0
aload 1
aload 2
invokevirtual com.sun.tools.jdeprscan.scan.Scan.checkClasses:(Lcom/sun/tools/classfile/ClassFile;Lcom/sun/tools/jdeprscan/scan/CPEntries;)V
6: aload 2
getfield com.sun.tools.jdeprscan.scan.CPEntries.methodRefs:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 11
StackMap locals: com.sun.tools.jdeprscan.scan.Scan com.sun.tools.classfile.ClassFile com.sun.tools.jdeprscan.scan.CPEntries top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_Methodref_info
astore 3
start local 3 8: aload 3
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_Methodref_info.getClassName:()Ljava/lang/String;
astore 5
start local 5 9: aload 3
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_Methodref_info.getNameAndTypeInfo:()Lcom/sun/tools/classfile/ConstantPool$CONSTANT_NameAndType_info;
astore 6
start local 6 10: aload 0
aload 1
aload 5
aload 6
ldc "scan.out.usesmethod"
invokevirtual com.sun.tools.jdeprscan.scan.Scan.checkMethodRef:(Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Lcom/sun/tools/classfile/ConstantPool$CONSTANT_NameAndType_info;Ljava/lang/String;)V
end local 6 end local 5 end local 3 11: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
12: aload 2
getfield com.sun.tools.jdeprscan.scan.CPEntries.intfMethodRefs:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 17
StackMap locals:
StackMap stack:
13: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_InterfaceMethodref_info
astore 3
start local 3 14: aload 3
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_InterfaceMethodref_info.getClassName:()Ljava/lang/String;
astore 5
start local 5 15: aload 3
invokevirtual com.sun.tools.classfile.ConstantPool$CONSTANT_InterfaceMethodref_info.getNameAndTypeInfo:()Lcom/sun/tools/classfile/ConstantPool$CONSTANT_NameAndType_info;
astore 6
start local 6 16: aload 0
aload 1
aload 5
aload 6
ldc "scan.out.usesintfmethod"
invokevirtual com.sun.tools.jdeprscan.scan.Scan.checkMethodRef:(Lcom/sun/tools/classfile/ClassFile;Ljava/lang/String;Lcom/sun/tools/classfile/ConstantPool$CONSTANT_NameAndType_info;Ljava/lang/String;)V
end local 6 end local 5 end local 3 17: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
18: aload 2
getfield com.sun.tools.jdeprscan.scan.CPEntries.fieldRefs:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 21
StackMap locals:
StackMap stack:
19: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.classfile.ConstantPool$CONSTANT_Fieldref_info
astore 3
start local 3 20: aload 0
aload 1
aload 3
invokevirtual com.sun.tools.jdeprscan.scan.Scan.checkFieldRef:(Lcom/sun/tools/classfile/ClassFile;Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Fieldref_info;)V
end local 3 21: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
22: aload 0
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.Scan.checkFields:(Lcom/sun/tools/classfile/ClassFile;)V
23: aload 0
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.Scan.checkMethods:(Lcom/sun/tools/classfile/ClassFile;)V
24: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 25 1 cf Lcom/sun/tools/classfile/ClassFile;
3 25 2 entries Lcom/sun/tools/jdeprscan/scan/CPEntries;
8 11 3 mri Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Methodref_info;
9 11 5 clname Ljava/lang/String;
10 11 6 nti Lcom/sun/tools/classfile/ConstantPool$CONSTANT_NameAndType_info;
14 17 3 imri Lcom/sun/tools/classfile/ConstantPool$CONSTANT_InterfaceMethodref_info;
15 17 5 clname Ljava/lang/String;
16 17 6 nti Lcom/sun/tools/classfile/ConstantPool$CONSTANT_NameAndType_info;
20 21 3 fri Lcom/sun/tools/classfile/ConstantPool$CONSTANT_Fieldref_info;
Exceptions:
throws com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
cf
public boolean scanJar(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: new java.util.jar.JarFile
dup
aload 1
invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;)V
astore 4
start local 4 2: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.out:Ljava/io/PrintStream;
ldc "scan.head.jar"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.finder:Lcom/sun/tools/jdeprscan/scan/ClassFinder;
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.ClassFinder.addJar:(Ljava/lang/String;)V
4: aload 4
invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
astore 5
start local 5 5: goto 12
6: StackMap locals: com.sun.tools.jdeprscan.scan.Scan java.lang.String java.lang.Throwable java.lang.Throwable java.util.jar.JarFile java.util.Enumeration
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.util.jar.JarEntry
astore 6
start local 6 7: aload 6
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
astore 7
start local 7 8: aload 7
ldc ".class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 12
9: aload 7
ldc "package-info.class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 12
10: aload 7
ldc "module-info.class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 12
11: aload 0
aload 4
aload 6
invokevirtual java.util.jar.JarFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
invokestatic com.sun.tools.classfile.ClassFile.read:(Ljava/io/InputStream;)Lcom/sun/tools/classfile/ClassFile;
invokevirtual com.sun.tools.jdeprscan.scan.Scan.processClass:(Lcom/sun/tools/classfile/ClassFile;)V
end local 7 end local 6 12: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 6
13: aload 4
ifnull 14
aload 4
invokevirtual java.util.jar.JarFile.close:()V
14: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 5 StackMap locals: com.sun.tools.jdeprscan.scan.Scan java.lang.String java.lang.Throwable java.lang.Throwable java.util.jar.JarFile
StackMap stack: java.lang.Throwable
15: astore 2
16: aload 4
ifnull 17
aload 4
invokevirtual java.util.jar.JarFile.close:()V
end local 4 StackMap locals:
StackMap stack:
17: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 3
aload 2
ifnonnull 19
aload 3
astore 2
goto 20
StackMap locals:
StackMap stack:
19: aload 2
aload 3
if_acmpeq 20
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
20: aload 2
athrow
StackMap locals: com.sun.tools.jdeprscan.scan.Scan java.lang.String
StackMap stack: java.nio.file.NoSuchFileException
21: pop
22: aload 0
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.Scan.errorNoFile:(Ljava/lang/String;)V
goto 25
23: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 24: aload 0
aload 2
invokevirtual com.sun.tools.jdeprscan.scan.Scan.errorException:(Ljava/lang/Exception;)V
end local 2 25: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 26 1 jarname Ljava/lang/String;
2 17 4 jf Ljava/util/jar/JarFile;
5 15 5 entries Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
7 12 6 entry Ljava/util/jar/JarEntry;
8 12 7 name Ljava/lang/String;
24 25 2 ex Ljava/lang/Exception;
Exception table:
from to target type
2 13 15 any
1 14 18 any
15 18 18 any
0 14 21 Class java.nio.file.NoSuchFileException
15 21 21 Class java.nio.file.NoSuchFileException
0 14 23 Class java.io.IOException
15 21 23 Class java.io.IOException
0 14 23 Class com.sun.tools.classfile.ConstantPoolException
15 21 23 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
jarname
public boolean scanDir(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 2
start local 2 1: aload 2
invokeinterface java.nio.file.Path.getNameCount:()I
istore 3
start local 3 2: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.finder:Lcom/sun/tools/jdeprscan/scan/ClassFinder;
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.ClassFinder.addDir:(Ljava/lang/String;)V
3: aconst_null
astore 4
aconst_null
astore 5
4: aload 1
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
iconst_0
anewarray java.nio.file.FileVisitOption
invokestatic java.nio.file.Files.walk:(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;
astore 6
start local 6 5: aload 6
iload 3
invokedynamic test(I)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/sun/tools/jdeprscan/scan/Scan.lambda$0(ILjava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
6: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/sun/tools/jdeprscan/scan/Scan.lambda$1(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
7: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/sun/tools/jdeprscan/scan/Scan.lambda$2(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
8: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/sun/tools/jdeprscan/scan/Scan.lambda$3(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
9: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
10: astore 7
start local 7 11: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.out:Ljava/io/PrintStream;
ldc "scan.head.dir"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic com.sun.tools.jdeprscan.Messages.get:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
12: aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 15
StackMap locals: com.sun.tools.jdeprscan.scan.Scan java.lang.String java.nio.file.Path int java.lang.Throwable java.lang.Throwable java.util.stream.Stream java.util.List top java.util.Iterator
StackMap stack:
13: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 8
start local 8 14: aload 0
aload 8
invokestatic com.sun.tools.classfile.ClassFile.read:(Ljava/nio/file/Path;)Lcom/sun/tools/classfile/ClassFile;
invokevirtual com.sun.tools.jdeprscan.scan.Scan.processClass:(Lcom/sun/tools/classfile/ClassFile;)V
end local 8 15: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: aload 6
ifnull 17
aload 6
invokeinterface java.util.stream.Stream.close:()V
17: StackMap locals: com.sun.tools.jdeprscan.scan.Scan java.lang.String java.nio.file.Path int java.lang.Throwable java.lang.Throwable java.util.stream.Stream java.util.List
StackMap stack:
iconst_1
ireturn
end local 7 StackMap locals: com.sun.tools.jdeprscan.scan.Scan java.lang.String java.nio.file.Path int java.lang.Throwable java.lang.Throwable java.util.stream.Stream
StackMap stack: java.lang.Throwable
18: astore 4
19: aload 6
ifnull 20
aload 6
invokeinterface java.util.stream.Stream.close:()V
end local 6 StackMap locals:
StackMap stack:
20: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 5
aload 4
ifnonnull 22
aload 5
astore 4
goto 23
StackMap locals:
StackMap stack:
22: aload 4
aload 5
if_acmpeq 23
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 4
athrow
StackMap locals: com.sun.tools.jdeprscan.scan.Scan java.lang.String java.nio.file.Path int
StackMap stack: java.lang.Exception
24: astore 4
start local 4 25: aload 0
aload 4
invokevirtual com.sun.tools.jdeprscan.scan.Scan.errorException:(Ljava/lang/Exception;)V
26: iconst_0
ireturn
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 Lcom/sun/tools/jdeprscan/scan/Scan;
0 27 1 dirname Ljava/lang/String;
1 27 2 base Ljava/nio/file/Path;
2 27 3 baseCount I
5 20 6 paths Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
11 18 7 classes Ljava/util/List<Ljava/nio/file/Path;>;
14 15 8 p Ljava/nio/file/Path;
25 27 4 ex Ljava/lang/Exception;
Exception table:
from to target type
5 16 18 any
4 17 21 any
18 21 21 any
3 17 24 Class java.io.IOException
18 24 24 Class java.io.IOException
3 17 24 Class com.sun.tools.classfile.ConstantPoolException
18 24 24 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
dirname
public boolean processClassName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.jdeprscan.scan.Scan.finder:Lcom/sun/tools/jdeprscan/scan/ClassFinder;
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.ClassFinder.find:(Ljava/lang/String;)Lcom/sun/tools/classfile/ClassFile;
astore 2
start local 2 1: aload 2
ifnonnull 4
2: aload 0
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.Scan.errorNoClass:(Ljava/lang/String;)V
3: iconst_0
ireturn
4: StackMap locals: com.sun.tools.classfile.ClassFile
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.tools.jdeprscan.scan.Scan.processClass:(Lcom/sun/tools/classfile/ClassFile;)V
5: iconst_1
ireturn
end local 2 6: StackMap locals: com.sun.tools.jdeprscan.scan.Scan java.lang.String
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 2
start local 2 7: aload 0
aload 2
invokevirtual com.sun.tools.jdeprscan.scan.Scan.errorException:(Ljava/lang/Exception;)V
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 9 1 className Ljava/lang/String;
1 6 2 cf Lcom/sun/tools/classfile/ClassFile;
7 9 2 ex Lcom/sun/tools/classfile/ConstantPoolException;
Exception table:
from to target type
0 3 6 Class com.sun.tools.classfile.ConstantPoolException
4 5 6 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
className
public boolean processClassFile(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 2
start local 2 1: aload 2
invokestatic com.sun.tools.classfile.ClassFile.read:(Ljava/nio/file/Path;)Lcom/sun/tools/classfile/ClassFile;
astore 3
start local 3 2: aload 0
aload 3
invokevirtual com.sun.tools.jdeprscan.scan.Scan.processClass:(Lcom/sun/tools/classfile/ClassFile;)V
3: iconst_1
ireturn
end local 3 4: StackMap locals: com.sun.tools.jdeprscan.scan.Scan java.lang.String java.nio.file.Path
StackMap stack: java.nio.file.NoSuchFileException
pop
5: aload 0
aload 1
invokevirtual com.sun.tools.jdeprscan.scan.Scan.errorNoFile:(Ljava/lang/String;)V
goto 8
6: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 7: aload 0
aload 3
invokevirtual com.sun.tools.jdeprscan.scan.Scan.errorException:(Ljava/lang/Exception;)V
end local 3 8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/jdeprscan/scan/Scan;
0 9 1 fileName Ljava/lang/String;
1 9 2 path Ljava/nio/file/Path;
2 4 3 cf Lcom/sun/tools/classfile/ClassFile;
7 8 3 ex Ljava/lang/Exception;
Exception table:
from to target type
1 3 4 Class java.nio.file.NoSuchFileException
1 3 6 Class java.io.IOException
1 3 6 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
fileName
private static boolean lambda$0(int, java.nio.file.Path);
descriptor: (ILjava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokeinterface java.nio.file.Path.getNameCount:()I
iload 0
if_icmple 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 p Ljava/nio/file/Path;
private static boolean lambda$1(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
ldc ".class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 path Ljava/nio/file/Path;
private static boolean lambda$2(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
ldc "package-info.class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 path Ljava/nio/file/Path;
private static boolean lambda$3(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
ldc "module-info.class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 path Ljava/nio/file/Path;
}
SourceFile: "Scan.java"
InnerClasses:
public CONSTANT_Class_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Class_info of com.sun.tools.classfile.ConstantPool
public CONSTANT_Fieldref_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Fieldref_info of com.sun.tools.classfile.ConstantPool
public CONSTANT_InterfaceMethodref_info = com.sun.tools.classfile.ConstantPool$CONSTANT_InterfaceMethodref_info of com.sun.tools.classfile.ConstantPool
public CONSTANT_Methodref_info = com.sun.tools.classfile.ConstantPool$CONSTANT_Methodref_info of com.sun.tools.classfile.ConstantPool
public CONSTANT_NameAndType_info = com.sun.tools.classfile.ConstantPool$CONSTANT_NameAndType_info of com.sun.tools.classfile.ConstantPool
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles