final class com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter implements com.sun.tools.javac.code.Symbol$Completer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter
super_class: java.lang.Object
{
private final com.sun.tools.javac.code.Symbol$ModuleSymbol currentModule;
descriptor: Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javac.util.List<com.sun.tools.javac.jvm.ClassReader$InterimUsesDirective> interimUsesCopy;
descriptor: Lcom/sun/tools/javac/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/jvm/ClassReader$InterimUsesDirective;>;
private final com.sun.tools.javac.util.List<com.sun.tools.javac.jvm.ClassReader$InterimProvidesDirective> interimProvidesCopy;
descriptor: Lcom/sun/tools/javac/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/jvm/ClassReader$InterimProvidesDirective;>;
final com.sun.tools.javac.jvm.ClassReader this$0;
descriptor: Lcom/sun/tools/javac/jvm/ClassReader;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(com.sun.tools.javac.code.Symbol$ModuleSymbol, com.sun.tools.javac.util.List<com.sun.tools.javac.jvm.ClassReader$InterimUsesDirective>, com.sun.tools.javac.util.List<com.sun.tools.javac.jvm.ClassReader$InterimProvidesDirective>);
descriptor: (Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
2: aload 0
aload 3
putfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.interimUsesCopy:Lcom/sun/tools/javac/util/List;
3: aload 0
aload 4
putfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.interimProvidesCopy:Lcom/sun/tools/javac/util/List;
4: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javac/jvm/ClassReader$UsesProvidesCompleter;
0 5 2 currentModule Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
0 5 3 interimUsesCopy Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/jvm/ClassReader$InterimUsesDirective;>;
0 5 4 interimProvidesCopy Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/jvm/ClassReader$InterimProvidesDirective;>;
Signature: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/jvm/ClassReader$InterimUsesDirective;>;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/jvm/ClassReader$InterimProvidesDirective;>;)V
MethodParameters:
Name Flags
this$0 final
currentModule
interimUsesCopy
interimProvidesCopy
public void complete(com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 2
start local 2 1: aload 2
aload 0
getfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.ListBuffer.addAll:(Ljava/util/Collection;)Z
pop
2: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 3
start local 3 3: aload 0
getfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.interimUsesCopy:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 8
StackMap locals: com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter com.sun.tools.javac.code.Symbol com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.jvm.ClassReader$InterimUsesDirective
astore 4
start local 4 5: new com.sun.tools.javac.code.Directive$UsesDirective
dup
aload 0
getfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
getfield com.sun.tools.javac.jvm.ClassReader.syms:Lcom/sun/tools/javac/code/Symtab;
aload 0
getfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 4
getfield com.sun.tools.javac.jvm.ClassReader$InterimUsesDirective.service:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.code.Symtab.enterClass:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
invokespecial com.sun.tools.javac.code.Directive$UsesDirective.<init>:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
astore 6
start local 6 6: aload 3
aload 6
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
7: aload 2
aload 6
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 4 8: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
9: aload 0
getfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.uses:Lcom/sun/tools/javac/util/List;
10: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 4
start local 4 11: aload 0
getfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.interimProvidesCopy:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 23
StackMap locals: com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter com.sun.tools.javac.code.Symbol com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
12: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.jvm.ClassReader$InterimProvidesDirective
astore 5
start local 5 13: new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 7
start local 7 14: aload 5
getfield com.sun.tools.javac.jvm.ClassReader$InterimProvidesDirective.impls:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 17
StackMap locals: com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter com.sun.tools.javac.code.Symbol com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.jvm.ClassReader$InterimProvidesDirective java.util.Iterator com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
15: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.util.Name
astore 8
start local 8 16: aload 7
aload 0
getfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
getfield com.sun.tools.javac.jvm.ClassReader.syms:Lcom/sun/tools/javac/code/Symtab;
aload 0
getfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 8
invokevirtual com.sun.tools.javac.code.Symtab.enterClass:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
end local 8 17: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: new com.sun.tools.javac.code.Directive$ProvidesDirective
dup
aload 0
getfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
getfield com.sun.tools.javac.jvm.ClassReader.syms:Lcom/sun/tools/javac/code/Symtab;
aload 0
getfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 5
getfield com.sun.tools.javac.jvm.ClassReader$InterimProvidesDirective.service:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.code.Symtab.enterClass:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
19: aload 7
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
20: invokespecial com.sun.tools.javac.code.Directive$ProvidesDirective.<init>:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/util/List;)V
astore 8
start local 8 21: aload 4
aload 8
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
22: aload 2
aload 8
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 5 23: StackMap locals: com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter com.sun.tools.javac.code.Symbol com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
24: aload 0
getfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.provides:Lcom/sun/tools/javac/util/List;
25: aload 0
getfield com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter.currentModule:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 2
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
26: return
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/javac/jvm/ClassReader$UsesProvidesCompleter;
0 27 1 sym Lcom/sun/tools/javac/code/Symbol;
1 27 2 directives Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Directive;>;
3 27 3 uses Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Directive$UsesDirective;>;
5 8 4 interim Lcom/sun/tools/javac/jvm/ClassReader$InterimUsesDirective;
6 8 6 d Lcom/sun/tools/javac/code/Directive$UsesDirective;
11 27 4 provides Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Directive$ProvidesDirective;>;
13 23 5 interim Lcom/sun/tools/javac/jvm/ClassReader$InterimProvidesDirective;
14 23 7 impls Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Symbol$ClassSymbol;>;
16 17 8 impl Lcom/sun/tools/javac/util/Name;
21 23 8 d Lcom/sun/tools/javac/code/Directive$ProvidesDirective;
Exceptions:
throws com.sun.tools.javac.code.Symbol$CompletionFailure
MethodParameters:
Name Flags
sym
}
SourceFile: "ClassReader.java"
NestHost: com.sun.tools.javac.jvm.ClassReader
InnerClasses:
public ProvidesDirective = com.sun.tools.javac.code.Directive$ProvidesDirective of com.sun.tools.javac.code.Directive
public UsesDirective = com.sun.tools.javac.code.Directive$UsesDirective of com.sun.tools.javac.code.Directive
public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
public abstract Completer = com.sun.tools.javac.code.Symbol$Completer of com.sun.tools.javac.code.Symbol
public CompletionFailure = com.sun.tools.javac.code.Symbol$CompletionFailure of com.sun.tools.javac.code.Symbol
public ModuleSymbol = com.sun.tools.javac.code.Symbol$ModuleSymbol of com.sun.tools.javac.code.Symbol
private final InterimProvidesDirective = com.sun.tools.javac.jvm.ClassReader$InterimProvidesDirective of com.sun.tools.javac.jvm.ClassReader
private final InterimUsesDirective = com.sun.tools.javac.jvm.ClassReader$InterimUsesDirective of com.sun.tools.javac.jvm.ClassReader
private final UsesProvidesCompleter = com.sun.tools.javac.jvm.ClassReader$UsesProvidesCompleter of com.sun.tools.javac.jvm.ClassReader