class com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1 extends com.sun.tools.javac.file.JavacFileManager
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1
  super_class: com.sun.tools.javac.file.JavacFileManager
{
  final com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl this$1;
    descriptor: Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl, com.sun.tools.javac.util.Context, boolean, java.nio.charset.Charset);
    descriptor: (Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl;Lcom/sun/tools/javac/util/Context;ZLjava/nio/charset/Charset;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1 this
        start local 2 // com.sun.tools.javac.util.Context $anonymous0
        start local 3 // boolean $anonymous1
        start local 4 // java.nio.charset.Charset $anonymous2
         0: .line 158
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1.this$1:Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl;
            aload 0 /* this */
            aload 2 /* $anonymous0 */
            iload 3 /* $anonymous1 */
            aload 4 /* $anonymous2 */
            invokespecial com.sun.tools.javac.file.JavacFileManager.<init>:(Lcom/sun/tools/javac/util/Context;ZLjava/nio/charset/Charset;)V
            return
        end local 4 // java.nio.charset.Charset $anonymous2
        end local 3 // boolean $anonymous1
        end local 2 // com.sun.tools.javac.util.Context $anonymous0
        end local 0 // com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl$1;
            0    1     2  $anonymous0  Lcom/sun/tools/javac/util/Context;
            0    1     3  $anonymous1  Z
            0    1     4  $anonymous2  Ljava/nio/charset/Charset;
    MethodParameters:
             Name  Flags
      this$0       final
      $anonymous0  
      $anonymous1  
      $anonymous2  

  public boolean hasLocation(javax.tools.JavaFileManager$Location);
    descriptor: (Ljavax/tools/JavaFileManager$Location;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1 this
        start local 1 // javax.tools.JavaFileManager$Location location
         0: .line 161
            aload 0 /* this */
            aload 1 /* location */
            invokespecial com.sun.tools.javac.file.JavacFileManager.hasExplicitLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            ireturn
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl$1;
            0    1     1  location  Ljavax/tools/JavaFileManager$Location;
    MethodParameters:
          Name  Flags
      location  

  public javax.tools.JavaFileObject getJavaFileForInput(javax.tools.JavaFileManager$Location, java.lang.String, javax.tools.JavaFileObject$Kind);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1 this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // java.lang.String className
        start local 3 // javax.tools.JavaFileObject$Kind kind
         0: .line 167
            aload 3 /* kind */
            getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
            if_acmpne 15
         1: .line 168
            aload 2 /* className */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 4 /* fileName */
        start local 4 // java.lang.String fileName
         2: .line 170
            aload 0 /* this */
            aload 1 /* location */
         3: .line 171
            ldc ""
         4: .line 172
            new java.lang.StringBuilder
            dup
            aload 4 /* fileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".sig"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 170
            invokevirtual com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1.getFileForInput:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/lang/String;)Ljavax/tools/FileObject;
            checkcast javax.tools.JavaFileObject
         6: .line 169
            astore 5 /* result */
        start local 5 // javax.tools.JavaFileObject result
         7: .line 174
            aload 5 /* result */
            ifnonnull 12
         8: .line 176
            aload 0 /* this */
            aload 1 /* location */
         9: .line 177
            ldc ""
        10: .line 178
            new java.lang.StringBuilder
            dup
            aload 4 /* fileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 176
            invokevirtual com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1.getFileForInput:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/lang/String;)Ljavax/tools/FileObject;
            checkcast javax.tools.JavaFileObject
            astore 5 /* result */
        12: .line 181
      StackMap locals: java.lang.String javax.tools.JavaFileObject
      StackMap stack:
            aload 5 /* result */
            ifnull 14
        13: .line 182
            new com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$SigJavaFileObject
            dup
            aload 5 /* result */
            invokespecial com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$SigJavaFileObject.<init>:(Ljavax/tools/JavaFileObject;)V
            areturn
        14: .line 184
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // javax.tools.JavaFileObject result
        end local 4 // java.lang.String fileName
        15: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* location */
            aload 2 /* className */
            aload 3 /* kind */
            invokespecial com.sun.tools.javac.file.JavacFileManager.getJavaFileForInput:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
            areturn
        end local 3 // javax.tools.JavaFileObject$Kind kind
        end local 2 // java.lang.String className
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl$1;
            0   16     1   location  Ljavax/tools/JavaFileManager$Location;
            0   16     2  className  Ljava/lang/String;
            0   16     3       kind  Ljavax/tools/JavaFileObject$Kind;
            2   15     4   fileName  Ljava/lang/String;
            7   15     5     result  Ljavax/tools/JavaFileObject;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      location   
      className  
      kind       

  public java.lang.Iterable<javax.tools.JavaFileObject> list(javax.tools.JavaFileManager$Location, java.lang.String, java.util.Set<javax.tools.JavaFileObject$Kind>, boolean);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Set;Z)Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1 this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // java.lang.String packageName
        start local 3 // java.util.Set kinds
        start local 4 // boolean recurse
         0: .line 196
            aload 3 /* kinds */
            invokestatic java.util.EnumSet.copyOf:(Ljava/util/Collection;)Ljava/util/EnumSet;
            astore 5 /* enhancedKinds */
        start local 5 // java.util.Set enhancedKinds
         1: .line 198
            aload 5 /* enhancedKinds */
            getstatic javax.tools.JavaFileObject$Kind.OTHER:Ljavax/tools/JavaFileObject$Kind;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 200
            aload 0 /* this */
            aload 1 /* location */
            aload 2 /* packageName */
         3: .line 201
            aload 5 /* enhancedKinds */
            iload 4 /* recurse */
         4: .line 200
            invokespecial com.sun.tools.javac.file.JavacFileManager.list:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Set;Z)Ljava/lang/Iterable;
            astore 6 /* listed */
        start local 6 // java.lang.Iterable listed
         5: .line 203
            aload 0 /* this */
            aload 6 /* listed */
            aload 3 /* kinds */
            invokedynamic iterator(Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl$1;Ljava/lang/Iterable;Ljava/util/Set;)Ljava/lang/Iterable;
              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/util/Iterator;
                  com/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl$1.lambda$0(Ljava/lang/Iterable;Ljava/util/Set;)Ljava/util/Iterator; (7)
                  ()Ljava/util/Iterator;
            areturn
        end local 6 // java.lang.Iterable listed
        end local 5 // java.util.Set enhancedKinds
        end local 4 // boolean recurse
        end local 3 // java.util.Set kinds
        end local 2 // java.lang.String packageName
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl$1;
            0    6     1       location  Ljavax/tools/JavaFileManager$Location;
            0    6     2    packageName  Ljava/lang/String;
            0    6     3          kinds  Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;
            0    6     4        recurse  Z
            1    6     5  enhancedKinds  Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;
            5    6     6         listed  Ljava/lang/Iterable<Ljavax/tools/JavaFileObject;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;Z)Ljava/lang/Iterable<Ljavax/tools/JavaFileObject;>;
    MethodParameters:
             Name  Flags
      location     
      packageName  
      kinds        
      recurse      

  public java.lang.String inferBinaryName(javax.tools.JavaFileManager$Location, javax.tools.JavaFileObject);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1 this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // javax.tools.JavaFileObject file
         0: .line 241
            aload 2 /* file */
            instanceof com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$SigJavaFileObject
            ifeq 2
         1: .line 242
            aload 2 /* file */
            checkcast com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$SigJavaFileObject
            invokevirtual com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$SigJavaFileObject.getDelegate:()Ljavax/tools/JavaFileObject;
            astore 2 /* file */
         2: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* location */
            aload 2 /* file */
            invokespecial com.sun.tools.javac.file.JavacFileManager.inferBinaryName:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljava/lang/String;
            areturn
        end local 2 // javax.tools.JavaFileObject file
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl$1;
            0    3     1  location  Ljavax/tools/JavaFileManager$Location;
            0    3     2      file  Ljavax/tools/JavaFileObject;
    MethodParameters:
          Name  Flags
      location  
      file      

  private java.util.Iterator lambda$0(java.lang.Iterable, java.util.Set);
    descriptor: (Ljava/lang/Iterable;Ljava/util/Set;)Ljava/util/Iterator;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1 this
         0: .line 203
            new com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1$1
            dup
            aload 0 /* this */
            aload 1
            aload 2
            invokespecial com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1$1.<init>:(Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl$1;Ljava/lang/Iterable;Ljava/util/Set;)V
         1: .line 236
            areturn
        end local 0 // com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/platform/JDKPlatformProvider$PlatformDescriptionImpl$1;
}
SourceFile: "JDKPlatformProvider.java"
EnclosingMethod: com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl.getFileManager:()Ljavax/tools/JavaFileManager;
NestHost: com.sun.tools.javac.platform.JDKPlatformProvider
InnerClasses:
  PlatformDescriptionImpl = com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl of com.sun.tools.javac.platform.JDKPlatformProvider
  com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1
  com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$1$1
  private SigJavaFileObject = com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl$SigJavaFileObject of com.sun.tools.javac.platform.JDKPlatformProvider$PlatformDescriptionImpl
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager
  public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject