public class com.sun.tools.classfile.Dependencies
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.classfile.Dependencies
super_class: java.lang.Object
{
private com.sun.tools.classfile.Dependency$Filter filter;
descriptor: Lcom/sun/tools/classfile/Dependency$Filter;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.classfile.Dependency$Finder finder;
descriptor: Lcom/sun/tools/classfile/Dependency$Finder;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/sun/tools/classfile/Dependencies;
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.sun.tools.classfile.Dependencies.$assertionsDisabled:Z
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/sun/tools/classfile/Dependencies;
public static com.sun.tools.classfile.Dependency$Finder getDefaultFinder();
descriptor: ()Lcom/sun/tools/classfile/Dependency$Finder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new com.sun.tools.classfile.Dependencies$APIDependencyFinder
dup
iconst_2
invokespecial com.sun.tools.classfile.Dependencies$APIDependencyFinder.<init>:(I)V
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.sun.tools.classfile.Dependency$Finder getAPIFinder(int);
descriptor: (I)Lcom/sun/tools/classfile/Dependency$Finder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.sun.tools.classfile.Dependencies$APIDependencyFinder
dup
iload 0
invokespecial com.sun.tools.classfile.Dependencies$APIDependencyFinder.<init>:(I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 access I
MethodParameters:
Name Flags
access
public static com.sun.tools.classfile.Dependency$Finder getClassDependencyFinder();
descriptor: ()Lcom/sun/tools/classfile/Dependency$Finder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.sun.tools.classfile.Dependencies$ClassDependencyFinder
dup
invokespecial com.sun.tools.classfile.Dependencies$ClassDependencyFinder.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.sun.tools.classfile.Dependency$Finder getFinder();
descriptor: ()Lcom/sun/tools/classfile/Dependency$Finder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.classfile.Dependencies.finder:Lcom/sun/tools/classfile/Dependency$Finder;
ifnonnull 2
1: aload 0
invokestatic com.sun.tools.classfile.Dependencies.getDefaultFinder:()Lcom/sun/tools/classfile/Dependency$Finder;
putfield com.sun.tools.classfile.Dependencies.finder:Lcom/sun/tools/classfile/Dependency$Finder;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.classfile.Dependencies.finder:Lcom/sun/tools/classfile/Dependency$Finder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/classfile/Dependencies;
public void setFinder(com.sun.tools.classfile.Dependency$Finder);
descriptor: (Lcom/sun/tools/classfile/Dependency$Finder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.classfile.Dependency$Finder
putfield com.sun.tools.classfile.Dependencies.finder:Lcom/sun/tools/classfile/Dependency$Finder;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/classfile/Dependencies;
0 2 1 f Lcom/sun/tools/classfile/Dependency$Finder;
MethodParameters:
Name Flags
f
public static com.sun.tools.classfile.Dependency$Filter getDefaultFilter();
descriptor: ()Lcom/sun/tools/classfile/Dependency$Filter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.sun.tools.classfile.Dependencies$DefaultFilter.instance:()Lcom/sun/tools/classfile/Dependencies$DefaultFilter;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static com.sun.tools.classfile.Dependency$Filter getRegexFilter(java.util.regex.Pattern);
descriptor: (Ljava/util/regex/Pattern;)Lcom/sun/tools/classfile/Dependency$Filter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.sun.tools.classfile.Dependencies$TargetRegexFilter
dup
aload 0
invokespecial com.sun.tools.classfile.Dependencies$TargetRegexFilter.<init>:(Ljava/util/regex/Pattern;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pattern Ljava/util/regex/Pattern;
MethodParameters:
Name Flags
pattern
public static com.sun.tools.classfile.Dependency$Filter getPackageFilter(java.util.Set<java.lang.String>, boolean);
descriptor: (Ljava/util/Set;Z)Lcom/sun/tools/classfile/Dependency$Filter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.sun.tools.classfile.Dependencies$TargetPackageFilter
dup
aload 0
iload 1
invokespecial com.sun.tools.classfile.Dependencies$TargetPackageFilter.<init>:(Ljava/util/Set;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 packageNames Ljava/util/Set<Ljava/lang/String;>;
0 1 1 matchSubpackages Z
Signature: (Ljava/util/Set<Ljava/lang/String;>;Z)Lcom/sun/tools/classfile/Dependency$Filter;
MethodParameters:
Name Flags
packageNames
matchSubpackages
public com.sun.tools.classfile.Dependency$Filter getFilter();
descriptor: ()Lcom/sun/tools/classfile/Dependency$Filter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.classfile.Dependencies.filter:Lcom/sun/tools/classfile/Dependency$Filter;
ifnonnull 2
1: aload 0
invokestatic com.sun.tools.classfile.Dependencies.getDefaultFilter:()Lcom/sun/tools/classfile/Dependency$Filter;
putfield com.sun.tools.classfile.Dependencies.filter:Lcom/sun/tools/classfile/Dependency$Filter;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.classfile.Dependencies.filter:Lcom/sun/tools/classfile/Dependency$Filter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/classfile/Dependencies;
public void setFilter(com.sun.tools.classfile.Dependency$Filter);
descriptor: (Lcom/sun/tools/classfile/Dependency$Filter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.classfile.Dependency$Filter
putfield com.sun.tools.classfile.Dependencies.filter:Lcom/sun/tools/classfile/Dependency$Filter;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/classfile/Dependencies;
0 2 1 f Lcom/sun/tools/classfile/Dependency$Filter;
MethodParameters:
Name Flags
f
public java.util.Set<com.sun.tools.classfile.Dependency> findAllDependencies(com.sun.tools.classfile.Dependencies$ClassFileReader, java.util.Set<java.lang.String>, boolean);
descriptor: (Lcom/sun/tools/classfile/Dependencies$ClassFileReader;Ljava/util/Set;Z)Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 1: aload 4
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic addDependency(Ljava/util/Set;)Lcom/sun/tools/classfile/Dependencies$Recorder;
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:
(Lcom/sun/tools/classfile/Dependency;)V
java/util/Set.add(Ljava/lang/Object;)Z (9 itf)
(Lcom/sun/tools/classfile/Dependency;)V
astore 5
start local 5 2: aload 0
aload 1
aload 2
iload 3
aload 5
invokevirtual com.sun.tools.classfile.Dependencies.findAllDependencies:(Lcom/sun/tools/classfile/Dependencies$ClassFileReader;Ljava/util/Set;ZLcom/sun/tools/classfile/Dependencies$Recorder;)V
3: 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 4 0 this Lcom/sun/tools/classfile/Dependencies;
0 4 1 classFinder Lcom/sun/tools/classfile/Dependencies$ClassFileReader;
0 4 2 rootClassNames Ljava/util/Set<Ljava/lang/String;>;
0 4 3 transitiveClosure Z
1 4 4 results Ljava/util/Set<Lcom/sun/tools/classfile/Dependency;>;
2 4 5 r Lcom/sun/tools/classfile/Dependencies$Recorder;
Exceptions:
throws com.sun.tools.classfile.Dependencies$ClassFileNotFoundException
Signature: (Lcom/sun/tools/classfile/Dependencies$ClassFileReader;Ljava/util/Set<Ljava/lang/String;>;Z)Ljava/util/Set<Lcom/sun/tools/classfile/Dependency;>;
MethodParameters:
Name Flags
classFinder
rootClassNames
transitiveClosure
public void findAllDependencies(com.sun.tools.classfile.Dependencies$ClassFileReader, java.util.Set<java.lang.String>, boolean, com.sun.tools.classfile.Dependencies$Recorder);
descriptor: (Lcom/sun/tools/classfile/Dependencies$ClassFileReader;Ljava/util/Set;ZLcom/sun/tools/classfile/Dependencies$Recorder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 5
start local 5 1: aload 0
invokevirtual com.sun.tools.classfile.Dependencies.getFinder:()Lcom/sun/tools/classfile/Dependency$Finder;
pop
2: aload 0
invokevirtual com.sun.tools.classfile.Dependencies.getFilter:()Lcom/sun/tools/classfile/Dependency$Filter;
pop
3: new java.util.LinkedList
dup
aload 2
invokespecial java.util.LinkedList.<init>:(Ljava/util/Collection;)V
astore 6
start local 6 4: goto 16
start local 7 5: StackMap locals: java.util.Set java.util.Deque java.lang.String
StackMap stack:
getstatic com.sun.tools.classfile.Dependencies.$assertionsDisabled:Z
ifne 6
aload 5
aload 7
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 5
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: aload 1
aload 7
invokeinterface com.sun.tools.classfile.Dependencies$ClassFileReader.getClassFile:(Ljava/lang/String;)Lcom/sun/tools/classfile/ClassFile;
astore 8
start local 8 8: aload 0
getfield com.sun.tools.classfile.Dependencies.finder:Lcom/sun/tools/classfile/Dependency$Finder;
aload 8
invokeinterface com.sun.tools.classfile.Dependency$Finder.findDependencies:(Lcom/sun/tools/classfile/ClassFile;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 10
goto 15
StackMap locals: com.sun.tools.classfile.Dependencies com.sun.tools.classfile.Dependencies$ClassFileReader java.util.Set int com.sun.tools.classfile.Dependencies$Recorder java.util.Set java.util.Deque java.lang.String com.sun.tools.classfile.ClassFile top java.util.Iterator
StackMap stack:
9: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.classfile.Dependency
astore 9
start local 9 10: aload 4
aload 9
invokeinterface com.sun.tools.classfile.Dependencies$Recorder.addDependency:(Lcom/sun/tools/classfile/Dependency;)V
11: iload 3
ifeq 15
aload 0
getfield com.sun.tools.classfile.Dependencies.filter:Lcom/sun/tools/classfile/Dependency$Filter;
aload 9
invokeinterface com.sun.tools.classfile.Dependency$Filter.accepts:(Lcom/sun/tools/classfile/Dependency;)Z
ifeq 15
12: aload 9
invokeinterface com.sun.tools.classfile.Dependency.getTarget:()Lcom/sun/tools/classfile/Dependency$Location;
invokeinterface com.sun.tools.classfile.Dependency$Location.getClassName:()Ljava/lang/String;
astore 11
start local 11 13: aload 5
aload 11
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 15
14: aload 6
aload 11
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 9 15: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 8 end local 7 16: StackMap locals: com.sun.tools.classfile.Dependencies com.sun.tools.classfile.Dependencies$ClassFileReader java.util.Set int com.sun.tools.classfile.Dependencies$Recorder java.util.Set java.util.Deque
StackMap stack:
aload 6
invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
checkcast java.lang.String
dup
astore 7
start local 7 17: ifnonnull 5
18: 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 19 0 this Lcom/sun/tools/classfile/Dependencies;
0 19 1 classFinder Lcom/sun/tools/classfile/Dependencies$ClassFileReader;
0 19 2 rootClassNames Ljava/util/Set<Ljava/lang/String;>;
0 19 3 transitiveClosure Z
0 19 4 recorder Lcom/sun/tools/classfile/Dependencies$Recorder;
1 19 5 doneClasses Ljava/util/Set<Ljava/lang/String;>;
4 19 6 deque Ljava/util/Deque<Ljava/lang/String;>;
5 16 7 className Ljava/lang/String;
17 19 7 className Ljava/lang/String;
8 16 8 cf Lcom/sun/tools/classfile/ClassFile;
10 15 9 d Lcom/sun/tools/classfile/Dependency;
13 15 11 cn Ljava/lang/String;
Exceptions:
throws com.sun.tools.classfile.Dependencies$ClassFileNotFoundException
Signature: (Lcom/sun/tools/classfile/Dependencies$ClassFileReader;Ljava/util/Set<Ljava/lang/String;>;ZLcom/sun/tools/classfile/Dependencies$Recorder;)V
MethodParameters:
Name Flags
classFinder
rootClassNames
transitiveClosure
recorder
}
SourceFile: "Dependencies.java"
NestMembers:
com.sun.tools.classfile.Dependencies$APIDependencyFinder com.sun.tools.classfile.Dependencies$BasicDependencyFinder com.sun.tools.classfile.Dependencies$BasicDependencyFinder$Visitor com.sun.tools.classfile.Dependencies$ClassDependencyFinder com.sun.tools.classfile.Dependencies$ClassFileError com.sun.tools.classfile.Dependencies$ClassFileNotFoundException com.sun.tools.classfile.Dependencies$ClassFileReader com.sun.tools.classfile.Dependencies$DefaultFilter com.sun.tools.classfile.Dependencies$Recorder com.sun.tools.classfile.Dependencies$SimpleDependency com.sun.tools.classfile.Dependencies$SimpleLocation com.sun.tools.classfile.Dependencies$TargetPackageFilter com.sun.tools.classfile.Dependencies$TargetRegexFilter
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
ClassDependencyFinder = com.sun.tools.classfile.Dependencies$ClassDependencyFinder of com.sun.tools.classfile.Dependencies
public ClassFileError = com.sun.tools.classfile.Dependencies$ClassFileError of com.sun.tools.classfile.Dependencies
public ClassFileNotFoundException = com.sun.tools.classfile.Dependencies$ClassFileNotFoundException of com.sun.tools.classfile.Dependencies
public abstract ClassFileReader = com.sun.tools.classfile.Dependencies$ClassFileReader of com.sun.tools.classfile.Dependencies
DefaultFilter = com.sun.tools.classfile.Dependencies$DefaultFilter of com.sun.tools.classfile.Dependencies
public abstract Recorder = com.sun.tools.classfile.Dependencies$Recorder of com.sun.tools.classfile.Dependencies
SimpleDependency = com.sun.tools.classfile.Dependencies$SimpleDependency of com.sun.tools.classfile.Dependencies
SimpleLocation = com.sun.tools.classfile.Dependencies$SimpleLocation of com.sun.tools.classfile.Dependencies
TargetPackageFilter = com.sun.tools.classfile.Dependencies$TargetPackageFilter of com.sun.tools.classfile.Dependencies
TargetRegexFilter = com.sun.tools.classfile.Dependencies$TargetRegexFilter of com.sun.tools.classfile.Dependencies
public abstract Filter = com.sun.tools.classfile.Dependency$Filter of com.sun.tools.classfile.Dependency
public abstract Finder = com.sun.tools.classfile.Dependency$Finder of com.sun.tools.classfile.Dependency
public abstract Location = com.sun.tools.classfile.Dependency$Location of com.sun.tools.classfile.Dependency
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles