class com.sun.tools.javac.comp.Modules$UsesProvidesVisitor extends com.sun.tools.javac.tree.JCTree$Visitor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor
super_class: com.sun.tools.javac.tree.JCTree$Visitor
{
private final com.sun.tools.javac.code.Symbol$ModuleSymbol msym;
descriptor: Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext> env;
descriptor: Lcom/sun/tools/javac/comp/Env;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
private final java.util.Set<com.sun.tools.javac.code.Symbol$ClassSymbol> allUses;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ClassSymbol;>;
private final java.util.Map<com.sun.tools.javac.code.Symbol$ClassSymbol, java.util.Set<com.sun.tools.javac.code.Symbol$ClassSymbol>> allProvides;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Ljava/util/Set<Lcom/sun/tools/javac/code/Symbol$ClassSymbol;>;>;
java.util.Map<com.sun.tools.javac.code.Directive$ProvidesDirective, com.sun.tools.javac.tree.JCTree$JCProvides> directiveToTreeMap;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Directive$ProvidesDirective;Lcom/sun/tools/javac/tree/JCTree$JCProvides;>;
final com.sun.tools.javac.comp.Modules this$0;
descriptor: Lcom/sun/tools/javac/comp/Modules;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(com.sun.tools.javac.code.Symbol$ModuleSymbol, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>);
descriptor: (Lcom/sun/tools/javac/comp/Modules;Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/comp/Env;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
aload 0
invokespecial com.sun.tools.javac.tree.JCTree$Visitor.<init>:()V
1: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.allUses:Ljava/util/Set;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.allProvides:Ljava/util/Map;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.directiveToTreeMap:Ljava/util/Map;
4: aload 0
aload 2
putfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
5: aload 0
aload 3
putfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.env:Lcom/sun/tools/javac/comp/Env;
6: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/comp/Modules$UsesProvidesVisitor;
0 7 2 msym Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
0 7 3 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
Signature: (Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;)V
MethodParameters:
Name Flags
this$0 final
msym
env
public void visitModuleDef(com.sun.tools.javac.tree.JCTree$JCModuleDecl);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
1: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.provides:Lcom/sun/tools/javac/util/List;
2: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.uses:Lcom/sun/tools/javac/util/List;
3: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCModuleDecl.directives:Lcom/sun/tools/javac/util/List;
aload 0
invokedynamic accept(Lcom/sun/tools/javac/comp/Modules$UsesProvidesVisitor;)Ljava/util/function/Consumer;
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;)V
com/sun/tools/javac/comp/Modules$UsesProvidesVisitor.lambda$0(Lcom/sun/tools/javac/tree/JCTree$JCDirective;)V (7)
(Lcom/sun/tools/javac/tree/JCTree$JCDirective;)V
invokevirtual com.sun.tools.javac.util.List.forEach:(Ljava/util/function/Consumer;)V
4: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym: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.List.reverse:()Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
5: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.provides:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.reverse:()Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.provides:Lcom/sun/tools/javac/util/List;
6: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.uses:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.reverse:()Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.uses:Lcom/sun/tools/javac/util/List;
7: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 9
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Directive$RequiresDirective
getfield com.sun.tools.javac.code.Directive$RequiresDirective.flags:Ljava/util/Set;
getstatic com.sun.tools.javac.code.Directive$RequiresFlag.MANDATED:Lcom/sun/tools/javac/code/Directive$RequiresFlag;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 9
8: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.requires:Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Directive
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
9: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.addReads:Ljava/util/Map;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Iterable
invokestatic com.sun.tools.javac.util.List.from:(Ljava/lang/Iterable;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.appendList:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
10: aload 0
invokevirtual com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.checkForCorrectness:()V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/javac/comp/Modules$UsesProvidesVisitor;
0 12 1 tree Lcom/sun/tools/javac/tree/JCTree$JCModuleDecl;
MethodParameters:
Name Flags
tree
public void visitExports(com.sun.tools.javac.tree.JCTree$JCExports);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCExports;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCExports.directive:Lcom/sun/tools/javac/code/Directive$ExportsDirective;
getfield com.sun.tools.javac.code.Directive$ExportsDirective.packge:Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$PackageSymbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
invokevirtual com.sun.tools.javac.code.Scope$WriteableScope.getSymbols:()Ljava/lang/Iterable;
astore 2
start local 2 1: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 2
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 15
StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.tree.JCTree$JCExports java.lang.Iterable com.sun.tools.javac.util.List int top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 5
start local 5 5: aload 5
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpeq 7
6: goto 15
7: StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.tree.JCTree$JCExports java.lang.Iterable com.sun.tools.javac.util.List int com.sun.tools.javac.code.Symbol java.util.Iterator
StackMap stack:
aload 5
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
astore 7
start local 7 8: aload 5
getfield com.sun.tools.javac.code.Symbol.completer:Lcom/sun/tools/javac/code/Symbol$Completer;
invokeinterface com.sun.tools.javac.code.Symbol$Completer.isTerminal:()Z
ifne 10
9: aload 7
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
invokeinterface javax.tools.JavaFileObject.getKind:()Ljavax/tools/JavaFileObject$Kind;
getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
if_acmpne 13
10: StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol
StackMap stack:
iconst_1
istore 4
11: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
astore 3
12: goto 16
13: StackMap locals:
StackMap stack:
aload 7
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
invokeinterface javax.tools.JavaFileObject.getKind:()Ljavax/tools/JavaFileObject$Kind;
getstatic javax.tools.JavaFileObject$Kind.SOURCE:Ljavax/tools/JavaFileObject$Kind;
if_acmpne 15
14: aload 3
aload 7
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.classfile:Ljavax/tools/JavaFileObject;
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
astore 3
end local 7 end local 5 15: StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.tree.JCTree$JCExports java.lang.Iterable com.sun.tools.javac.util.List int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
16: StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.tree.JCTree$JCExports java.lang.Iterable com.sun.tools.javac.util.List int
StackMap stack:
aload 3
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 21
StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.tree.JCTree$JCExports java.lang.Iterable com.sun.tools.javac.util.List int top java.util.Iterator
StackMap stack:
17: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.tools.JavaFileObject
astore 5
start local 5 18: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.findPackageInFile:Lcom/sun/tools/javac/comp/Modules$PackageNameFinder;
aload 5
invokeinterface com.sun.tools.javac.comp.Modules$PackageNameFinder.findPackageNameOf:(Ljavax/tools/JavaFileObject;)Lcom/sun/tools/javac/util/Name;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCExports.directive:Lcom/sun/tools/javac/code/Directive$ExportsDirective;
getfield com.sun.tools.javac.code.Directive$ExportsDirective.packge:Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
getfield com.sun.tools.javac.code.Symbol$PackageSymbol.fullname:Lcom/sun/tools/javac/util/Name;
if_acmpne 21
19: iconst_1
istore 4
20: goto 22
end local 5 21: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
22: StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.tree.JCTree$JCExports java.lang.Iterable com.sun.tools.javac.util.List int
StackMap stack:
iload 4
ifne 24
23: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCExports.qualid:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCExports.directive:Lcom/sun/tools/javac/code/Directive$ExportsDirective;
getfield com.sun.tools.javac.code.Directive$ExportsDirective.packge:Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.PackageEmptyOrNotFound:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
24: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCExports.directive:Lcom/sun/tools/javac/code/Directive$ExportsDirective;
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
25: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/tools/javac/comp/Modules$UsesProvidesVisitor;
0 26 1 tree Lcom/sun/tools/javac/tree/JCTree$JCExports;
1 26 2 packageContent Ljava/lang/Iterable<Lcom/sun/tools/javac/code/Symbol;>;
2 26 3 filesToCheck Lcom/sun/tools/javac/util/List<Ljavax/tools/JavaFileObject;>;
3 26 4 packageNotEmpty Z
5 15 5 sym Lcom/sun/tools/javac/code/Symbol;
8 15 7 csym Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
18 21 5 jfo Ljavax/tools/JavaFileObject;
MethodParameters:
Name Flags
tree
public void visitOpens(com.sun.tools.javac.tree.JCTree$JCOpens);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCOpens;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.chk:Lcom/sun/tools/javac/comp/Check;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCOpens.qualid:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCOpens.directive:Lcom/sun/tools/javac/code/Directive$OpensDirective;
getfield com.sun.tools.javac.code.Directive$OpensDirective.packge:Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
invokevirtual com.sun.tools.javac.comp.Check.checkPackageExistsForOpens:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol$PackageSymbol;)V
1: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCOpens.directive:Lcom/sun/tools/javac/code/Directive$OpensDirective;
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/Modules$UsesProvidesVisitor;
0 3 1 tree Lcom/sun/tools/javac/tree/JCTree$JCOpens;
MethodParameters:
Name Flags
tree
com.sun.tools.javac.code.Symbol$MethodSymbol noArgsConstructor(com.sun.tools.javac.code.Symbol$ClassSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.init:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.code.Scope$WriteableScope.getSymbolsByName:(Lcom/sun/tools/javac/util/Name;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.code.Symbol$ClassSymbol top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 2
start local 2 2: aload 2
checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
astore 4
start local 4 3: aload 4
invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.params:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 5
4: aload 4
areturn
end local 4 end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/comp/Modules$UsesProvidesVisitor;
0 7 1 tsym Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
2 5 2 sym Lcom/sun/tools/javac/code/Symbol;
3 5 4 mSym Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
MethodParameters:
Name Flags
tsym
com.sun.tools.javac.code.Symbol$MethodSymbol factoryMethod(com.sun.tools.javac.code.Symbol$ClassSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.provider:Lcom/sun/tools/javac/util/Name;
invokedynamic accepts()Lcom/sun/tools/javac/util/Filter;
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/javac/comp/Modules$UsesProvidesVisitor.lambda$1(Lcom/sun/tools/javac/code/Symbol;)Z (6)
(Lcom/sun/tools/javac/code/Symbol;)Z
invokevirtual com.sun.tools.javac.code.Scope$WriteableScope.getSymbolsByName:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/util/Filter;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.code.Symbol$ClassSymbol top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol
astore 2
start local 2 2: aload 2
checkcast com.sun.tools.javac.code.Symbol$MethodSymbol
astore 4
start local 4 3: aload 4
invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.isStatic:()Z
ifeq 5
aload 4
invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.flags:()J
lconst_1
land
lconst_0
lcmp
ifeq 5
aload 4
invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.params:()Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
ifeq 5
4: aload 4
areturn
end local 4 end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/comp/Modules$UsesProvidesVisitor;
0 7 1 tsym Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
2 5 2 sym Lcom/sun/tools/javac/code/Symbol;
3 5 4 mSym Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
MethodParameters:
Name Flags
tsym
public void visitProvides(com.sun.tools.javac.tree.JCTree$JCProvides);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCProvides;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=12, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.attr:Lcom/sun/tools/javac/comp/Attr;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCProvides.serviceName:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.env:Lcom/sun/tools/javac/comp/Env;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Attr.attribType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 2
start local 2 1: aload 2
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
astore 3
start local 3 2: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.allProvides:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCProvides.serviceName:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 3
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.RepeatedProvidesForService:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
4: StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol
StackMap stack:
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
astore 4
start local 4 5: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCProvides.implNames:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 44
StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.tree.JCTree$JCProvides com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCExpression
astore 5
start local 5 7: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.env:Lcom/sun/tools/javac/comp/Env;
getfield com.sun.tools.javac.comp.Env.info:Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.AttrContext
getfield com.sun.tools.javac.comp.AttrContext.visitingServiceImplementation:Z
istore 8
start local 8 8: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.env:Lcom/sun/tools/javac/comp/Env;
getfield com.sun.tools.javac.comp.Env.info:Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.AttrContext
iconst_1
putfield com.sun.tools.javac.comp.AttrContext.visitingServiceImplementation:Z
9: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.attr:Lcom/sun/tools/javac/comp/Attr;
aload 5
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.env:Lcom/sun/tools/javac/comp/Env;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Attr.attribType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 7
start local 7 10: goto 14
end local 7 StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.tree.JCTree$JCProvides com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.tree.JCTree$JCExpression java.util.Iterator top int
StackMap stack: java.lang.Throwable
11: astore 9
12: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.env:Lcom/sun/tools/javac/comp/Env;
getfield com.sun.tools.javac.comp.Env.info:Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.AttrContext
iload 8
putfield com.sun.tools.javac.comp.AttrContext.visitingServiceImplementation:Z
13: aload 9
athrow
start local 7 14: StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.tree.JCTree$JCProvides com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.util.ListBuffer com.sun.tools.javac.tree.JCTree$JCExpression java.util.Iterator com.sun.tools.javac.code.Type int
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.env:Lcom/sun/tools/javac/comp/Env;
getfield com.sun.tools.javac.comp.Env.info:Ljava/lang/Object;
checkcast com.sun.tools.javac.comp.AttrContext
iload 8
putfield com.sun.tools.javac.comp.AttrContext.visitingServiceImplementation:Z
15: aload 7
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
astore 9
start local 9 16: aload 9
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.flags_field:J
lconst_1
land
lconst_0
lcmp
ifne 18
17: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 5
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 9
aload 9
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.location:()Lcom/sun/tools/javac/code/Symbol;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.NotDefPublic:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
18: StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol
StackMap stack:
aload 0
aload 9
invokevirtual com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.factoryMethod:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
astore 10
start local 10 19: aload 10
ifnull 24
20: aload 10
getfield com.sun.tools.javac.code.Symbol$MethodSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
astore 11
start local 11 21: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.types:Lcom/sun/tools/javac/code/Types;
aload 11
aload 2
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 39
22: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 5
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.ServiceImplementationProviderReturnMustBeSubtypeOfServiceInterface:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
end local 11 23: goto 39
24: StackMap locals: com.sun.tools.javac.code.Symbol$MethodSymbol
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.types:Lcom/sun/tools/javac/code/Types;
aload 7
aload 2
invokevirtual com.sun.tools.javac.code.Types.isSubtype:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifne 27
25: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 5
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
getstatic com.sun.tools.javac.resources.CompilerProperties$Errors.ServiceImplementationMustBeSubtypeOfServiceInterface:Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
26: goto 39
StackMap locals:
StackMap stack:
27: aload 9
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.flags:()J
ldc 1024
land
lconst_0
lcmp
ifeq 30
28: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 5
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 9
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ServiceImplementationIsAbstract:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
29: goto 39
StackMap locals:
StackMap stack:
30: aload 9
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isInner:()Z
ifeq 33
31: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 5
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 9
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ServiceImplementationIsInner:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
32: goto 39
33: StackMap locals:
StackMap stack:
aload 0
aload 9
invokevirtual com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.noArgsConstructor:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
astore 11
start local 11 34: aload 11
ifnonnull 37
35: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 5
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 9
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ServiceImplementationDoesntHaveANoArgsConstructor:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
36: goto 39
StackMap locals: com.sun.tools.javac.code.Symbol$MethodSymbol
StackMap stack:
37: aload 11
invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.flags:()J
lconst_1
land
lconst_0
lcmp
ifne 39
38: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 5
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 9
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ServiceImplementationNoArgsConstructorNotPublic:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
end local 11 39: StackMap locals:
StackMap stack:
aload 7
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 44
40: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.allProvides:Ljava/util/Map;
aload 3
invokedynamic apply()Ljava/util/function/Function;
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;)Ljava/lang/Object;
com/sun/tools/javac/comp/Modules$UsesProvidesVisitor.lambda$2(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Ljava/util/Set; (6)
(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Ljava/util/Set;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.util.Set
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 43
41: aload 4
aload 9
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
42: goto 44
43: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 5
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 3
aload 9
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.DuplicateProvides:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
end local 10 end local 9 end local 8 end local 7 end local 5 44: StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.tree.JCTree$JCProvides com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.util.ListBuffer top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
45: aload 2
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 50
aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.isEmpty:()Z
ifne 50
46: new com.sun.tools.javac.code.Directive$ProvidesDirective
dup
aload 3
aload 4
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
invokespecial com.sun.tools.javac.code.Directive$ProvidesDirective.<init>:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/util/List;)V
astore 5
start local 5 47: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.provides:Lcom/sun/tools/javac/util/List;
aload 5
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.provides:Lcom/sun/tools/javac/util/List;
48: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
aload 5
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
49: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.directiveToTreeMap:Ljava/util/Map;
aload 5
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 50: StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.tree.JCTree$JCProvides com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.util.ListBuffer
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lcom/sun/tools/javac/comp/Modules$UsesProvidesVisitor;
0 51 1 tree Lcom/sun/tools/javac/tree/JCTree$JCProvides;
1 51 2 st Lcom/sun/tools/javac/code/Type;
2 51 3 service Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
5 51 4 impls Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/code/Symbol$ClassSymbol;>;
7 44 5 implName Lcom/sun/tools/javac/tree/JCTree$JCExpression;
10 11 7 it Lcom/sun/tools/javac/code/Type;
14 44 7 it Lcom/sun/tools/javac/code/Type;
8 44 8 prevVisitingServiceImplementation Z
16 44 9 impl Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
19 44 10 factory Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
21 23 11 returnType Lcom/sun/tools/javac/code/Type;
34 39 11 constr Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
47 50 5 d Lcom/sun/tools/javac/code/Directive$ProvidesDirective;
Exception table:
from to target type
8 11 11 any
MethodParameters:
Name Flags
tree
public void visitRequires(com.sun.tools.javac.tree.JCTree$JCRequires);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCRequires;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCRequires.directive:Lcom/sun/tools/javac/code/Directive$RequiresDirective;
ifnull 5
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
invokevirtual com.sun.tools.javac.comp.Modules.allModules:()Ljava/util/Set;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCRequires.directive:Lcom/sun/tools/javac/code/Directive$RequiresDirective;
getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 5
1: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.chk:Lcom/sun/tools/javac/comp/Check;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCRequires.moduleName:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCRequires.directive:Lcom/sun/tools/javac/code/Directive$RequiresDirective;
getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
invokevirtual com.sun.tools.javac.comp.Check.checkDeprecated:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;)V
2: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.chk:Lcom/sun/tools/javac/comp/Check;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCRequires.moduleName:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCRequires.directive:Lcom/sun/tools/javac/code/Directive$RequiresDirective;
getfield com.sun.tools.javac.code.Directive$RequiresDirective.module:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
invokevirtual com.sun.tools.javac.comp.Check.checkPreview:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;)V
3: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.chk:Lcom/sun/tools/javac/comp/Check;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCRequires.moduleName:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCRequires.directive:Lcom/sun/tools/javac/code/Directive$RequiresDirective;
invokevirtual com.sun.tools.javac.comp.Check.checkModuleRequires:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Directive$RequiresDirective;)V
4: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCRequires.directive:Lcom/sun/tools/javac/code/Directive$RequiresDirective;
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/comp/Modules$UsesProvidesVisitor;
0 6 1 tree Lcom/sun/tools/javac/tree/JCTree$JCRequires;
MethodParameters:
Name Flags
tree
public void visitUses(com.sun.tools.javac.tree.JCTree$JCUses);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCUses;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.attr:Lcom/sun/tools/javac/comp/Attr;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCUses.qualid:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.env:Lcom/sun/tools/javac/comp/Env;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.Attr.attribType:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 2
start local 2 1: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCUses.qualid:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokestatic com.sun.tools.javac.tree.TreeInfo.symbol:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/code/Symbol;
astore 3
start local 3 2: aload 3
invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
ldc 16384
land
lconst_0
lcmp
ifeq 5
3: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCUses.qualid:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 2
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ServiceDefinitionIsEnum:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
4: goto 13
StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol
StackMap stack:
5: aload 2
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifeq 13
6: aload 2
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
astore 4
start local 4 7: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.allUses:Ljava/util/Set;
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 12
8: new com.sun.tools.javac.code.Directive$UsesDirective
dup
aload 4
invokespecial com.sun.tools.javac.code.Directive$UsesDirective.<init>:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
astore 5
start local 5 9: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.uses:Lcom/sun/tools/javac/util/List;
aload 5
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.uses:Lcom/sun/tools/javac/util/List;
10: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
aload 5
invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
putfield com.sun.tools.javac.code.Symbol$ModuleSymbol.directives:Lcom/sun/tools/javac/util/List;
end local 5 11: goto 13
12: StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 1
invokevirtual com.sun.tools.javac.tree.JCTree$JCUses.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 4
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.DuplicateUses:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
end local 4 13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/tools/javac/comp/Modules$UsesProvidesVisitor;
0 14 1 tree Lcom/sun/tools/javac/tree/JCTree$JCUses;
1 14 2 st Lcom/sun/tools/javac/code/Type;
2 14 3 sym Lcom/sun/tools/javac/code/Symbol;
7 13 4 service Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
9 11 5 d Lcom/sun/tools/javac/code/Directive$UsesDirective;
MethodParameters:
Name Flags
tree
private void checkForCorrectness();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=13, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.provides:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 33
StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Directive$ProvidesDirective
astore 1
start local 1 2: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.directiveToTreeMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCProvides
astore 3
start local 3 3: aload 1
getfield com.sun.tools.javac.code.Directive$ProvidesDirective.impls:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 32
StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.code.Directive$ProvidesDirective java.util.Iterator com.sun.tools.javac.tree.JCTree$JCProvides top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
astore 4
start local 4 5: aload 4
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.packge:()Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
astore 6
start local 6 6: aload 6
getfield com.sun.tools.javac.code.Symbol$PackageSymbol.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
if_acmpeq 8
7: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 3
invokevirtual com.sun.tools.javac.tree.JCTree$JCProvides.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 6
getfield com.sun.tools.javac.code.Symbol$PackageSymbol.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.ServiceImplementationNotInRightModule:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
8: StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.code.Directive$ProvidesDirective java.util.Iterator com.sun.tools.javac.tree.JCTree$JCProvides com.sun.tools.javac.code.Symbol$ClassSymbol java.util.Iterator com.sun.tools.javac.code.Symbol$PackageSymbol
StackMap stack:
aload 1
getfield com.sun.tools.javac.code.Directive$ProvidesDirective.service:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.packge:()Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
astore 7
start local 7 9: aload 7
getfield com.sun.tools.javac.code.Symbol$PackageSymbol.modle:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
if_acmpne 10
iconst_1
goto 11
StackMap locals: com.sun.tools.javac.code.Symbol$PackageSymbol
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 8
start local 8 12: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.visiblePackages:Ljava/util/Map;
aload 7
getfield com.sun.tools.javac.code.Symbol$PackageSymbol.fullname:Lcom/sun/tools/javac/util/Name;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 7
if_acmpne 13
iconst_1
goto 14
StackMap locals: int
StackMap stack:
13: iconst_0
14: StackMap locals:
StackMap stack: int
istore 9
start local 9 15: iload 8
ifeq 32
iload 9
ifne 32
16: iconst_1
istore 10
start local 10 17: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.exports:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 22
StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.code.Directive$ProvidesDirective java.util.Iterator com.sun.tools.javac.tree.JCTree$JCProvides com.sun.tools.javac.code.Symbol$ClassSymbol java.util.Iterator com.sun.tools.javac.code.Symbol$PackageSymbol com.sun.tools.javac.code.Symbol$PackageSymbol int int int top java.util.Iterator
StackMap stack:
18: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Directive$ExportsDirective
astore 11
start local 11 19: aload 7
aload 11
getfield com.sun.tools.javac.code.Directive$ExportsDirective.packge:Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
if_acmpne 22
20: iconst_0
istore 10
21: goto 23
end local 11 22: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
23: StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.code.Directive$ProvidesDirective java.util.Iterator com.sun.tools.javac.tree.JCTree$JCProvides com.sun.tools.javac.code.Symbol$ClassSymbol java.util.Iterator com.sun.tools.javac.code.Symbol$PackageSymbol com.sun.tools.javac.code.Symbol$PackageSymbol int int int
StackMap stack:
iload 10
ifeq 30
24: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.msym:Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
getfield com.sun.tools.javac.code.Symbol$ModuleSymbol.uses:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 29
StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.code.Directive$ProvidesDirective java.util.Iterator com.sun.tools.javac.tree.JCTree$JCProvides com.sun.tools.javac.code.Symbol$ClassSymbol java.util.Iterator com.sun.tools.javac.code.Symbol$PackageSymbol com.sun.tools.javac.code.Symbol$PackageSymbol int int int top java.util.Iterator
StackMap stack:
25: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Directive$UsesDirective
astore 11
start local 11 26: aload 1
getfield com.sun.tools.javac.code.Directive$ProvidesDirective.service:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
aload 11
getfield com.sun.tools.javac.code.Directive$UsesDirective.service:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
if_acmpne 29
27: iconst_0
istore 10
28: goto 30
end local 11 29: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
30: StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.code.Directive$ProvidesDirective java.util.Iterator com.sun.tools.javac.tree.JCTree$JCProvides com.sun.tools.javac.code.Symbol$ClassSymbol java.util.Iterator com.sun.tools.javac.code.Symbol$PackageSymbol com.sun.tools.javac.code.Symbol$PackageSymbol int int int
StackMap stack:
iload 10
ifeq 32
31: aload 0
getfield com.sun.tools.javac.comp.Modules$UsesProvidesVisitor.this$0:Lcom/sun/tools/javac/comp/Modules;
getfield com.sun.tools.javac.comp.Modules.log:Lcom/sun/tools/javac/util/Log;
aload 3
invokevirtual com.sun.tools.javac.tree.JCTree$JCProvides.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
aload 1
getfield com.sun.tools.javac.code.Directive$ProvidesDirective.service:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.ServiceProvidedButNotExportedOrUsed:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
invokevirtual com.sun.tools.javac.util.Log.warning:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Warning;)V
end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 32: StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor com.sun.tools.javac.code.Directive$ProvidesDirective java.util.Iterator com.sun.tools.javac.tree.JCTree$JCProvides top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 3 end local 1 33: StackMap locals: com.sun.tools.javac.comp.Modules$UsesProvidesVisitor top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
34: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/sun/tools/javac/comp/Modules$UsesProvidesVisitor;
2 33 1 provides Lcom/sun/tools/javac/code/Directive$ProvidesDirective;
3 33 3 tree Lcom/sun/tools/javac/tree/JCTree$JCProvides;
5 32 4 impl Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
6 32 6 implementationDefiningPackage Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
9 32 7 interfaceDeclaringPackage Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
12 32 8 isInterfaceDeclaredInCurrentModule Z
15 32 9 isInterfaceExportedFromAReadableModule Z
17 32 10 warn Z
19 22 11 export Lcom/sun/tools/javac/code/Directive$ExportsDirective;
26 29 11 uses Lcom/sun/tools/javac/code/Directive$UsesDirective;
private void lambda$0(com.sun.tools.javac.tree.JCTree$JCDirective);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCDirective;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual com.sun.tools.javac.tree.JCTree$JCDirective.accept:(Lcom/sun/tools/javac/tree/JCTree$Visitor;)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/Modules$UsesProvidesVisitor;
0 1 1 t Lcom/sun/tools/javac/tree/JCTree$JCDirective;
private static boolean lambda$1(com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 sym Lcom/sun/tools/javac/code/Symbol;
private static java.util.Set lambda$2(com.sun.tools.javac.code.Symbol$ClassSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Ljava/util/Set;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
}
SourceFile: "Modules.java"
NestHost: com.sun.tools.javac.comp.Modules
InnerClasses:
public ExportsDirective = com.sun.tools.javac.code.Directive$ExportsDirective of com.sun.tools.javac.code.Directive
public OpensDirective = com.sun.tools.javac.code.Directive$OpensDirective of com.sun.tools.javac.code.Directive
public ProvidesDirective = com.sun.tools.javac.code.Directive$ProvidesDirective of com.sun.tools.javac.code.Directive
public RequiresDirective = com.sun.tools.javac.code.Directive$RequiresDirective of com.sun.tools.javac.code.Directive
public final RequiresFlag = com.sun.tools.javac.code.Directive$RequiresFlag of com.sun.tools.javac.code.Directive
public UsesDirective = com.sun.tools.javac.code.Directive$UsesDirective of com.sun.tools.javac.code.Directive
public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
public abstract WriteableScope = com.sun.tools.javac.code.Scope$WriteableScope of com.sun.tools.javac.code.Scope
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 MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol of com.sun.tools.javac.code.Symbol
public ModuleSymbol = com.sun.tools.javac.code.Symbol$ModuleSymbol of com.sun.tools.javac.code.Symbol
public PackageSymbol = com.sun.tools.javac.code.Symbol$PackageSymbol of com.sun.tools.javac.code.Symbol
public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
public abstract PackageNameFinder = com.sun.tools.javac.comp.Modules$PackageNameFinder of com.sun.tools.javac.comp.Modules
UsesProvidesVisitor = com.sun.tools.javac.comp.Modules$UsesProvidesVisitor of com.sun.tools.javac.comp.Modules
public Errors = com.sun.tools.javac.resources.CompilerProperties$Errors of com.sun.tools.javac.resources.CompilerProperties
public Warnings = com.sun.tools.javac.resources.CompilerProperties$Warnings of com.sun.tools.javac.resources.CompilerProperties
public abstract JCDirective = com.sun.tools.javac.tree.JCTree$JCDirective of com.sun.tools.javac.tree.JCTree
public JCExports = com.sun.tools.javac.tree.JCTree$JCExports of com.sun.tools.javac.tree.JCTree
public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
public JCModuleDecl = com.sun.tools.javac.tree.JCTree$JCModuleDecl of com.sun.tools.javac.tree.JCTree
public JCOpens = com.sun.tools.javac.tree.JCTree$JCOpens of com.sun.tools.javac.tree.JCTree
public JCProvides = com.sun.tools.javac.tree.JCTree$JCProvides of com.sun.tools.javac.tree.JCTree
public JCRequires = com.sun.tools.javac.tree.JCTree$JCRequires of com.sun.tools.javac.tree.JCTree
public JCUses = com.sun.tools.javac.tree.JCTree$JCUses of com.sun.tools.javac.tree.JCTree
public abstract Visitor = com.sun.tools.javac.tree.JCTree$Visitor of com.sun.tools.javac.tree.JCTree
public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic
public final Warning = com.sun.tools.javac.util.JCDiagnostic$Warning of com.sun.tools.javac.util.JCDiagnostic
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject