class com.sun.tools.classfile.Dependencies$APIDependencyFinder extends com.sun.tools.classfile.Dependencies$BasicDependencyFinder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.classfile.Dependencies$APIDependencyFinder
super_class: com.sun.tools.classfile.Dependencies$BasicDependencyFinder
{
private int showAccess;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 // com.sun.tools.classfile.Dependencies$APIDependencyFinder this
start local 1 // int access
0: .line 501
aload 0 /* this */
invokespecial com.sun.tools.classfile.Dependencies$BasicDependencyFinder.<init>:()V
1: .line 502
iload 1 /* access */
tableswitch { // 0 - 4
0: 2
1: 2
2: 2
3: 4
4: 2
default: 4
}
2: .line 507
StackMap locals: com.sun.tools.classfile.Dependencies$APIDependencyFinder int
StackMap stack:
aload 0 /* this */
iload 1 /* access */
putfield com.sun.tools.classfile.Dependencies$APIDependencyFinder.showAccess:I
3: .line 508
goto 7
4: .line 510
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "invalid access 0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: .line 511
iload 1 /* access */
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: .line 510
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: .line 513
StackMap locals:
StackMap stack:
return
end local 1 // int access
end local 0 // com.sun.tools.classfile.Dependencies$APIDependencyFinder this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/classfile/Dependencies$APIDependencyFinder;
0 8 1 access I
MethodParameters:
Name Flags
access
public java.lang.Iterable<? extends com.sun.tools.classfile.Dependency> findDependencies(com.sun.tools.classfile.ClassFile);
descriptor: (Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 // com.sun.tools.classfile.Dependencies$APIDependencyFinder this
start local 1 // com.sun.tools.classfile.ClassFile classfile
0: .line 517
new com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor
dup
aload 0 /* this */
aload 1 /* classfile */
invokespecial com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor.<init>:(Lcom/sun/tools/classfile/Dependencies$BasicDependencyFinder;Lcom/sun/tools/classfile/ClassFile;)V
astore 2 /* v */
start local 2 // com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor v
1: .line 518
aload 2 /* v */
aload 1 /* classfile */
getfield com.sun.tools.classfile.ClassFile.super_class:I
invokevirtual com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor.addClass:(I)V
2: .line 519
aload 2 /* v */
aload 1 /* classfile */
getfield com.sun.tools.classfile.ClassFile.interfaces:[I
invokevirtual com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor.addClasses:([I)V
3: .line 521
aload 1 /* classfile */
getfield com.sun.tools.classfile.ClassFile.fields:[Lcom/sun/tools/classfile/Field;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 8
StackMap locals: com.sun.tools.classfile.Dependencies$APIDependencyFinder com.sun.tools.classfile.ClassFile com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor top int int com.sun.tools.classfile.Field[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3 /* f */
start local 3 // com.sun.tools.classfile.Field f
5: .line 522
aload 0 /* this */
aload 3 /* f */
getfield com.sun.tools.classfile.Field.access_flags:Lcom/sun/tools/classfile/AccessFlags;
invokevirtual com.sun.tools.classfile.Dependencies$APIDependencyFinder.checkAccess:(Lcom/sun/tools/classfile/AccessFlags;)Z
ifeq 7
6: .line 523
aload 2 /* v */
aload 3 /* f */
getfield com.sun.tools.classfile.Field.descriptor:Lcom/sun/tools/classfile/Descriptor;
aload 3 /* f */
getfield com.sun.tools.classfile.Field.attributes:Lcom/sun/tools/classfile/Attributes;
invokevirtual com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor.scan:(Lcom/sun/tools/classfile/Descriptor;Lcom/sun/tools/classfile/Attributes;)V
end local 3 // com.sun.tools.classfile.Field f
7: .line 521
StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 5
if_icmplt 4
9: .line 525
aload 1 /* classfile */
getfield com.sun.tools.classfile.ClassFile.methods:[Lcom/sun/tools/classfile/Method;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 18
StackMap locals: com.sun.tools.classfile.Dependencies$APIDependencyFinder com.sun.tools.classfile.ClassFile com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor top int int com.sun.tools.classfile.Method[]
StackMap stack:
10: aload 6
iload 4
aaload
astore 3 /* m */
start local 3 // com.sun.tools.classfile.Method m
11: .line 526
aload 0 /* this */
aload 3 /* m */
getfield com.sun.tools.classfile.Method.access_flags:Lcom/sun/tools/classfile/AccessFlags;
invokevirtual com.sun.tools.classfile.Dependencies$APIDependencyFinder.checkAccess:(Lcom/sun/tools/classfile/AccessFlags;)Z
ifeq 17
12: .line 527
aload 2 /* v */
aload 3 /* m */
getfield com.sun.tools.classfile.Method.descriptor:Lcom/sun/tools/classfile/Descriptor;
aload 3 /* m */
getfield com.sun.tools.classfile.Method.attributes:Lcom/sun/tools/classfile/Attributes;
invokevirtual com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor.scan:(Lcom/sun/tools/classfile/Descriptor;Lcom/sun/tools/classfile/Attributes;)V
13: .line 529
aload 3 /* m */
getfield com.sun.tools.classfile.Method.attributes:Lcom/sun/tools/classfile/Attributes;
ldc "Exceptions"
invokevirtual com.sun.tools.classfile.Attributes.get:(Ljava/lang/String;)Lcom/sun/tools/classfile/Attribute;
checkcast com.sun.tools.classfile.Exceptions_attribute
14: .line 528
astore 7 /* e */
start local 7 // com.sun.tools.classfile.Exceptions_attribute e
15: .line 530
aload 7 /* e */
ifnull 17
16: .line 531
aload 2 /* v */
aload 7 /* e */
getfield com.sun.tools.classfile.Exceptions_attribute.exception_index_table:[I
invokevirtual com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor.addClasses:([I)V
end local 7 // com.sun.tools.classfile.Exceptions_attribute e
end local 3 // com.sun.tools.classfile.Method m
17: .line 525
StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
18: iload 4
iload 5
if_icmplt 10
19: .line 534
aload 2 /* v */
getfield com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor.deps:Ljava/util/Set;
20: areturn
end local 2 // com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor v
21: .line 535
StackMap locals: com.sun.tools.classfile.Dependencies$APIDependencyFinder com.sun.tools.classfile.ClassFile
StackMap stack: com.sun.tools.classfile.ConstantPoolException
astore 2 /* e */
start local 2 // com.sun.tools.classfile.ConstantPoolException e
22: .line 536
new com.sun.tools.classfile.Dependencies$ClassFileError
dup
aload 2 /* e */
invokespecial com.sun.tools.classfile.Dependencies$ClassFileError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 // com.sun.tools.classfile.ConstantPoolException e
end local 1 // com.sun.tools.classfile.ClassFile classfile
end local 0 // com.sun.tools.classfile.Dependencies$APIDependencyFinder this
LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/tools/classfile/Dependencies$APIDependencyFinder;
0 23 1 classfile Lcom/sun/tools/classfile/ClassFile;
1 21 2 v Lcom/sun/tools/classfile/Dependencies$BasicDependencyFinder$Visitor;
5 7 3 f Lcom/sun/tools/classfile/Field;
11 17 3 m Lcom/sun/tools/classfile/Method;
15 17 7 e Lcom/sun/tools/classfile/Exceptions_attribute;
22 23 2 e Lcom/sun/tools/classfile/ConstantPoolException;
Exception table:
from to target type
0 20 21 Class com.sun.tools.classfile.ConstantPoolException
Signature: (Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/Iterable<+Lcom/sun/tools/classfile/Dependency;>;
MethodParameters:
Name Flags
classfile
boolean checkAccess(com.sun.tools.classfile.AccessFlags);
descriptor: (Lcom/sun/tools/classfile/AccessFlags;)Z
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 // com.sun.tools.classfile.Dependencies$APIDependencyFinder this
start local 1 // com.sun.tools.classfile.AccessFlags flags
0: .line 542
aload 1 /* flags */
iconst_1
invokevirtual com.sun.tools.classfile.AccessFlags.is:(I)Z
istore 2 /* isPublic */
start local 2 // boolean isPublic
1: .line 543
aload 1 /* flags */
iconst_4
invokevirtual com.sun.tools.classfile.AccessFlags.is:(I)Z
istore 3 /* isProtected */
start local 3 // boolean isProtected
2: .line 544
aload 1 /* flags */
iconst_2
invokevirtual com.sun.tools.classfile.AccessFlags.is:(I)Z
istore 4 /* isPrivate */
start local 4 // boolean isPrivate
3: .line 545
iload 2 /* isPublic */
ifne 4
iload 3 /* isProtected */
ifne 4
iload 4 /* isPrivate */
ifeq 5
StackMap locals: int int int
StackMap stack:
4: iconst_0
goto 6
StackMap locals:
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: istore 5 /* isPackage */
start local 5 // boolean isPackage
7: .line 547
aload 0 /* this */
getfield com.sun.tools.classfile.Dependencies$APIDependencyFinder.showAccess:I
iconst_1
if_icmpne 9
iload 3 /* isProtected */
ifne 8
iload 4 /* isPrivate */
ifne 8
iload 5 /* isPackage */
ifeq 9
8: .line 548
StackMap locals: int
StackMap stack:
iconst_0
ireturn
9: .line 549
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.classfile.Dependencies$APIDependencyFinder.showAccess:I
iconst_4
if_icmpne 11
iload 4 /* isPrivate */
ifne 10
iload 5 /* isPackage */
ifeq 11
10: .line 550
StackMap locals:
StackMap stack:
iconst_0
ireturn
11: .line 551
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.classfile.Dependencies$APIDependencyFinder.showAccess:I
ifne 13
iload 4 /* isPrivate */
ifeq 13
12: .line 552
iconst_0
ireturn
13: .line 554
StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 5 // boolean isPackage
end local 4 // boolean isPrivate
end local 3 // boolean isProtected
end local 2 // boolean isPublic
end local 1 // com.sun.tools.classfile.AccessFlags flags
end local 0 // com.sun.tools.classfile.Dependencies$APIDependencyFinder this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/tools/classfile/Dependencies$APIDependencyFinder;
0 14 1 flags Lcom/sun/tools/classfile/AccessFlags;
1 14 2 isPublic Z
2 14 3 isProtected Z
3 14 4 isPrivate Z
7 14 5 isPackage Z
MethodParameters:
Name Flags
flags
}
SourceFile: "Dependencies.java"
NestHost: com.sun.tools.classfile.Dependencies
InnerClasses:
APIDependencyFinder = com.sun.tools.classfile.Dependencies$APIDependencyFinder of com.sun.tools.classfile.Dependencies
abstract BasicDependencyFinder = com.sun.tools.classfile.Dependencies$BasicDependencyFinder of com.sun.tools.classfile.Dependencies
Visitor = com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor of com.sun.tools.classfile.Dependencies$BasicDependencyFinder
public ClassFileError = com.sun.tools.classfile.Dependencies$ClassFileError of com.sun.tools.classfile.Dependencies