public final class jdk.internal.module.IllegalAccessLogger
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.internal.module.IllegalAccessLogger
  super_class: java.lang.Object
{
  private static final jdk.internal.misc.JavaLangAccess JLA;
    descriptor: Ljdk/internal/misc/JavaLangAccess;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile jdk.internal.module.IllegalAccessLogger logger;
    descriptor: Ljdk/internal/module/IllegalAccessLogger;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private final jdk.internal.module.IllegalAccessLogger$Mode mode;
    descriptor: Ljdk/internal/module/IllegalAccessLogger$Mode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.PrintStream warningStream;
    descriptor: Ljava/io/PrintStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.Module, java.util.Set<java.lang.String>> moduleToConcealedPackages;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Module;Ljava/util/Set<Ljava/lang/String;>;>;

  private final java.util.Map<java.lang.Module, java.util.Set<java.lang.String>> moduleToExportedPackages;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Module;Ljava/util/Set<Ljava/lang/String;>;>;

  private final java.util.Map<java.lang.Class<?>, jdk.internal.module.IllegalAccessLogger$Usages> callerToUsages;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Ljdk/internal/module/IllegalAccessLogger$Usages;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 132
            invokestatic jdk.internal.misc.SharedSecrets.getJavaLangAccess:()Ljdk/internal/misc/JavaLangAccess;
            putstatic jdk.internal.module.IllegalAccessLogger.JLA:Ljdk/internal/misc/JavaLangAccess;
         1: .line 135
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(jdk.internal.module.IllegalAccessLogger$Mode, java.io.PrintStream, java.util.Map<java.lang.Module, java.util.Set<java.lang.String>>, java.util.Map<java.lang.Module, java.util.Set<java.lang.String>>);
    descriptor: (Ljdk/internal/module/IllegalAccessLogger$Mode;Ljava/io/PrintStream;Ljava/util/Map;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // jdk.internal.module.IllegalAccessLogger this
        start local 1 // jdk.internal.module.IllegalAccessLogger$Mode mode
        start local 2 // java.io.PrintStream warningStream
        start local 3 // java.util.Map moduleToConcealedPackages
        start local 4 // java.util.Map moduleToExportedPackages
         0: .line 150
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 148
            aload 0 /* this */
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
            putfield jdk.internal.module.IllegalAccessLogger.callerToUsages:Ljava/util/Map;
         2: .line 155
            aload 0 /* this */
            aload 1 /* mode */
            putfield jdk.internal.module.IllegalAccessLogger.mode:Ljdk/internal/module/IllegalAccessLogger$Mode;
         3: .line 156
            aload 0 /* this */
            aload 2 /* warningStream */
            putfield jdk.internal.module.IllegalAccessLogger.warningStream:Ljava/io/PrintStream;
         4: .line 157
            aload 0 /* this */
            aload 3 /* moduleToConcealedPackages */
            putfield jdk.internal.module.IllegalAccessLogger.moduleToConcealedPackages:Ljava/util/Map;
         5: .line 158
            aload 0 /* this */
            aload 4 /* moduleToExportedPackages */
            putfield jdk.internal.module.IllegalAccessLogger.moduleToExportedPackages:Ljava/util/Map;
         6: .line 159
            return
        end local 4 // java.util.Map moduleToExportedPackages
        end local 3 // java.util.Map moduleToConcealedPackages
        end local 2 // java.io.PrintStream warningStream
        end local 1 // jdk.internal.module.IllegalAccessLogger$Mode mode
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    7     0                       this  Ljdk/internal/module/IllegalAccessLogger;
            0    7     1                       mode  Ljdk/internal/module/IllegalAccessLogger$Mode;
            0    7     2              warningStream  Ljava/io/PrintStream;
            0    7     3  moduleToConcealedPackages  Ljava/util/Map<Ljava/lang/Module;Ljava/util/Set<Ljava/lang/String;>;>;
            0    7     4   moduleToExportedPackages  Ljava/util/Map<Ljava/lang/Module;Ljava/util/Set<Ljava/lang/String;>;>;
    Signature: (Ljdk/internal/module/IllegalAccessLogger$Mode;Ljava/io/PrintStream;Ljava/util/Map<Ljava/lang/Module;Ljava/util/Set<Ljava/lang/String;>;>;Ljava/util/Map<Ljava/lang/Module;Ljava/util/Set<Ljava/lang/String;>;>;)V
    MethodParameters:
                           Name  Flags
      mode                       
      warningStream              
      moduleToConcealedPackages  
      moduleToExportedPackages   

  public static jdk.internal.module.IllegalAccessLogger illegalAccessLogger();
    descriptor: ()Ljdk/internal/module/IllegalAccessLogger;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 166
            getstatic jdk.internal.module.IllegalAccessLogger.logger:Ljdk/internal/module/IllegalAccessLogger;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isExportedForIllegalAccess(java.lang.Module, java.lang.String);
    descriptor: (Ljava/lang/Module;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // jdk.internal.module.IllegalAccessLogger this
        start local 1 // java.lang.Module module
        start local 2 // java.lang.String pn
         0: .line 174
            aload 0 /* this */
            getfield jdk.internal.module.IllegalAccessLogger.moduleToConcealedPackages:Ljava/util/Map;
            aload 1 /* module */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 3 /* packages */
        start local 3 // java.util.Set packages
         1: .line 175
            aload 3 /* packages */
            ifnull 3
            aload 3 /* packages */
            aload 2 /* pn */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 176
            iconst_1
            ireturn
         3: .line 177
      StackMap locals: java.util.Set
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.util.Set packages
        end local 2 // java.lang.String pn
        end local 1 // java.lang.Module module
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljdk/internal/module/IllegalAccessLogger;
            0    4     1    module  Ljava/lang/Module;
            0    4     2        pn  Ljava/lang/String;
            1    4     3  packages  Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      module  
      pn      

  public boolean isOpenForIllegalAccess(java.lang.Module, java.lang.String);
    descriptor: (Ljava/lang/Module;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.internal.module.IllegalAccessLogger this
        start local 1 // java.lang.Module module
        start local 2 // java.lang.String pn
         0: .line 185
            aload 0 /* this */
            aload 1 /* module */
            aload 2 /* pn */
            invokevirtual jdk.internal.module.IllegalAccessLogger.isExportedForIllegalAccess:(Ljava/lang/Module;Ljava/lang/String;)Z
            ifeq 2
         1: .line 186
            iconst_1
            ireturn
         2: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.module.IllegalAccessLogger.moduleToExportedPackages:Ljava/util/Map;
            aload 1 /* module */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 3 /* packages */
        start local 3 // java.util.Set packages
         3: .line 188
            aload 3 /* packages */
            ifnull 5
            aload 3 /* packages */
            aload 2 /* pn */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 189
            iconst_1
            ireturn
         5: .line 190
      StackMap locals: java.util.Set
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.util.Set packages
        end local 2 // java.lang.String pn
        end local 1 // java.lang.Module module
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljdk/internal/module/IllegalAccessLogger;
            0    6     1    module  Ljava/lang/Module;
            0    6     2        pn  Ljava/lang/String;
            3    6     3  packages  Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      module  
      pn      

  public void logIfExportedForIllegalAccess(java.lang.Class<?>, java.lang.Class<?>, java.util.function.Supplier<java.lang.String>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Supplier;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // jdk.internal.module.IllegalAccessLogger this
        start local 1 // java.lang.Class caller
        start local 2 // java.lang.Class target
        start local 3 // java.util.function.Supplier whatSupplier
         0: .line 202
            aload 2 /* target */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 4 /* targetModule */
        start local 4 // java.lang.Module targetModule
         1: .line 203
            aload 2 /* target */
            invokevirtual java.lang.Class.getPackageName:()Ljava/lang/String;
            astore 5 /* targetPackage */
        start local 5 // java.lang.String targetPackage
         2: .line 204
            aload 0 /* this */
            aload 4 /* targetModule */
            aload 5 /* targetPackage */
            invokevirtual jdk.internal.module.IllegalAccessLogger.isExportedForIllegalAccess:(Ljava/lang/Module;Ljava/lang/String;)Z
            ifeq 6
         3: .line 205
            aload 1 /* caller */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 6 /* callerModule */
        start local 6 // java.lang.Module callerModule
         4: .line 206
            getstatic jdk.internal.module.IllegalAccessLogger.JLA:Ljdk/internal/misc/JavaLangAccess;
            aload 4 /* targetModule */
            aload 5 /* targetPackage */
            aload 6 /* callerModule */
            invokeinterface jdk.internal.misc.JavaLangAccess.isReflectivelyExported:(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)Z
            ifne 6
         5: .line 207
            aload 0 /* this */
            aload 1 /* caller */
            aload 3 /* whatSupplier */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual jdk.internal.module.IllegalAccessLogger.log:(Ljava/lang/Class;Ljava/lang/String;)V
        end local 6 // java.lang.Module callerModule
         6: .line 210
      StackMap locals: java.lang.Module java.lang.String
      StackMap stack:
            return
        end local 5 // java.lang.String targetPackage
        end local 4 // java.lang.Module targetModule
        end local 3 // java.util.function.Supplier whatSupplier
        end local 2 // java.lang.Class target
        end local 1 // java.lang.Class caller
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljdk/internal/module/IllegalAccessLogger;
            0    7     1         caller  Ljava/lang/Class<*>;
            0    7     2         target  Ljava/lang/Class<*>;
            0    7     3   whatSupplier  Ljava/util/function/Supplier<Ljava/lang/String;>;
            1    7     4   targetModule  Ljava/lang/Module;
            2    7     5  targetPackage  Ljava/lang/String;
            4    6     6   callerModule  Ljava/lang/Module;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/util/function/Supplier<Ljava/lang/String;>;)V
    MethodParameters:
              Name  Flags
      caller        
      target        
      whatSupplier  

  public void logIfOpenedForIllegalAccess(java.lang.Class<?>, java.lang.Class<?>, java.util.function.Supplier<java.lang.String>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Supplier;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // jdk.internal.module.IllegalAccessLogger this
        start local 1 // java.lang.Class caller
        start local 2 // java.lang.Class target
        start local 3 // java.util.function.Supplier whatSupplier
         0: .line 221
            aload 2 /* target */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 4 /* targetModule */
        start local 4 // java.lang.Module targetModule
         1: .line 222
            aload 2 /* target */
            invokevirtual java.lang.Class.getPackageName:()Ljava/lang/String;
            astore 5 /* targetPackage */
        start local 5 // java.lang.String targetPackage
         2: .line 223
            aload 0 /* this */
            aload 4 /* targetModule */
            aload 5 /* targetPackage */
            invokevirtual jdk.internal.module.IllegalAccessLogger.isOpenForIllegalAccess:(Ljava/lang/Module;Ljava/lang/String;)Z
            ifeq 6
         3: .line 224
            aload 1 /* caller */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 6 /* callerModule */
        start local 6 // java.lang.Module callerModule
         4: .line 225
            getstatic jdk.internal.module.IllegalAccessLogger.JLA:Ljdk/internal/misc/JavaLangAccess;
            aload 4 /* targetModule */
            aload 5 /* targetPackage */
            aload 6 /* callerModule */
            invokeinterface jdk.internal.misc.JavaLangAccess.isReflectivelyOpened:(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)Z
            ifne 6
         5: .line 226
            aload 0 /* this */
            aload 1 /* caller */
            aload 3 /* whatSupplier */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual jdk.internal.module.IllegalAccessLogger.log:(Ljava/lang/Class;Ljava/lang/String;)V
        end local 6 // java.lang.Module callerModule
         6: .line 229
      StackMap locals: java.lang.Module java.lang.String
      StackMap stack:
            return
        end local 5 // java.lang.String targetPackage
        end local 4 // java.lang.Module targetModule
        end local 3 // java.util.function.Supplier whatSupplier
        end local 2 // java.lang.Class target
        end local 1 // java.lang.Class caller
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljdk/internal/module/IllegalAccessLogger;
            0    7     1         caller  Ljava/lang/Class<*>;
            0    7     2         target  Ljava/lang/Class<*>;
            0    7     3   whatSupplier  Ljava/util/function/Supplier<Ljava/lang/String;>;
            1    7     4   targetModule  Ljava/lang/Module;
            2    7     5  targetPackage  Ljava/lang/String;
            4    6     6   callerModule  Ljava/lang/Module;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/util/function/Supplier<Ljava/lang/String;>;)V
    MethodParameters:
              Name  Flags
      caller        
      target        
      whatSupplier  

  public void logIfOpenedForIllegalAccess(java.lang.invoke.MethodHandles$Lookup, java.lang.Class<?>);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // jdk.internal.module.IllegalAccessLogger this
        start local 1 // java.lang.invoke.MethodHandles$Lookup caller
        start local 2 // java.lang.Class target
         0: .line 236
            aload 2 /* target */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 3 /* targetModule */
        start local 3 // java.lang.Module targetModule
         1: .line 237
            aload 2 /* target */
            invokevirtual java.lang.Class.getPackageName:()Ljava/lang/String;
            astore 4 /* targetPackage */
        start local 4 // java.lang.String targetPackage
         2: .line 238
            aload 0 /* this */
            aload 3 /* targetModule */
            aload 4 /* targetPackage */
            invokevirtual jdk.internal.module.IllegalAccessLogger.isOpenForIllegalAccess:(Ljava/lang/Module;Ljava/lang/String;)Z
            ifeq 12
         3: .line 239
            aload 1 /* caller */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            astore 5 /* callerClass */
        start local 5 // java.lang.Class callerClass
         4: .line 240
            aload 5 /* callerClass */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 6 /* callerModule */
        start local 6 // java.lang.Module callerModule
         5: .line 241
            getstatic jdk.internal.module.IllegalAccessLogger.JLA:Ljdk/internal/misc/JavaLangAccess;
            aload 3 /* targetModule */
            aload 4 /* targetPackage */
            aload 6 /* callerModule */
            invokeinterface jdk.internal.misc.JavaLangAccess.isReflectivelyOpened:(Ljava/lang/Module;Ljava/lang/String;Ljava/lang/Module;)Z
            ifne 12
         6: .line 242
            aload 0 /* this */
            aload 5 /* callerClass */
            invokevirtual jdk.internal.module.IllegalAccessLogger.codeSource:(Ljava/lang/Class;)Ljava/net/URL;
            astore 7 /* url */
        start local 7 // java.net.URL url
         7: .line 244
            aload 7 /* url */
            ifnonnull 10
         8: .line 245
            aload 5 /* callerClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 8 /* source */
        start local 8 // java.lang.String source
         9: .line 246
            goto 11
        end local 8 // java.lang.String source
        10: .line 247
      StackMap locals: jdk.internal.module.IllegalAccessLogger java.lang.invoke.MethodHandles$Lookup java.lang.Class java.lang.Module java.lang.String java.lang.Class java.lang.Module java.net.URL
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 5 /* callerClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* source */
        start local 8 // java.lang.String source
        11: .line 249
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 5 /* callerClass */
            aload 2 /* target */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 8 /* source */
            aload 2 /* target */
            invokedynamic get(Ljava/lang/String;Ljava/lang/Class;)Ljava/util/function/Supplier;
              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;
                  jdk/internal/module/IllegalAccessLogger.lambda$0(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokevirtual jdk.internal.module.IllegalAccessLogger.log:(Ljava/lang/Class;Ljava/lang/String;Ljava/util/function/Supplier;)V
        end local 8 // java.lang.String source
        end local 7 // java.net.URL url
        end local 6 // java.lang.Module callerModule
        end local 5 // java.lang.Class callerClass
        12: .line 254
      StackMap locals: jdk.internal.module.IllegalAccessLogger java.lang.invoke.MethodHandles$Lookup java.lang.Class java.lang.Module java.lang.String
      StackMap stack:
            return
        end local 4 // java.lang.String targetPackage
        end local 3 // java.lang.Module targetModule
        end local 2 // java.lang.Class target
        end local 1 // java.lang.invoke.MethodHandles$Lookup caller
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Ljdk/internal/module/IllegalAccessLogger;
            0   13     1         caller  Ljava/lang/invoke/MethodHandles$Lookup;
            0   13     2         target  Ljava/lang/Class<*>;
            1   13     3   targetModule  Ljava/lang/Module;
            2   13     4  targetPackage  Ljava/lang/String;
            4   12     5    callerClass  Ljava/lang/Class<*>;
            5   12     6   callerModule  Ljava/lang/Module;
            7   12     7            url  Ljava/net/URL;
            9   10     8         source  Ljava/lang/String;
           11   12     8         source  Ljava/lang/String;
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;)V
    MethodParameters:
        Name  Flags
      caller  
      target  

  private void log(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // jdk.internal.module.IllegalAccessLogger this
        start local 1 // java.lang.Class caller
        start local 2 // java.lang.String what
         0: .line 261
            aload 0 /* this */
            aload 1 /* caller */
            aload 2 /* what */
            aload 0 /* this */
            aload 1 /* caller */
            aload 2 /* what */
            invokedynamic get(Ljdk/internal/module/IllegalAccessLogger;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/function/Supplier;
              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;
                  jdk/internal/module/IllegalAccessLogger.lambda$1(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/String; (7)
                  ()Ljava/lang/String;
            invokevirtual jdk.internal.module.IllegalAccessLogger.log:(Ljava/lang/Class;Ljava/lang/String;Ljava/util/function/Supplier;)V
         1: .line 268
            return
        end local 2 // java.lang.String what
        end local 1 // java.lang.Class caller
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/internal/module/IllegalAccessLogger;
            0    2     1  caller  Ljava/lang/Class<*>;
            0    2     2    what  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)V
    MethodParameters:
        Name  Flags
      caller  
      what    

  private void log(java.lang.Class<?>, java.lang.String, java.util.function.Supplier<java.lang.String>);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/util/function/Supplier;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // jdk.internal.module.IllegalAccessLogger this
        start local 1 // java.lang.Class caller
        start local 2 // java.lang.String what
        start local 3 // java.util.function.Supplier msgSupplier
         0: .line 281
            aload 0 /* this */
            getfield jdk.internal.module.IllegalAccessLogger.mode:Ljdk/internal/module/IllegalAccessLogger$Mode;
            getstatic jdk.internal.module.IllegalAccessLogger$Mode.ONESHOT:Ljdk/internal/module/IllegalAccessLogger$Mode;
            if_acmpne 12
         1: .line 282
            ldc Ljdk/internal/module/IllegalAccessLogger;
            dup
            astore 4
            monitorenter
         2: .line 284
            getstatic jdk.internal.module.IllegalAccessLogger.logger:Ljdk/internal/module/IllegalAccessLogger;
            ifnonnull 5
         3: .line 285
            aload 4
            monitorexit
         4: return
         5: .line 286
      StackMap locals: java.lang.Class
      StackMap stack:
            aconst_null
            putstatic jdk.internal.module.IllegalAccessLogger.logger:Ljdk/internal/module/IllegalAccessLogger;
         6: .line 282
            aload 4
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 4
            monitorexit
         9: athrow
        10: .line 288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.module.IllegalAccessLogger.warningStream:Ljava/io/PrintStream;
            aload 0 /* this */
            aload 1 /* caller */
            aload 3 /* msgSupplier */
            invokevirtual jdk.internal.module.IllegalAccessLogger.loudWarning:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 289
            return
        12: .line 293
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.module.IllegalAccessLogger$StackWalkerHolder.INSTANCE:Ljava/lang/StackWalker;
            aload 0 /* this */
            invokedynamic apply(Ljdk/internal/module/IllegalAccessLogger;)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;
                  jdk/internal/module/IllegalAccessLogger.lambda$2(Ljava/util/stream/Stream;)Ljava/util/List; (7)
                  (Ljava/util/stream/Stream;)Ljava/util/List;
            invokevirtual java.lang.StackWalker.walk:(Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* stack */
        start local 4 // java.util.List stack
        13: .line 300
            new jdk.internal.module.IllegalAccessLogger$Usage
            dup
            aload 2 /* what */
            aload 0 /* this */
            aload 4 /* stack */
            invokevirtual jdk.internal.module.IllegalAccessLogger.hash:(Ljava/util/List;)I
            invokespecial jdk.internal.module.IllegalAccessLogger$Usage.<init>:(Ljava/lang/String;I)V
            astore 5 /* u */
        start local 5 // jdk.internal.module.IllegalAccessLogger$Usage u
        14: .line 302
            aload 0 /* this */
            dup
            astore 7
            monitorenter
        15: .line 303
            aload 0 /* this */
            getfield jdk.internal.module.IllegalAccessLogger.callerToUsages:Ljava/util/Map;
            aload 1 /* caller */
            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;
                  jdk/internal/module/IllegalAccessLogger.lambda$4(Ljava/lang/Class;)Ljdk/internal/module/IllegalAccessLogger$Usages; (6)
                  (Ljava/lang/Class;)Ljdk/internal/module/IllegalAccessLogger$Usages;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast jdk.internal.module.IllegalAccessLogger$Usages
            aload 5 /* u */
            invokevirtual jdk.internal.module.IllegalAccessLogger$Usages.add:(Ljdk/internal/module/IllegalAccessLogger$Usage;)Z
            istore 6 /* added */
        start local 6 // boolean added
        16: .line 302
            aload 7
            monitorexit
        17: goto 20
        end local 6 // boolean added
      StackMap locals: jdk.internal.module.IllegalAccessLogger java.lang.Class java.lang.String java.util.function.Supplier java.util.List jdk.internal.module.IllegalAccessLogger$Usage top jdk.internal.module.IllegalAccessLogger
      StackMap stack: java.lang.Throwable
        18: aload 7
            monitorexit
        19: athrow
        start local 6 // boolean added
        20: .line 307
      StackMap locals: jdk.internal.module.IllegalAccessLogger java.lang.Class java.lang.String java.util.function.Supplier java.util.List jdk.internal.module.IllegalAccessLogger$Usage int
      StackMap stack:
            iload 6 /* added */
            ifeq 27
        21: .line 308
            aload 3 /* msgSupplier */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* msg */
        start local 7 // java.lang.String msg
        22: .line 309
            aload 0 /* this */
            getfield jdk.internal.module.IllegalAccessLogger.mode:Ljdk/internal/module/IllegalAccessLogger$Mode;
            getstatic jdk.internal.module.IllegalAccessLogger$Mode.DEBUG:Ljdk/internal/module/IllegalAccessLogger$Mode;
            if_acmpne 26
        23: .line 310
            new java.lang.StringBuilder
            dup
            aload 7 /* msg */
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 8 /* sb */
        start local 8 // java.lang.StringBuilder sb
        24: .line 311
            aload 4 /* stack */
            aload 8 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)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
                  jdk/internal/module/IllegalAccessLogger.lambda$5(Ljava/lang/StringBuilder;Ljava/lang/StackWalker$StackFrame;)V (6)
                  (Ljava/lang/StackWalker$StackFrame;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
        25: .line 314
            aload 8 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* msg */
        end local 8 // java.lang.StringBuilder sb
        26: .line 316
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.module.IllegalAccessLogger.warningStream:Ljava/io/PrintStream;
            aload 7 /* msg */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 7 // java.lang.String msg
        27: .line 318
      StackMap locals:
      StackMap stack:
            return
        end local 6 // boolean added
        end local 5 // jdk.internal.module.IllegalAccessLogger$Usage u
        end local 4 // java.util.List stack
        end local 3 // java.util.function.Supplier msgSupplier
        end local 2 // java.lang.String what
        end local 1 // java.lang.Class caller
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   28     0         this  Ljdk/internal/module/IllegalAccessLogger;
            0   28     1       caller  Ljava/lang/Class<*>;
            0   28     2         what  Ljava/lang/String;
            0   28     3  msgSupplier  Ljava/util/function/Supplier<Ljava/lang/String;>;
           13   28     4        stack  Ljava/util/List<Ljava/lang/StackWalker$StackFrame;>;
           14   28     5            u  Ljdk/internal/module/IllegalAccessLogger$Usage;
           16   18     6        added  Z
           20   28     6        added  Z
           22   27     7          msg  Ljava/lang/String;
           24   26     8           sb  Ljava/lang/StringBuilder;
      Exception table:
        from    to  target  type
           2     4       8  any
           5     7       8  any
           8     9       8  any
          15    17      18  any
          18    19      18  any
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/util/function/Supplier<Ljava/lang/String;>;)V
    MethodParameters:
             Name  Flags
      caller       
      what         
      msgSupplier  

  private java.net.URL codeSource(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // jdk.internal.module.IllegalAccessLogger this
        start local 1 // java.lang.Class clazz
         0: .line 324
            aload 1 /* clazz */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Ljava/lang/Class;)Ljava/security/PrivilegedAction;
              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;
                  java/lang/Class.getProtectionDomain()Ljava/security/ProtectionDomain; (5)
                  ()Ljava/security/ProtectionDomain;
            astore 2 /* pa */
        start local 2 // java.security.PrivilegedAction pa
         1: .line 325
            aload 2 /* pa */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.security.ProtectionDomain
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            astore 4 /* cs */
        start local 4 // java.security.CodeSource cs
         2: .line 326
            aload 4 /* cs */
            ifnull 3
            aload 4 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            goto 4
      StackMap locals: jdk.internal.module.IllegalAccessLogger java.lang.Class java.security.PrivilegedAction top java.security.CodeSource
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: java.net.URL
         4: areturn
        end local 4 // java.security.CodeSource cs
        end local 2 // java.security.PrivilegedAction pa
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljdk/internal/module/IllegalAccessLogger;
            0    5     1  clazz  Ljava/lang/Class<*>;
            1    5     2     pa  Ljava/security/PrivilegedAction<Ljava/security/ProtectionDomain;>;
            2    5     4     cs  Ljava/security/CodeSource;
    Signature: (Ljava/lang/Class<*>;)Ljava/net/URL;
    MethodParameters:
       Name  Flags
      clazz  

  private java.lang.String loudWarning(java.lang.Class<?>, java.util.function.Supplier<java.lang.String>);
    descriptor: (Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jdk.internal.module.IllegalAccessLogger this
        start local 1 // java.lang.Class caller
        start local 2 // java.util.function.Supplier msgSupplier
         0: .line 330
            new java.util.StringJoiner
            dup
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
            astore 3 /* sj */
        start local 3 // java.util.StringJoiner sj
         1: .line 331
            aload 3 /* sj */
            ldc "WARNING: An illegal reflective access operation has occurred"
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
         2: .line 332
            aload 3 /* sj */
            aload 2 /* msgSupplier */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.lang.CharSequence
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
         3: .line 333
            aload 3 /* sj */
            new java.lang.StringBuilder
            dup
            ldc "WARNING: Please consider reporting this to the maintainers of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 334
            aload 1 /* caller */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 333
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
         6: .line 335
            aload 3 /* sj */
            ldc "WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations"
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
         7: .line 337
            aload 3 /* sj */
            ldc "WARNING: All illegal access operations will be denied in a future release"
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
         8: .line 339
            aload 3 /* sj */
            invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.util.StringJoiner sj
        end local 2 // java.util.function.Supplier msgSupplier
        end local 1 // java.lang.Class caller
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Ljdk/internal/module/IllegalAccessLogger;
            0    9     1       caller  Ljava/lang/Class<*>;
            0    9     2  msgSupplier  Ljava/util/function/Supplier<Ljava/lang/String;>;
            1    9     3           sj  Ljava/util/StringJoiner;
    Signature: (Ljava/lang/Class<*>;Ljava/util/function/Supplier<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
             Name  Flags
      caller       
      msgSupplier  

  private boolean isJavaBase(java.lang.StackWalker$StackFrame);
    descriptor: (Ljava/lang/StackWalker$StackFrame;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.internal.module.IllegalAccessLogger this
        start local 1 // java.lang.StackWalker$StackFrame frame
         0: .line 355
            aload 1 /* frame */
            invokeinterface java.lang.StackWalker$StackFrame.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 2 /* caller */
        start local 2 // java.lang.Module caller
         1: .line 356
            ldc "java.base"
            aload 2 /* caller */
            invokevirtual java.lang.Module.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.lang.Module caller
        end local 1 // java.lang.StackWalker$StackFrame frame
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/internal/module/IllegalAccessLogger;
            0    2     1   frame  Ljava/lang/StackWalker$StackFrame;
            1    2     2  caller  Ljava/lang/Module;
    MethodParameters:
       Name  Flags
      frame  

  private int hash(java.util.List<java.lang.StackWalker$StackFrame>);
    descriptor: (Ljava/util/List;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // jdk.internal.module.IllegalAccessLogger this
        start local 1 // java.util.List stack
         0: .line 364
            iconst_0
            istore 2 /* hash */
        start local 2 // int hash
         1: .line 365
            aload 1 /* stack */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: jdk.internal.module.IllegalAccessLogger java.util.List int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.StackWalker$StackFrame
            astore 3 /* frame */
        start local 3 // java.lang.StackWalker$StackFrame frame
         3: .line 366
            bipush 31
            iload 2 /* hash */
            imul
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* frame */
            invokeinterface java.lang.StackWalker$StackFrame.getDeclaringClass:()Ljava/lang/Class;
            aastore
            dup
            iconst_1
         4: .line 367
            aload 3 /* frame */
            invokeinterface java.lang.StackWalker$StackFrame.getMethodName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
         5: .line 368
            aload 3 /* frame */
            invokeinterface java.lang.StackWalker$StackFrame.getByteCodeIndex:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         6: .line 366
            invokestatic java.util.Objects.hash:([Ljava/lang/Object;)I
            iadd
            istore 2 /* hash */
        end local 3 // java.lang.StackWalker$StackFrame frame
         7: .line 365
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 370
            iload 2 /* hash */
            ireturn
        end local 2 // int hash
        end local 1 // java.util.List stack
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Ljdk/internal/module/IllegalAccessLogger;
            0    9     1  stack  Ljava/util/List<Ljava/lang/StackWalker$StackFrame;>;
            1    9     2   hash  I
            3    7     3  frame  Ljava/lang/StackWalker$StackFrame;
    Signature: (Ljava/util/List<Ljava/lang/StackWalker$StackFrame;>;)I
    MethodParameters:
       Name  Flags
      stack  

  private static java.lang.String lambda$0(java.lang.String, java.lang.Class);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 250
            new java.lang.StringBuilder
            dup
            ldc "WARNING: Illegal reflective access using Lookup on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 251
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         2: .line 250
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 251
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.lang.String lambda$1(java.lang.Class, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jdk.internal.module.IllegalAccessLogger this
         0: .line 262
            aload 0 /* this */
            aload 1
            invokevirtual jdk.internal.module.IllegalAccessLogger.codeSource:(Ljava/lang/Class;)Ljava/net/URL;
            astore 3 /* url */
        start local 3 // java.net.URL url
         1: .line 263
            aload 1
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 4 /* source */
        start local 4 // java.lang.String source
         2: .line 264
            aload 3 /* url */
            ifnull 4
         3: .line 265
            new java.lang.StringBuilder
            dup
            aload 4 /* source */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* source */
         4: .line 266
      StackMap locals: java.net.URL java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "WARNING: Illegal reflective access by "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* source */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.String source
        end local 3 // java.net.URL url
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/internal/module/IllegalAccessLogger;
            1    5     3     url  Ljava/net/URL;
            2    5     4  source  Ljava/lang/String;

  private java.util.List lambda$2(java.util.stream.Stream);
    descriptor: (Ljava/util/stream/Stream;)Ljava/util/List;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.module.IllegalAccessLogger this
        start local 1 // java.util.stream.Stream s
         0: .line 294
            aload 1 /* s */
            aload 0 /* this */
            invokedynamic test(Ljdk/internal/module/IllegalAccessLogger;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  jdk/internal/module/IllegalAccessLogger.isJavaBase(Ljava/lang/StackWalker$StackFrame;)Z (7)
                  (Ljava/lang/StackWalker$StackFrame;)Z
            invokeinterface java.util.stream.Stream.dropWhile:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         1: .line 295
            ldc 32
            invokeinterface java.util.stream.Stream.limit:(J)Ljava/util/stream/Stream;
         2: .line 296
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 1 // java.util.stream.Stream s
        end local 0 // jdk.internal.module.IllegalAccessLogger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/internal/module/IllegalAccessLogger;
            0    3     1     s  Ljava/util/stream/Stream<Ljava/lang/StackWalker$StackFrame;>;

  private static jdk.internal.module.IllegalAccessLogger$Usages lambda$4(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljdk/internal/module/IllegalAccessLogger$Usages;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class k
         0: .line 303
            new jdk.internal.module.IllegalAccessLogger$Usages
            dup
            invokespecial jdk.internal.module.IllegalAccessLogger$Usages.<init>:()V
            areturn
        end local 0 // java.lang.Class k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     k  Ljava/lang/Class<*>;

  private static void lambda$5(java.lang.StringBuilder, java.lang.StackWalker$StackFrame);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/StackWalker$StackFrame;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 1 // java.lang.StackWalker$StackFrame f
         0: .line 312
            aload 0
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            new java.lang.StringBuilder
            dup
            ldc "\tat "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* f */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.StackWalker$StackFrame f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     f  Ljava/lang/StackWalker$StackFrame;
}
SourceFile: "IllegalAccessLogger.java"
NestMembers:
  jdk.internal.module.IllegalAccessLogger$Builder  jdk.internal.module.IllegalAccessLogger$Mode  jdk.internal.module.IllegalAccessLogger$StackWalkerHolder  jdk.internal.module.IllegalAccessLogger$Usage  jdk.internal.module.IllegalAccessLogger$Usages
InnerClasses:
  public abstract StackFrame = java.lang.StackWalker$StackFrame of java.lang.StackWalker
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Builder = jdk.internal.module.IllegalAccessLogger$Builder of jdk.internal.module.IllegalAccessLogger
  public final Mode = jdk.internal.module.IllegalAccessLogger$Mode of jdk.internal.module.IllegalAccessLogger
  private StackWalkerHolder = jdk.internal.module.IllegalAccessLogger$StackWalkerHolder of jdk.internal.module.IllegalAccessLogger
  private Usage = jdk.internal.module.IllegalAccessLogger$Usage of jdk.internal.module.IllegalAccessLogger
  private Usages = jdk.internal.module.IllegalAccessLogger$Usages of jdk.internal.module.IllegalAccessLogger