public class com.sun.tools.javac.file.JavacFileManager extends com.sun.tools.javac.file.BaseFileManager implements javax.tools.StandardJavaFileManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.file.JavacFileManager
  super_class: com.sun.tools.javac.file.BaseFileManager
{
  private com.sun.tools.javac.file.FSInfo fsInfo;
    descriptor: Lcom/sun/tools/javac/file/FSInfo;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Set<javax.tools.JavaFileObject$Kind> sourceOrClass;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;

  protected boolean symbolFileEnabled;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  private javax.tools.StandardJavaFileManager$PathFactory pathFactory;
    descriptor: Ljavax/tools/StandardJavaFileManager$PathFactory;
    flags: (0x0002) ACC_PRIVATE

  protected com.sun.tools.javac.file.JavacFileManager$SortFiles sortFiles;
    descriptor: Lcom/sun/tools/javac/file/JavacFileManager$SortFiles;
    flags: (0x0004) ACC_PROTECTED

  private final java.util.Map<java.nio.file.Path, com.sun.tools.javac.file.JavacFileManager$Container> containers;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/nio/file/Path;Lcom/sun/tools/javac/file/JavacFileManager$Container;>;

  private static final com.sun.tools.javac.file.JavacFileManager$Container MISSING_CONTAINER;
    descriptor: Lcom/sun/tools/javac/file/JavacFileManager$Container;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private com.sun.tools.javac.file.JRTIndex jrtIndex;
    descriptor: Lcom/sun/tools/javac/file/JRTIndex;
    flags: (0x0002) ACC_PRIVATE

  private static final boolean fileSystemIsCaseSensitive;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 343
            new com.sun.tools.javac.file.JavacFileManager$1
            dup
            invokespecial com.sun.tools.javac.file.JavacFileManager$1.<init>:()V
            putstatic com.sun.tools.javac.file.JavacFileManager.MISSING_CONTAINER:Lcom/sun/tools/javac/file/JavacFileManager$Container;
         1: .line 616
            getstatic java.io.File.separatorChar:C
            bipush 47
            if_icmpne 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
         3: .line 615
      StackMap locals:
      StackMap stack: int
            putstatic com.sun.tools.javac.file.JavacFileManager.fileSystemIsCaseSensitive:Z
         4: .line 616
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static char[] toArray(java.nio.CharBuffer);
    descriptor: (Ljava/nio/CharBuffer;)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.CharBuffer buffer
         0: .line 99
            aload 0 /* buffer */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
         1: .line 100
            aload 0 /* buffer */
            invokevirtual java.nio.CharBuffer.compact:()Ljava/nio/CharBuffer;
            invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/CharBuffer;
            invokevirtual java.nio.CharBuffer.array:()[C
            areturn
         2: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            invokevirtual java.nio.CharBuffer.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            areturn
        end local 0 // java.nio.CharBuffer buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  buffer  Ljava/nio/CharBuffer;
    MethodParameters:
        Name  Flags
      buffer  

  public static void preRegister(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.util.Context context
         0: .line 135
            aload 0 /* context */
            ldc Ljavax/tools/JavaFileManager;
         1: .line 136
            invokedynamic make()Lcom/sun/tools/javac/util/Context$Factory;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lcom/sun/tools/javac/util/Context;)Ljava/lang/Object;
                  com/sun/tools/javac/file/JavacFileManager.lambda$1(Lcom/sun/tools/javac/util/Context;)Ljavax/tools/JavaFileManager; (6)
                  (Lcom/sun/tools/javac/util/Context;)Ljavax/tools/JavaFileManager;
         2: .line 135
            invokevirtual com.sun.tools.javac.util.Context.put:(Ljava/lang/Class;Lcom/sun/tools/javac/util/Context$Factory;)V
         3: .line 137
            return
        end local 0 // com.sun.tools.javac.util.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lcom/sun/tools/javac/util/Context;
    MethodParameters:
         Name  Flags
      context  

  public void <init>(com.sun.tools.javac.util.Context, boolean, java.nio.charset.Charset);
    descriptor: (Lcom/sun/tools/javac/util/Context;ZLjava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // com.sun.tools.javac.util.Context context
        start local 2 // boolean register
        start local 3 // java.nio.charset.Charset charset
         0: .line 144
            aload 0 /* this */
            aload 3 /* charset */
            invokespecial com.sun.tools.javac.file.BaseFileManager.<init>:(Ljava/nio/charset/Charset;)V
         1: .line 107
            aload 0 /* this */
         2: .line 108
            getstatic javax.tools.JavaFileObject$Kind.SOURCE:Ljavax/tools/JavaFileObject$Kind;
            getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            putfield com.sun.tools.javac.file.JavacFileManager.sourceOrClass:Ljava/util/Set;
         3: .line 112
            aload 0 /* this */
            invokedynamic getPath()Ljavax/tools/StandardJavaFileManager$PathFactory;
              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/String;[Ljava/lang/String;)Ljava/nio/file/Path;
                  com/sun/tools/javac/file/JavacFileManager.lambda$4(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path; (6)
                  (Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            putfield com.sun.tools.javac.file.JavacFileManager.pathFactory:Ljavax/tools/StandardJavaFileManager$PathFactory;
         4: .line 279
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.javac.file.JavacFileManager.containers:Ljava/util/Map;
         5: .line 145
            iload 2 /* register */
            ifeq 7
         6: .line 146
            aload 1 /* context */
            ldc Ljavax/tools/JavaFileManager;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Context.put:(Ljava/lang/Class;Ljava/lang/Object;)V
         7: .line 147
      StackMap locals: com.sun.tools.javac.file.JavacFileManager com.sun.tools.javac.util.Context int java.nio.charset.Charset
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.setContext:(Lcom/sun/tools/javac/util/Context;)V
         8: .line 148
            return
        end local 3 // java.nio.charset.Charset charset
        end local 2 // boolean register
        end local 1 // com.sun.tools.javac.util.Context context
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    9     1   context  Lcom/sun/tools/javac/util/Context;
            0    9     2  register  Z
            0    9     3   charset  Ljava/nio/charset/Charset;
    MethodParameters:
          Name  Flags
      context   
      register  
      charset   

  public void setContext(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // com.sun.tools.javac.util.Context context
         0: .line 155
            aload 0 /* this */
            aload 1 /* context */
            invokespecial com.sun.tools.javac.file.BaseFileManager.setContext:(Lcom/sun/tools/javac/util/Context;)V
         1: .line 157
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.file.FSInfo.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/file/FSInfo;
            putfield com.sun.tools.javac.file.JavacFileManager.fsInfo:Lcom/sun/tools/javac/file/FSInfo;
         2: .line 159
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.options:Lcom/sun/tools/javac/util/Options;
            ldc "ignore.symbol.file"
            invokevirtual com.sun.tools.javac.util.Options.isSet:(Ljava/lang/String;)Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack: com.sun.tools.javac.file.JavacFileManager
         3: iconst_1
      StackMap locals: com.sun.tools.javac.file.JavacFileManager com.sun.tools.javac.util.Context
      StackMap stack: com.sun.tools.javac.file.JavacFileManager int
         4: putfield com.sun.tools.javac.file.JavacFileManager.symbolFileEnabled:Z
         5: .line 161
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.options:Lcom/sun/tools/javac/util/Options;
            ldc "sortFiles"
            invokevirtual com.sun.tools.javac.util.Options.get:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* sf */
        start local 2 // java.lang.String sf
         6: .line 162
            aload 2 /* sf */
            ifnull 10
         7: .line 163
            aload 0 /* this */
            aload 2 /* sf */
            ldc "reverse"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
            getstatic com.sun.tools.javac.file.JavacFileManager$SortFiles.REVERSE:Lcom/sun/tools/javac/file/JavacFileManager$SortFiles;
            goto 9
      StackMap locals: com.sun.tools.javac.file.JavacFileManager com.sun.tools.javac.util.Context java.lang.String
      StackMap stack: com.sun.tools.javac.file.JavacFileManager
         8: getstatic com.sun.tools.javac.file.JavacFileManager$SortFiles.FORWARD:Lcom/sun/tools/javac/file/JavacFileManager$SortFiles;
      StackMap locals: com.sun.tools.javac.file.JavacFileManager com.sun.tools.javac.util.Context java.lang.String
      StackMap stack: com.sun.tools.javac.file.JavacFileManager com.sun.tools.javac.file.JavacFileManager$SortFiles
         9: putfield com.sun.tools.javac.file.JavacFileManager.sortFiles:Lcom/sun/tools/javac/file/JavacFileManager$SortFiles;
        10: .line 165
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String sf
        end local 1 // com.sun.tools.javac.util.Context context
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lcom/sun/tools/javac/file/JavacFileManager;
            0   11     1  context  Lcom/sun/tools/javac/util/Context;
            6   11     2       sf  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  

  public void setPathFactory(javax.tools.StandardJavaFileManager$PathFactory);
    descriptor: (Ljavax/tools/StandardJavaFileManager$PathFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.StandardJavaFileManager$PathFactory f
         0: .line 169
            aload 0 /* this */
            aload 1 /* f */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.tools.StandardJavaFileManager$PathFactory
            putfield com.sun.tools.javac.file.JavacFileManager.pathFactory:Ljavax/tools/StandardJavaFileManager$PathFactory;
         1: .line 170
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* f */
            invokevirtual com.sun.tools.javac.file.Locations.setPathFactory:(Ljavax/tools/StandardJavaFileManager$PathFactory;)V
         2: .line 171
            return
        end local 1 // javax.tools.StandardJavaFileManager$PathFactory f
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    3     1     f  Ljavax/tools/StandardJavaFileManager$PathFactory;
    MethodParameters:
      Name  Flags
      f     

  private java.nio.file.Path getPath(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // java.lang.String first
        start local 2 // java.lang.String[] more
         0: .line 174
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.pathFactory:Ljavax/tools/StandardJavaFileManager$PathFactory;
            aload 1 /* first */
            aload 2 /* more */
            invokeinterface javax.tools.StandardJavaFileManager$PathFactory.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            areturn
        end local 2 // java.lang.String[] more
        end local 1 // java.lang.String first
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    1     1  first  Ljava/lang/String;
            0    1     2   more  [Ljava/lang/String;
    MethodParameters:
       Name  Flags
      first  
      more   

  public void setSymbolFileEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // boolean b
         0: .line 181
            aload 0 /* this */
            iload 1 /* b */
            putfield com.sun.tools.javac.file.JavacFileManager.symbolFileEnabled:Z
         1: .line 182
            return
        end local 1 // boolean b
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    2     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  public boolean isSymbolFileEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
         0: .line 185
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.symbolFileEnabled:Z
            ireturn
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/JavacFileManager;

  public javax.tools.JavaFileObject getJavaFileObject(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/tools/JavaFileObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // java.lang.String name
         0: .line 190
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* name */
            aastore
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getJavaFileObjects:([Ljava/lang/String;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.tools.JavaFileObject
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public javax.tools.JavaFileObject getJavaFileObject(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljavax/tools/JavaFileObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // java.nio.file.Path file
         0: .line 195
            aload 0 /* this */
            iconst_1
            anewarray java.nio.file.Path
            dup
            iconst_0
            aload 1 /* file */
            aastore
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getJavaFileObjects:([Ljava/nio/file/Path;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.tools.JavaFileObject
            areturn
        end local 1 // java.nio.file.Path file
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    1     1  file  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      file  

  public javax.tools.JavaFileObject getFileForOutput(java.lang.String, javax.tools.JavaFileObject$Kind, javax.tools.JavaFileObject);
    descriptor: (Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // java.lang.String classname
        start local 2 // javax.tools.JavaFileObject$Kind kind
        start local 3 // javax.tools.JavaFileObject sibling
         0: .line 203
            aload 0 /* this */
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            aload 1 /* classname */
            aload 2 /* kind */
            aload 3 /* sibling */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getJavaFileForOutput:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;Ljavax/tools/FileObject;)Ljavax/tools/JavaFileObject;
            areturn
        end local 3 // javax.tools.JavaFileObject sibling
        end local 2 // javax.tools.JavaFileObject$Kind kind
        end local 1 // java.lang.String classname
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    1     1  classname  Ljava/lang/String;
            0    1     2       kind  Ljavax/tools/JavaFileObject$Kind;
            0    1     3    sibling  Ljavax/tools/JavaFileObject;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      classname  
      kind       
      sibling    

  public java.lang.Iterable<? extends javax.tools.JavaFileObject> getJavaFileObjectsFromStrings(java.lang.Iterable<java.lang.String>);
    descriptor: (Ljava/lang/Iterable;)Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // java.lang.Iterable names
         0: .line 208
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 2 /* paths */
        start local 2 // com.sun.tools.javac.util.ListBuffer paths
         1: .line 209
            aload 1 /* names */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: com.sun.tools.javac.file.JavacFileManager java.lang.Iterable com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* name */
        start local 3 // java.lang.String name
         3: .line 210
            aload 2 /* paths */
            aload 0 /* this */
            aload 3 /* name */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            iconst_0
            anewarray java.lang.String
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 3 // java.lang.String name
         4: .line 209
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 211
            aload 0 /* this */
            aload 2 /* paths */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getJavaFileObjectsFromPaths:(Ljava/lang/Iterable;)Ljava/lang/Iterable;
            areturn
        end local 2 // com.sun.tools.javac.util.ListBuffer paths
        end local 1 // java.lang.Iterable names
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    6     1  names  Ljava/lang/Iterable<Ljava/lang/String;>;
            1    6     2  paths  Lcom/sun/tools/javac/util/ListBuffer<Ljava/nio/file/Path;>;
            3    4     3   name  Ljava/lang/String;
    Signature: (Ljava/lang/Iterable<Ljava/lang/String;>;)Ljava/lang/Iterable<+Ljavax/tools/JavaFileObject;>;
    MethodParameters:
       Name  Flags
      names  

  public java.lang.Iterable<? extends javax.tools.JavaFileObject> getJavaFileObjects(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/Iterable;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // java.lang.String[] names
         0: .line 216
            aload 0 /* this */
            aload 1 /* names */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getJavaFileObjectsFromStrings:(Ljava/lang/Iterable;)Ljava/lang/Iterable;
            areturn
        end local 1 // java.lang.String[] names
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    1     1  names  [Ljava/lang/String;
    Signature: ([Ljava/lang/String;)Ljava/lang/Iterable<+Ljavax/tools/JavaFileObject;>;
    MethodParameters:
       Name  Flags
      names  

  private static boolean isValidName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.String name
         0: .line 225
            aload 0 /* name */
            ldc "\\."
            iconst_m1
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: java.lang.String top int int java.lang.String[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* s */
        start local 1 // java.lang.String s
         2: .line 226
            aload 1 /* s */
            invokestatic javax.lang.model.SourceVersion.isIdentifier:(Ljava/lang/CharSequence;)Z
            ifne 4
         3: .line 227
            iconst_0
            ireturn
        end local 1 // java.lang.String s
         4: .line 225
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 229
            iconst_1
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  name  Ljava/lang/String;
            2    4     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private static void validateClassName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String className
         0: .line 233
            aload 0 /* className */
            invokestatic com.sun.tools.javac.file.JavacFileManager.isValidName:(Ljava/lang/String;)Z
            ifne 2
         1: .line 234
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid class name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 235
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  className  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      className  

  private static void validatePackageName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String packageName
         0: .line 238
            aload 0 /* packageName */
            invokevirtual java.lang.String.length:()I
            ifle 2
            aload 0 /* packageName */
            invokestatic com.sun.tools.javac.file.JavacFileManager.isValidName:(Ljava/lang/String;)Z
            ifne 2
         1: .line 239
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid packageName name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* packageName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 240
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String packageName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      packageName  

  public static void testName(java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;ZZ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String name
        start local 1 // boolean isValidPackageName
        start local 2 // boolean isValidClassName
         0: .line 247
            aload 0 /* name */
            invokestatic com.sun.tools.javac.file.JavacFileManager.validatePackageName:(Ljava/lang/String;)V
         1: .line 248
            iload 1 /* isValidPackageName */
            ifne 3
         2: .line 249
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid package name accepted: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 250
      StackMap locals:
      StackMap stack:
            ldc "Valid package name: \"%s\""
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* name */
            aastore
            invokestatic com.sun.tools.javac.file.JavacFileManager.printAscii:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 251
            goto 9
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         5: pop
         6: .line 252
            iload 1 /* isValidPackageName */
            ifeq 8
         7: .line 253
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Valid package name rejected: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 254
      StackMap locals:
      StackMap stack:
            ldc "Invalid package name: \"%s\""
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* name */
            aastore
            invokestatic com.sun.tools.javac.file.JavacFileManager.printAscii:(Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* name */
            invokestatic com.sun.tools.javac.file.JavacFileManager.validateClassName:(Ljava/lang/String;)V
        10: .line 258
            iload 2 /* isValidClassName */
            ifne 12
        11: .line 259
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid class name accepted: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 260
      StackMap locals:
      StackMap stack:
            ldc "Valid class name: \"%s\""
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* name */
            aastore
            invokestatic com.sun.tools.javac.file.JavacFileManager.printAscii:(Ljava/lang/String;[Ljava/lang/Object;)V
        13: .line 261
            goto 18
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        14: pop
        15: .line 262
            iload 2 /* isValidClassName */
            ifeq 17
        16: .line 263
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Valid class name rejected: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        17: .line 264
      StackMap locals:
      StackMap stack:
            ldc "Invalid class name: \"%s\""
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* name */
            aastore
            invokestatic com.sun.tools.javac.file.JavacFileManager.printAscii:(Ljava/lang/String;[Ljava/lang/Object;)V
        18: .line 266
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean isValidClassName
        end local 1 // boolean isValidPackageName
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   19     0                name  Ljava/lang/String;
            0   19     1  isValidPackageName  Z
            0   19     2    isValidClassName  Z
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.IllegalArgumentException
           9    13      14  Class java.lang.IllegalArgumentException
    MethodParameters:
                    Name  Flags
      name                
      isValidPackageName  
      isValidClassName    

  private static void printAscii(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.String format
        start local 1 // java.lang.Object[] args
         0: .line 272
            new java.lang.String
            dup
            aconst_null
            aload 0 /* format */
            aload 1 /* args */
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            ldc "US-ASCII"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            ldc "US-ASCII"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            astore 2 /* message */
        start local 2 // java.lang.String message
         1: .line 273
            goto 4
        end local 2 // java.lang.String message
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
         2: astore 3 /* ex */
        start local 3 // java.io.UnsupportedEncodingException ex
         3: .line 274
            new java.lang.AssertionError
            dup
            aload 3 /* ex */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 3 // java.io.UnsupportedEncodingException ex
        start local 2 // java.lang.String message
         4: .line 276
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 2 /* message */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 277
            return
        end local 2 // java.lang.String message
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.String format
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0   format  Ljava/lang/String;
            0    6     1     args  [Ljava/lang/Object;
            1    2     2  message  Ljava/lang/String;
            4    6     2  message  Ljava/lang/String;
            3    4     3       ex  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.UnsupportedEncodingException
    MethodParameters:
        Name  Flags
      format  
      args    

  synchronized com.sun.tools.javac.file.JavacFileManager$Container getContainer(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Lcom/sun/tools/javac/file/JavacFileManager$Container;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // java.nio.file.Path path
         0: .line 282
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.containers:Ljava/util/Map;
            aload 1 /* path */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.file.JavacFileManager$Container
            astore 2 /* fs */
        start local 2 // com.sun.tools.javac.file.JavacFileManager$Container fs
         1: .line 284
            aload 2 /* fs */
            ifnull 3
         2: .line 285
            aload 2 /* fs */
            areturn
         3: .line 288
      StackMap locals: com.sun.tools.javac.file.JavacFileManager$Container
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.fsInfo:Lcom/sun/tools/javac/file/FSInfo;
            aload 1 /* path */
            invokevirtual com.sun.tools.javac.file.FSInfo.isFile:(Ljava/nio/file/Path;)Z
            ifeq 6
            aload 1 /* path */
            getstatic com.sun.tools.javac.file.Locations.thisSystemModules:Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 289
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.containers:Ljava/util/Map;
            aload 1 /* path */
            new com.sun.tools.javac.file.JavacFileManager$JRTImageContainer
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.file.JavacFileManager$JRTImageContainer.<init>:(Lcom/sun/tools/javac/file/JavacFileManager;)V
            dup
            astore 2 /* fs */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 290
            aload 2 /* fs */
            areturn
         6: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.fsInfo:Lcom/sun/tools/javac/file/FSInfo;
            aload 1 /* path */
            invokevirtual com.sun.tools.javac.file.FSInfo.getCanonicalFile:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            astore 3 /* realPath */
        start local 3 // java.nio.file.Path realPath
         7: .line 295
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.containers:Ljava/util/Map;
            aload 3 /* realPath */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.file.JavacFileManager$Container
            astore 2 /* fs */
         8: .line 297
            aload 2 /* fs */
            ifnull 11
         9: .line 298
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.containers:Ljava/util/Map;
            aload 1 /* path */
            aload 2 /* fs */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 299
            aload 2 /* fs */
            areturn
        11: .line 302
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aconst_null
            astore 4 /* attr */
        start local 4 // java.nio.file.attribute.BasicFileAttributes attr
        12: .line 305
            aload 3 /* realPath */
            ldc Ljava/nio/file/attribute/BasicFileAttributes;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.readAttributes:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
            astore 4 /* attr */
        13: .line 306
            goto 16
      StackMap locals: com.sun.tools.javac.file.JavacFileManager java.nio.file.Path com.sun.tools.javac.file.JavacFileManager$Container java.nio.file.Path java.nio.file.attribute.BasicFileAttributes
      StackMap stack: java.io.IOException
        14: pop
        15: .line 308
            getstatic com.sun.tools.javac.file.JavacFileManager.MISSING_CONTAINER:Lcom/sun/tools/javac/file/JavacFileManager$Container;
            astore 2 /* fs */
        16: .line 311
      StackMap locals:
      StackMap stack:
            aload 4 /* attr */
            ifnull 24
        17: .line 312
            aload 4 /* attr */
            invokeinterface java.nio.file.attribute.BasicFileAttributes.isDirectory:()Z
            ifeq 20
        18: .line 313
            new com.sun.tools.javac.file.JavacFileManager$DirectoryContainer
            dup
            aload 0 /* this */
            aload 3 /* realPath */
            invokespecial com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.<init>:(Lcom/sun/tools/javac/file/JavacFileManager;Ljava/nio/file/Path;)V
            astore 2 /* fs */
        19: .line 314
            goto 24
        20: .line 316
      StackMap locals:
      StackMap stack:
            new com.sun.tools.javac.file.JavacFileManager$ArchiveContainer
            dup
            aload 0 /* this */
            aload 3 /* realPath */
            invokespecial com.sun.tools.javac.file.JavacFileManager$ArchiveContainer.<init>:(Lcom/sun/tools/javac/file/JavacFileManager;Ljava/nio/file/Path;)V
            astore 2 /* fs */
        21: .line 317
            goto 24
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        22: astore 5 /* ex */
        start local 5 // java.lang.RuntimeException ex
        23: .line 318
            new java.io.IOException
            dup
            aload 5 /* ex */
            invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.RuntimeException ex
        24: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.containers:Ljava/util/Map;
            aload 3 /* realPath */
            aload 2 /* fs */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 324
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.containers:Ljava/util/Map;
            aload 1 /* path */
            aload 2 /* fs */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 326
            aload 2 /* fs */
            areturn
        end local 4 // java.nio.file.attribute.BasicFileAttributes attr
        end local 3 // java.nio.file.Path realPath
        end local 2 // com.sun.tools.javac.file.JavacFileManager$Container fs
        end local 1 // java.nio.file.Path path
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0   27     1      path  Ljava/nio/file/Path;
            1   27     2        fs  Lcom/sun/tools/javac/file/JavacFileManager$Container;
            7   27     3  realPath  Ljava/nio/file/Path;
           12   27     4      attr  Ljava/nio/file/attribute/BasicFileAttributes;
           23   24     5        ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
          12    13      14  Class java.io.IOException
          20    21      22  Class java.nio.file.ProviderNotFoundException
          20    21      22  Class java.lang.SecurityException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      path  

  private synchronized com.sun.tools.javac.file.JRTIndex getJRTIndex();
    descriptor: ()Lcom/sun/tools/javac/file/JRTIndex;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
         0: .line 413
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.jrtIndex:Lcom/sun/tools/javac/file/JRTIndex;
            ifnonnull 2
         1: .line 414
            aload 0 /* this */
            invokestatic com.sun.tools.javac.file.JRTIndex.getSharedInstance:()Lcom/sun/tools/javac/file/JRTIndex;
            putfield com.sun.tools.javac.file.JavacFileManager.jrtIndex:Lcom/sun/tools/javac/file/JRTIndex;
         2: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.jrtIndex:Lcom/sun/tools/javac/file/JRTIndex;
            areturn
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/file/JavacFileManager;

  private boolean isValidFile(java.lang.String, java.util.Set<javax.tools.JavaFileObject$Kind>);
    descriptor: (Ljava/lang/String;Ljava/util/Set;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // java.lang.String s
        start local 2 // java.util.Set fileKinds
         0: .line 611
            aload 1 /* s */
            invokestatic com.sun.tools.javac.file.JavacFileManager.getKind:(Ljava/lang/String;)Ljavax/tools/JavaFileObject$Kind;
            astore 3 /* kind */
        start local 3 // javax.tools.JavaFileObject$Kind kind
         1: .line 612
            aload 2 /* fileKinds */
            aload 3 /* kind */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 3 // javax.tools.JavaFileObject$Kind kind
        end local 2 // java.util.Set fileKinds
        end local 1 // java.lang.String s
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    2     1          s  Ljava/lang/String;
            0    2     2  fileKinds  Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;
            1    2     3       kind  Ljavax/tools/JavaFileObject$Kind;
    Signature: (Ljava/lang/String;Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;)Z
    MethodParameters:
           Name  Flags
      s          
      fileKinds  

  private boolean caseMapCheck(java.nio.file.Path, com.sun.tools.javac.file.RelativePath);
    descriptor: (Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // java.nio.file.Path f
        start local 2 // com.sun.tools.javac.file.RelativePath name
         0: .line 623
            getstatic com.sun.tools.javac.file.JavacFileManager.fileSystemIsCaseSensitive:Z
            ifeq 1
            iconst_1
            ireturn
         1: .line 629
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            iconst_1
            anewarray java.nio.file.LinkOption
            dup
            iconst_0
            getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
            aastore
            invokeinterface java.nio.file.Path.toRealPath:([Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            astore 3 /* path */
        start local 3 // java.lang.String path
         2: .line 630
            aload 1 /* f */
            invokeinterface java.nio.file.Path.getFileSystem:()Ljava/nio/file/FileSystem;
            invokevirtual java.nio.file.FileSystem.getSeparator:()Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* sep */
        start local 4 // char sep
         3: .line 631
            goto 6
        end local 4 // char sep
        end local 3 // java.lang.String path
      StackMap locals:
      StackMap stack: java.io.IOException
         4: pop
         5: .line 632
            iconst_0
            ireturn
        start local 3 // java.lang.String path
        start local 4 // char sep
         6: .line 634
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 3 /* path */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 5 /* pcs */
        start local 5 // char[] pcs
         7: .line 635
            aload 2 /* name */
            getfield com.sun.tools.javac.file.RelativePath.path:Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            astore 6 /* ncs */
        start local 6 // char[] ncs
         8: .line 636
            aload 5 /* pcs */
            arraylength
            iconst_1
            isub
            istore 7 /* i */
        start local 7 // int i
         9: .line 637
            aload 6 /* ncs */
            arraylength
            iconst_1
            isub
            istore 8 /* j */
        start local 8 // int j
        10: .line 638
            goto 20
        11: .line 639
      StackMap locals: com.sun.tools.javac.file.JavacFileManager java.nio.file.Path com.sun.tools.javac.file.RelativePath java.lang.String int char[] char[] int int
      StackMap stack:
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        12: iload 7 /* i */
            iflt 15
            aload 5 /* pcs */
            iload 7 /* i */
            caload
            iload 4 /* sep */
            if_icmpeq 11
        13: .line 640
            goto 15
      StackMap locals:
      StackMap stack:
        14: iinc 8 /* j */ -1
      StackMap locals:
      StackMap stack:
        15: iload 8 /* j */
            iflt 16
            aload 6 /* ncs */
            iload 8 /* j */
            caload
            bipush 47
            if_icmpeq 14
        16: .line 641
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            iflt 20
            iload 8 /* j */
            iflt 20
        17: .line 642
            aload 5 /* pcs */
            iload 7 /* i */
            caload
            aload 6 /* ncs */
            iload 8 /* j */
            caload
            if_icmpeq 18
            iconst_0
            ireturn
        18: .line 643
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ -1
        19: .line 644
            iinc 8 /* j */ -1
        20: .line 638
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            iflt 21
            iload 8 /* j */
            ifge 12
        21: .line 647
      StackMap locals:
      StackMap stack:
            iload 8 /* j */
            ifge 22
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        22: iconst_0
            ireturn
        end local 8 // int j
        end local 7 // int i
        end local 6 // char[] ncs
        end local 5 // char[] pcs
        end local 4 // char sep
        end local 3 // java.lang.String path
        end local 2 // com.sun.tools.javac.file.RelativePath name
        end local 1 // java.nio.file.Path f
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Lcom/sun/tools/javac/file/JavacFileManager;
            0   23     1     f  Ljava/nio/file/Path;
            0   23     2  name  Lcom/sun/tools/javac/file/RelativePath;
            2    4     3  path  Ljava/lang/String;
            6   23     3  path  Ljava/lang/String;
            3    4     4   sep  C
            6   23     4   sep  C
            7   23     5   pcs  [C
            8   23     6   ncs  [C
            9   23     7     i  I
           10   23     8     j  I
      Exception table:
        from    to  target  type
           1     3       4  Class java.io.IOException
    MethodParameters:
      Name  Flags
      f     
      name  

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
         0: .line 654
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.contentCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         1: .line 655
            return
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/file/JavacFileManager;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
         0: .line 662
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.deferredCloseTimeout:J
            lconst_0
            lcmp
            ifle 3
         1: .line 663
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.deferredClose:()V
         2: .line 664
            return
         3: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            invokevirtual com.sun.tools.javac.file.Locations.close:()V
         4: .line 668
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.containers:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 7
      StackMap locals: com.sun.tools.javac.file.JavacFileManager top java.util.Iterator
      StackMap stack:
         5: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.file.JavacFileManager$Container
            astore 1 /* container */
        start local 1 // com.sun.tools.javac.file.JavacFileManager$Container container
         6: .line 669
            aload 1 /* container */
            invokeinterface com.sun.tools.javac.file.JavacFileManager$Container.close:()V
        end local 1 // com.sun.tools.javac.file.JavacFileManager$Container container
         7: .line 668
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 671
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.containers:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         9: .line 672
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.contentCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        10: .line 673
            return
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lcom/sun/tools/javac/file/JavacFileManager;
            6    7     1  container  Lcom/sun/tools/javac/file/JavacFileManager$Container;
    Exceptions:
      throws java.io.IOException

  public java.lang.ClassLoader getClassLoader(javax.tools.JavaFileManager$Location);
    descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/ClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
         0: .line 677
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.checkNotModuleOrientedLocation:(Ljavax/tools/JavaFileManager$Location;)V
         1: .line 678
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getLocation:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
            astore 2 /* path */
        start local 2 // java.lang.Iterable path
         2: .line 679
            aload 2 /* path */
            ifnonnull 4
         3: .line 680
            aconst_null
            areturn
         4: .line 681
      StackMap locals: java.lang.Iterable
      StackMap stack:
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 3 /* lb */
        start local 3 // com.sun.tools.javac.util.ListBuffer lb
         5: .line 682
            aload 2 /* path */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: com.sun.tools.javac.file.JavacFileManager javax.tools.JavaFileManager$Location java.lang.Iterable com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 4 /* f */
        start local 4 // java.io.File f
         7: .line 684
            aload 3 /* lb */
            aload 4 /* f */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
         8: .line 685
            goto 11
      StackMap locals: com.sun.tools.javac.file.JavacFileManager javax.tools.JavaFileManager$Location java.lang.Iterable com.sun.tools.javac.util.ListBuffer java.io.File java.util.Iterator
      StackMap stack: java.net.MalformedURLException
         9: astore 6 /* e */
        start local 6 // java.net.MalformedURLException e
        10: .line 686
            new java.lang.AssertionError
            dup
            aload 6 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 6 // java.net.MalformedURLException e
        end local 4 // java.io.File f
        11: .line 682
      StackMap locals: com.sun.tools.javac.file.JavacFileManager javax.tools.JavaFileManager$Location java.lang.Iterable com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        12: .line 690
            aload 0 /* this */
            aload 3 /* lb */
            aload 3 /* lb */
            invokevirtual com.sun.tools.javac.util.ListBuffer.size:()I
            anewarray java.net.URL
            invokevirtual com.sun.tools.javac.util.ListBuffer.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.net.URL[]
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getClassLoader:([Ljava/net/URL;)Ljava/lang/ClassLoader;
            areturn
        end local 3 // com.sun.tools.javac.util.ListBuffer lb
        end local 2 // java.lang.Iterable path
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0   13     1  location  Ljavax/tools/JavaFileManager$Location;
            2   13     2      path  Ljava/lang/Iterable<+Ljava/io/File;>;
            5   13     3        lb  Lcom/sun/tools/javac/util/ListBuffer<Ljava/net/URL;>;
            7   11     4         f  Ljava/io/File;
           10   11     6         e  Ljava/net/MalformedURLException;
      Exception table:
        from    to  target  type
           7     8       9  Class java.net.MalformedURLException
    MethodParameters:
          Name  Flags
      location  

  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=6, locals=11, args_size=5
        start local 0 // com.sun.tools.javac.file.JavacFileManager 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 700
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.checkNotModuleOrientedLocation:(Ljavax/tools/JavaFileManager$Location;)V
         1: .line 702
            aload 2 /* packageName */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 703
            aload 3 /* kinds */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/util/Collection;)Ljava/util/Collection;
            pop
         3: .line 705
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getLocationAsPaths:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
            astore 5 /* path */
        start local 5 // java.lang.Iterable path
         4: .line 706
            aload 5 /* path */
            ifnonnull 6
         5: .line 707
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            areturn
         6: .line 708
      StackMap locals: java.lang.Iterable
      StackMap stack:
            aload 2 /* packageName */
            invokestatic com.sun.tools.javac.file.RelativePath$RelativeDirectory.forPackage:(Ljava/lang/CharSequence;)Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;
            astore 6 /* subdirectory */
        start local 6 // com.sun.tools.javac.file.RelativePath$RelativeDirectory subdirectory
         7: .line 709
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 7 /* results */
        start local 7 // com.sun.tools.javac.util.ListBuffer results
         8: .line 711
            aload 5 /* path */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 9
            goto 12
      StackMap locals: com.sun.tools.javac.file.JavacFileManager javax.tools.JavaFileManager$Location java.lang.String java.util.Set int java.lang.Iterable com.sun.tools.javac.file.RelativePath$RelativeDirectory com.sun.tools.javac.util.ListBuffer top java.util.Iterator
      StackMap stack:
         9: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 8 /* directory */
        start local 8 // java.nio.file.Path directory
        10: .line 712
            aload 0 /* this */
            aload 8 /* directory */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getContainer:(Ljava/nio/file/Path;)Lcom/sun/tools/javac/file/JavacFileManager$Container;
            astore 10 /* container */
        start local 10 // com.sun.tools.javac.file.JavacFileManager$Container container
        11: .line 714
            aload 10 /* container */
            aload 8 /* directory */
            aload 6 /* subdirectory */
            aload 3 /* kinds */
            iload 4 /* recurse */
            aload 7 /* results */
            invokeinterface com.sun.tools.javac.file.JavacFileManager$Container.list:(Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;Ljava/util/Set;ZLcom/sun/tools/javac/util/ListBuffer;)V
        end local 10 // com.sun.tools.javac.file.JavacFileManager$Container container
        end local 8 // java.nio.file.Path directory
        12: .line 711
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 717
            aload 7 /* results */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            areturn
        end local 7 // com.sun.tools.javac.util.ListBuffer results
        end local 6 // com.sun.tools.javac.file.RelativePath$RelativeDirectory subdirectory
        end local 5 // java.lang.Iterable path
        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.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lcom/sun/tools/javac/file/JavacFileManager;
            0   14     1      location  Ljavax/tools/JavaFileManager$Location;
            0   14     2   packageName  Ljava/lang/String;
            0   14     3         kinds  Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;
            0   14     4       recurse  Z
            4   14     5          path  Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
            7   14     6  subdirectory  Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;
            8   14     7       results  Lcom/sun/tools/javac/util/ListBuffer<Ljavax/tools/JavaFileObject;>;
           10   12     8     directory  Ljava/nio/file/Path;
           11   12    10     container  Lcom/sun/tools/javac/file/JavacFileManager$Container;
    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=4, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // javax.tools.JavaFileObject file
         0: .line 722
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.checkNotModuleOrientedLocation:(Ljavax/tools/JavaFileManager$Location;)V
         1: .line 723
            aload 2 /* file */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 725
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getLocationAsPaths:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
            astore 3 /* path */
        start local 3 // java.lang.Iterable path
         3: .line 726
            aload 3 /* path */
            ifnonnull 5
         4: .line 727
            aconst_null
            areturn
         5: .line 730
      StackMap locals: java.lang.Iterable
      StackMap stack:
            aload 2 /* file */
            instanceof com.sun.tools.javac.file.PathFileObject
            ifeq 7
         6: .line 731
            aload 2 /* file */
            checkcast com.sun.tools.javac.file.PathFileObject
            aload 3 /* path */
            invokevirtual com.sun.tools.javac.file.PathFileObject.inferBinaryName:(Ljava/lang/Iterable;)Ljava/lang/String;
            areturn
         7: .line 733
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* file */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Iterable path
        end local 2 // javax.tools.JavaFileObject file
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    8     1  location  Ljavax/tools/JavaFileManager$Location;
            0    8     2      file  Ljavax/tools/JavaFileObject;
            3    8     3      path  Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
    MethodParameters:
          Name  Flags
      location  
      file      

  public boolean isSameFile(javax.tools.FileObject, javax.tools.FileObject);
    descriptor: (Ljavax/tools/FileObject;Ljavax/tools/FileObject;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.FileObject a
        start local 2 // javax.tools.FileObject b
         0: .line 738
            aload 1 /* a */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 739
            aload 2 /* b */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 740
            aload 1 /* a */
            instanceof com.sun.tools.javac.file.PathFileObject
            ifeq 4
            aload 2 /* b */
            instanceof com.sun.tools.javac.file.PathFileObject
            ifeq 4
         3: .line 741
            aload 1 /* a */
            checkcast com.sun.tools.javac.file.PathFileObject
            aload 2 /* b */
            checkcast com.sun.tools.javac.file.PathFileObject
            invokevirtual com.sun.tools.javac.file.PathFileObject.isSameFile:(Lcom/sun/tools/javac/file/PathFileObject;)Z
            ireturn
         4: .line 742
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // javax.tools.FileObject b
        end local 1 // javax.tools.FileObject a
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    5     1     a  Ljavax/tools/FileObject;
            0    5     2     b  Ljavax/tools/FileObject;
    MethodParameters:
      Name  Flags
      a     
      b     

  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.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
         0: .line 747
            aload 1 /* location */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 748
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.Locations.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            ireturn
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    2     1  location  Ljavax/tools/JavaFileManager$Location;
    MethodParameters:
          Name  Flags
      location  

  protected boolean hasExplicitLocation(javax.tools.JavaFileManager$Location);
    descriptor: (Ljavax/tools/JavaFileManager$Location;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
         0: .line 752
            aload 1 /* location */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 753
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.Locations.hasExplicitLocation:(Ljavax/tools/JavaFileManager$Location;)Z
            ireturn
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    2     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=5, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.file.JavacFileManager 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 762
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.checkNotModuleOrientedLocation:(Ljavax/tools/JavaFileManager$Location;)V
         1: .line 764
            aload 2 /* className */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 765
            aload 3 /* kind */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 766
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.sourceOrClass:Ljava/util/Set;
            aload 3 /* kind */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 767
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid kind: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* kind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 768
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* location */
            aload 2 /* className */
            aload 3 /* kind */
            invokestatic com.sun.tools.javac.file.RelativePath$RelativeFile.forClass:(Ljava/lang/CharSequence;Ljavax/tools/JavaFileObject$Kind;)Lcom/sun/tools/javac/file/RelativePath$RelativeFile;
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getFileForInput:(Ljavax/tools/JavaFileManager$Location;Lcom/sun/tools/javac/file/RelativePath$RelativeFile;)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.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    6     1   location  Ljavax/tools/JavaFileManager$Location;
            0    6     2  className  Ljava/lang/String;
            0    6     3       kind  Ljavax/tools/JavaFileObject$Kind;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      location   
      className  
      kind       

  public javax.tools.FileObject getFileForInput(javax.tools.JavaFileManager$Location, java.lang.String, java.lang.String);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/lang/String;)Ljavax/tools/FileObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // java.lang.String packageName
        start local 3 // java.lang.String relativeName
         0: .line 777
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.checkNotModuleOrientedLocation:(Ljavax/tools/JavaFileManager$Location;)V
         1: .line 779
            aload 2 /* packageName */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 780
            aload 3 /* relativeName */
            invokestatic com.sun.tools.javac.file.JavacFileManager.isRelativeUri:(Ljava/lang/String;)Z
            ifne 4
         3: .line 781
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid relative name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* relativeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 782
      StackMap locals:
      StackMap stack:
            aload 2 /* packageName */
            invokevirtual java.lang.String.length:()I
            ifne 6
         5: .line 783
            new com.sun.tools.javac.file.RelativePath$RelativeFile
            dup
            aload 3 /* relativeName */
            invokespecial com.sun.tools.javac.file.RelativePath$RelativeFile.<init>:(Ljava/lang/String;)V
            goto 7
         6: .line 784
      StackMap locals:
      StackMap stack:
            new com.sun.tools.javac.file.RelativePath$RelativeFile
            dup
            aload 2 /* packageName */
            invokestatic com.sun.tools.javac.file.RelativePath$RelativeDirectory.forPackage:(Ljava/lang/CharSequence;)Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;
            aload 3 /* relativeName */
            invokespecial com.sun.tools.javac.file.RelativePath$RelativeFile.<init>:(Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;Ljava/lang/String;)V
         7: .line 782
      StackMap locals:
      StackMap stack: com.sun.tools.javac.file.RelativePath$RelativeFile
            astore 4 /* name */
        start local 4 // com.sun.tools.javac.file.RelativePath$RelativeFile name
         8: .line 785
            aload 0 /* this */
            aload 1 /* location */
            aload 4 /* name */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getFileForInput:(Ljavax/tools/JavaFileManager$Location;Lcom/sun/tools/javac/file/RelativePath$RelativeFile;)Ljavax/tools/JavaFileObject;
            areturn
        end local 4 // com.sun.tools.javac.file.RelativePath$RelativeFile name
        end local 3 // java.lang.String relativeName
        end local 2 // java.lang.String packageName
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    9     1      location  Ljavax/tools/JavaFileManager$Location;
            0    9     2   packageName  Ljava/lang/String;
            0    9     3  relativeName  Ljava/lang/String;
            8    9     4          name  Lcom/sun/tools/javac/file/RelativePath$RelativeFile;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      location      
      packageName   
      relativeName  

  private javax.tools.JavaFileObject getFileForInput(javax.tools.JavaFileManager$Location, com.sun.tools.javac.file.RelativePath$RelativeFile);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Lcom/sun/tools/javac/file/RelativePath$RelativeFile;)Ljavax/tools/JavaFileObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // com.sun.tools.javac.file.RelativePath$RelativeFile name
         0: .line 789
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getLocationAsPaths:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
            astore 3 /* path */
        start local 3 // java.lang.Iterable path
         1: .line 790
            aload 3 /* path */
            ifnonnull 3
         2: .line 791
            aconst_null
            areturn
         3: .line 793
      StackMap locals: java.lang.Iterable
      StackMap stack:
            aload 3 /* path */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: com.sun.tools.javac.file.JavacFileManager javax.tools.JavaFileManager$Location com.sun.tools.javac.file.RelativePath$RelativeFile java.lang.Iterable top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 4 /* file */
        start local 4 // java.nio.file.Path file
         5: .line 794
            aload 0 /* this */
            aload 4 /* file */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getContainer:(Ljava/nio/file/Path;)Lcom/sun/tools/javac/file/JavacFileManager$Container;
            aload 4 /* file */
            aload 2 /* name */
            invokeinterface com.sun.tools.javac.file.JavacFileManager$Container.getFileObject:(Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath$RelativeFile;)Ljavax/tools/JavaFileObject;
            astore 6 /* fo */
        start local 6 // javax.tools.JavaFileObject fo
         6: .line 796
            aload 6 /* fo */
            ifnull 8
         7: .line 797
            aload 6 /* fo */
            areturn
        end local 6 // javax.tools.JavaFileObject fo
        end local 4 // java.nio.file.Path file
         8: .line 793
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 800
            aconst_null
            areturn
        end local 3 // java.lang.Iterable path
        end local 2 // com.sun.tools.javac.file.RelativePath$RelativeFile name
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0   10     1  location  Ljavax/tools/JavaFileManager$Location;
            0   10     2      name  Lcom/sun/tools/javac/file/RelativePath$RelativeFile;
            1   10     3      path  Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
            5    8     4      file  Ljava/nio/file/Path;
            6    8     6        fo  Ljavax/tools/JavaFileObject;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      location  
      name      

  public javax.tools.JavaFileObject getJavaFileForOutput(javax.tools.JavaFileManager$Location, java.lang.String, javax.tools.JavaFileObject$Kind, javax.tools.FileObject);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;Ljavax/tools/FileObject;)Ljavax/tools/JavaFileObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // java.lang.String className
        start local 3 // javax.tools.JavaFileObject$Kind kind
        start local 4 // javax.tools.FileObject sibling
         0: .line 810
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.checkOutputLocation:(Ljavax/tools/JavaFileManager$Location;)V
         1: .line 812
            aload 2 /* className */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 813
            aload 3 /* kind */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 814
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.sourceOrClass:Ljava/util/Set;
            aload 3 /* kind */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 815
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid kind: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* kind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 816
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* location */
            aload 2 /* className */
            aload 3 /* kind */
            invokestatic com.sun.tools.javac.file.RelativePath$RelativeFile.forClass:(Ljava/lang/CharSequence;Ljavax/tools/JavaFileObject$Kind;)Lcom/sun/tools/javac/file/RelativePath$RelativeFile;
            aload 4 /* sibling */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getFileForOutput:(Ljavax/tools/JavaFileManager$Location;Lcom/sun/tools/javac/file/RelativePath$RelativeFile;Ljavax/tools/FileObject;)Ljavax/tools/JavaFileObject;
            areturn
        end local 4 // javax.tools.FileObject sibling
        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.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    6     1   location  Ljavax/tools/JavaFileManager$Location;
            0    6     2  className  Ljava/lang/String;
            0    6     3       kind  Ljavax/tools/JavaFileObject$Kind;
            0    6     4    sibling  Ljavax/tools/FileObject;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      location   
      className  
      kind       
      sibling    

  public javax.tools.FileObject getFileForOutput(javax.tools.JavaFileManager$Location, java.lang.String, java.lang.String, javax.tools.FileObject);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/lang/String;Ljavax/tools/FileObject;)Ljavax/tools/FileObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // java.lang.String packageName
        start local 3 // java.lang.String relativeName
        start local 4 // javax.tools.FileObject sibling
         0: .line 826
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.checkOutputLocation:(Ljavax/tools/JavaFileManager$Location;)V
         1: .line 828
            aload 2 /* packageName */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 829
            aload 3 /* relativeName */
            invokestatic com.sun.tools.javac.file.JavacFileManager.isRelativeUri:(Ljava/lang/String;)Z
            ifne 4
         3: .line 830
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid relative name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* relativeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 831
      StackMap locals:
      StackMap stack:
            aload 2 /* packageName */
            invokevirtual java.lang.String.length:()I
            ifne 6
         5: .line 832
            new com.sun.tools.javac.file.RelativePath$RelativeFile
            dup
            aload 3 /* relativeName */
            invokespecial com.sun.tools.javac.file.RelativePath$RelativeFile.<init>:(Ljava/lang/String;)V
            goto 7
         6: .line 833
      StackMap locals:
      StackMap stack:
            new com.sun.tools.javac.file.RelativePath$RelativeFile
            dup
            aload 2 /* packageName */
            invokestatic com.sun.tools.javac.file.RelativePath$RelativeDirectory.forPackage:(Ljava/lang/CharSequence;)Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;
            aload 3 /* relativeName */
            invokespecial com.sun.tools.javac.file.RelativePath$RelativeFile.<init>:(Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;Ljava/lang/String;)V
         7: .line 831
      StackMap locals:
      StackMap stack: com.sun.tools.javac.file.RelativePath$RelativeFile
            astore 5 /* name */
        start local 5 // com.sun.tools.javac.file.RelativePath$RelativeFile name
         8: .line 834
            aload 0 /* this */
            aload 1 /* location */
            aload 5 /* name */
            aload 4 /* sibling */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getFileForOutput:(Ljavax/tools/JavaFileManager$Location;Lcom/sun/tools/javac/file/RelativePath$RelativeFile;Ljavax/tools/FileObject;)Ljavax/tools/JavaFileObject;
            areturn
        end local 5 // com.sun.tools.javac.file.RelativePath$RelativeFile name
        end local 4 // javax.tools.FileObject sibling
        end local 3 // java.lang.String relativeName
        end local 2 // java.lang.String packageName
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    9     1      location  Ljavax/tools/JavaFileManager$Location;
            0    9     2   packageName  Ljava/lang/String;
            0    9     3  relativeName  Ljava/lang/String;
            0    9     4       sibling  Ljavax/tools/FileObject;
            8    9     5          name  Lcom/sun/tools/javac/file/RelativePath$RelativeFile;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      location      
      packageName   
      relativeName  
      sibling       

  private javax.tools.JavaFileObject getFileForOutput(javax.tools.JavaFileManager$Location, com.sun.tools.javac.file.RelativePath$RelativeFile, javax.tools.FileObject);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Lcom/sun/tools/javac/file/RelativePath$RelativeFile;Ljavax/tools/FileObject;)Ljavax/tools/JavaFileObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // com.sun.tools.javac.file.RelativePath$RelativeFile fileName
        start local 3 // javax.tools.FileObject sibling
         0: .line 843
            aload 1 /* location */
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            if_acmpne 10
         1: .line 844
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getClassOutDir:()Ljava/nio/file/Path;
            ifnull 4
         2: .line 845
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getClassOutDir:()Ljava/nio/file/Path;
            astore 4 /* dir */
        start local 4 // java.nio.file.Path dir
         3: .line 846
            goto 19
        end local 4 // java.nio.file.Path dir
         4: .line 847
      StackMap locals:
      StackMap stack:
            aload 2 /* fileName */
            invokevirtual com.sun.tools.javac.file.RelativePath$RelativeFile.basename:()Ljava/lang/String;
            astore 5 /* baseName */
        start local 5 // java.lang.String baseName
         5: .line 848
            aload 3 /* sibling */
            ifnull 7
            aload 3 /* sibling */
            instanceof com.sun.tools.javac.file.PathFileObject
            ifeq 7
         6: .line 849
            aload 3 /* sibling */
            checkcast com.sun.tools.javac.file.PathFileObject
            aload 5 /* baseName */
            invokevirtual com.sun.tools.javac.file.PathFileObject.getSibling:(Ljava/lang/String;)Lcom/sun/tools/javac/file/PathFileObject;
            areturn
         7: .line 851
      StackMap locals: com.sun.tools.javac.file.JavacFileManager javax.tools.JavaFileManager$Location com.sun.tools.javac.file.RelativePath$RelativeFile javax.tools.FileObject top java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 5 /* baseName */
            iconst_0
            anewarray java.lang.String
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 6 /* p */
        start local 6 // java.nio.file.Path p
         8: .line 852
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.fsInfo:Lcom/sun/tools/javac/file/FSInfo;
            aload 6 /* p */
            invokevirtual com.sun.tools.javac.file.FSInfo.getCanonicalFile:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            astore 7 /* real */
        start local 7 // java.nio.file.Path real
         9: .line 853
            aload 0 /* this */
            aload 7 /* real */
            aload 6 /* p */
            invokestatic com.sun.tools.javac.file.PathFileObject.forSimplePath:(Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;Ljava/nio/file/Path;)Lcom/sun/tools/javac/file/PathFileObject;
            areturn
        end local 7 // java.nio.file.Path real
        end local 6 // java.nio.file.Path p
        end local 5 // java.lang.String baseName
        10: .line 856
      StackMap locals: com.sun.tools.javac.file.JavacFileManager javax.tools.JavaFileManager$Location com.sun.tools.javac.file.RelativePath$RelativeFile javax.tools.FileObject
      StackMap stack:
            aload 1 /* location */
            getstatic javax.tools.StandardLocation.SOURCE_OUTPUT:Ljavax/tools/StandardLocation;
            if_acmpne 15
        11: .line 857
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getSourceOutDir:()Ljava/nio/file/Path;
            ifnull 12
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getSourceOutDir:()Ljava/nio/file/Path;
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getClassOutDir:()Ljava/nio/file/Path;
      StackMap locals:
      StackMap stack: java.nio.file.Path
        13: astore 4 /* dir */
        start local 4 // java.nio.file.Path dir
        14: .line 858
            goto 19
        end local 4 // java.nio.file.Path dir
        15: .line 859
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.Locations.getLocation:(Ljavax/tools/JavaFileManager$Location;)Ljava/util/Collection;
            astore 5 /* path */
        start local 5 // java.lang.Iterable path
        16: .line 860
            aconst_null
            astore 4 /* dir */
        start local 4 // java.nio.file.Path dir
        17: .line 861
            aload 5 /* path */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 7
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 19
            aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 6 /* f */
        start local 6 // java.nio.file.Path f
        18: .line 862
            aload 6 /* f */
            astore 4 /* dir */
        end local 6 // java.nio.file.Path f
        end local 5 // java.lang.Iterable path
        19: .line 868
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 4 /* dir */
            ifnonnull 21
        20: .line 869
            aload 0 /* this */
            ldc "user.dir"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 4 /* dir */
        21: .line 871
      StackMap locals:
      StackMap stack:
            aload 2 /* fileName */
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.fsInfo:Lcom/sun/tools/javac/file/FSInfo;
            aload 4 /* dir */
            invokevirtual com.sun.tools.javac.file.FSInfo.getCanonicalFile:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokevirtual com.sun.tools.javac.file.RelativePath$RelativeFile.resolveAgainst:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            astore 5 /* path */
        start local 5 // java.nio.file.Path path
        22: .line 872
            aload 0 /* this */
            aload 5 /* path */
            aload 4 /* dir */
            aload 2 /* fileName */
            invokestatic com.sun.tools.javac.file.PathFileObject.forDirectoryPath:(Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath;)Lcom/sun/tools/javac/file/PathFileObject;
        23: areturn
        end local 5 // java.nio.file.Path path
        24: .line 873
      StackMap locals:
      StackMap stack: java.nio.file.InvalidPathException
            astore 5 /* e */
        start local 5 // java.nio.file.InvalidPathException e
        25: .line 874
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "bad filename "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.nio.file.InvalidPathException e
        end local 4 // java.nio.file.Path dir
        end local 3 // javax.tools.FileObject sibling
        end local 2 // com.sun.tools.javac.file.RelativePath$RelativeFile fileName
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0   26     1  location  Ljavax/tools/JavaFileManager$Location;
            0   26     2  fileName  Lcom/sun/tools/javac/file/RelativePath$RelativeFile;
            0   26     3   sibling  Ljavax/tools/FileObject;
            3    4     4       dir  Ljava/nio/file/Path;
           14   15     4       dir  Ljava/nio/file/Path;
           17   26     4       dir  Ljava/nio/file/Path;
            5   10     5  baseName  Ljava/lang/String;
            8   10     6         p  Ljava/nio/file/Path;
            9   10     7      real  Ljava/nio/file/Path;
           16   19     5      path  Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
           18   19     6         f  Ljava/nio/file/Path;
           22   24     5      path  Ljava/nio/file/Path;
           25   26     5         e  Ljava/nio/file/InvalidPathException;
      Exception table:
        from    to  target  type
          19    23      24  Class java.nio.file.InvalidPathException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      location  
      fileName  
      sibling   

  public java.lang.Iterable<? extends javax.tools.JavaFileObject> getJavaFileObjectsFromFiles(java.lang.Iterable<? extends java.io.File>);
    descriptor: (Ljava/lang/Iterable;)Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // java.lang.Iterable files
         0: .line 883
            aload 1 /* files */
            instanceof java.util.Collection
            ifeq 3
         1: .line 884
            new java.util.ArrayList
            dup
            aload 1 /* files */
            checkcast java.util.Collection
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         2: goto 4
        end local 2 // java.util.ArrayList result
         3: .line 886
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         4: .line 887
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 1 /* files */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: com.sun.tools.javac.file.JavacFileManager java.lang.Iterable java.util.ArrayList top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 3 /* f */
        start local 3 // java.io.File f
         6: .line 888
            aload 3 /* f */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 889
            aload 3 /* f */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            astore 5 /* p */
        start local 5 // java.nio.file.Path p
         8: .line 890
            aload 2 /* result */
            aload 0 /* this */
         9: .line 891
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.fsInfo:Lcom/sun/tools/javac/file/FSInfo;
            aload 5 /* p */
            invokevirtual com.sun.tools.javac.file.FSInfo.getCanonicalFile:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 5 /* p */
        10: .line 890
            invokestatic com.sun.tools.javac.file.PathFileObject.forSimplePath:(Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;Ljava/nio/file/Path;)Lcom/sun/tools/javac/file/PathFileObject;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.nio.file.Path p
        end local 3 // java.io.File f
        11: .line 887
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        12: .line 893
            aload 2 /* result */
            areturn
        end local 2 // java.util.ArrayList result
        end local 1 // java.lang.Iterable files
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lcom/sun/tools/javac/file/JavacFileManager;
            0   13     1   files  Ljava/lang/Iterable<+Ljava/io/File;>;
            2    3     2  result  Ljava/util/ArrayList<Lcom/sun/tools/javac/file/PathFileObject;>;
            4   13     2  result  Ljava/util/ArrayList<Lcom/sun/tools/javac/file/PathFileObject;>;
            6   11     3       f  Ljava/io/File;
            8   11     5       p  Ljava/nio/file/Path;
    Signature: (Ljava/lang/Iterable<+Ljava/io/File;>;)Ljava/lang/Iterable<+Ljavax/tools/JavaFileObject;>;
    MethodParameters:
       Name  Flags
      files  

  public java.lang.Iterable<? extends javax.tools.JavaFileObject> getJavaFileObjectsFromPaths(java.lang.Iterable<? extends java.nio.file.Path>);
    descriptor: (Ljava/lang/Iterable;)Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // java.lang.Iterable paths
         0: .line 901
            aload 1 /* paths */
            instanceof java.util.Collection
            ifeq 3
         1: .line 902
            new java.util.ArrayList
            dup
            aload 1 /* paths */
            checkcast java.util.Collection
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         2: goto 4
        end local 2 // java.util.ArrayList result
         3: .line 904
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         4: .line 905
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 1 /* paths */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: com.sun.tools.javac.file.JavacFileManager java.lang.Iterable java.util.ArrayList top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 3 /* p */
        start local 3 // java.nio.file.Path p
         6: .line 906
            aload 2 /* result */
            aload 0 /* this */
         7: .line 907
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.fsInfo:Lcom/sun/tools/javac/file/FSInfo;
            aload 3 /* p */
            invokevirtual com.sun.tools.javac.file.FSInfo.getCanonicalFile:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            aload 3 /* p */
         8: .line 906
            invokestatic com.sun.tools.javac.file.PathFileObject.forSimplePath:(Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;Ljava/nio/file/Path;)Lcom/sun/tools/javac/file/PathFileObject;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.nio.file.Path p
         9: .line 905
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 908
            aload 2 /* result */
            areturn
        end local 2 // java.util.ArrayList result
        end local 1 // java.lang.Iterable paths
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/sun/tools/javac/file/JavacFileManager;
            0   11     1   paths  Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
            2    3     2  result  Ljava/util/ArrayList<Lcom/sun/tools/javac/file/PathFileObject;>;
            4   11     2  result  Ljava/util/ArrayList<Lcom/sun/tools/javac/file/PathFileObject;>;
            6    9     3       p  Ljava/nio/file/Path;
    Signature: (Ljava/lang/Iterable<+Ljava/nio/file/Path;>;)Ljava/lang/Iterable<+Ljavax/tools/JavaFileObject;>;
    MethodParameters:
       Name  Flags
      paths  

  public java.lang.Iterable<? extends javax.tools.JavaFileObject> getJavaFileObjects(java.io.File[]);
    descriptor: ([Ljava/io/File;)Ljava/lang/Iterable;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // java.io.File[] files
         0: .line 913
            aload 0 /* this */
            aload 1 /* files */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.File[]
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getJavaFileObjectsFromFiles:(Ljava/lang/Iterable;)Ljava/lang/Iterable;
            areturn
        end local 1 // java.io.File[] files
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    1     1  files  [Ljava/io/File;
    Signature: ([Ljava/io/File;)Ljava/lang/Iterable<+Ljavax/tools/JavaFileObject;>;
    MethodParameters:
       Name  Flags
      files  

  public java.lang.Iterable<? extends javax.tools.JavaFileObject> getJavaFileObjects(java.nio.file.Path[]);
    descriptor: ([Ljava/nio/file/Path;)Ljava/lang/Iterable;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // java.nio.file.Path[] paths
         0: .line 918
            aload 0 /* this */
            aload 1 /* paths */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.nio.file.Path[]
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getJavaFileObjectsFromPaths:(Ljava/lang/Iterable;)Ljava/lang/Iterable;
            areturn
        end local 1 // java.nio.file.Path[] paths
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    1     1  paths  [Ljava/nio/file/Path;
    Signature: ([Ljava/nio/file/Path;)Ljava/lang/Iterable<+Ljavax/tools/JavaFileObject;>;
    MethodParameters:
       Name  Flags
      paths  

  public void setLocation(javax.tools.JavaFileManager$Location, java.lang.Iterable<? extends java.io.File>);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // java.lang.Iterable searchpath
         0: .line 926
            aload 1 /* location */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 927
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            aload 2 /* searchpath */
            invokestatic com.sun.tools.javac.file.JavacFileManager.asPaths:(Ljava/lang/Iterable;)Ljava/lang/Iterable;
            invokevirtual com.sun.tools.javac.file.Locations.setLocation:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/Iterable;)V
         2: .line 928
            return
        end local 2 // java.lang.Iterable searchpath
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    3     1    location  Ljavax/tools/JavaFileManager$Location;
            0    3     2  searchpath  Ljava/lang/Iterable<+Ljava/io/File;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/Iterable<+Ljava/io/File;>;)V
    MethodParameters:
            Name  Flags
      location    
      searchpath  

  public void setLocationFromPaths(javax.tools.JavaFileManager$Location, java.util.Collection<? extends java.nio.file.Path>);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // java.util.Collection searchpath
         0: .line 935
            aload 1 /* location */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 936
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            aload 2 /* searchpath */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/util/Collection;)Ljava/util/Collection;
            invokevirtual com.sun.tools.javac.file.Locations.setLocation:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/Iterable;)V
         2: .line 937
            return
        end local 2 // java.util.Collection searchpath
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    3     1    location  Ljavax/tools/JavaFileManager$Location;
            0    3     2  searchpath  Ljava/util/Collection<+Ljava/nio/file/Path;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/tools/JavaFileManager$Location;Ljava/util/Collection<+Ljava/nio/file/Path;>;)V
    MethodParameters:
            Name  Flags
      location    
      searchpath  

  public java.lang.Iterable<? extends java.io.File> getLocation(javax.tools.JavaFileManager$Location);
    descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
         0: .line 941
            aload 1 /* location */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 942
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.Locations.getLocation:(Ljavax/tools/JavaFileManager$Location;)Ljava/util/Collection;
            invokestatic com.sun.tools.javac.file.JavacFileManager.asFiles:(Ljava/lang/Iterable;)Ljava/lang/Iterable;
            areturn
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    2     1  location  Ljavax/tools/JavaFileManager$Location;
    Signature: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable<+Ljava/io/File;>;
    MethodParameters:
          Name  Flags
      location  

  public java.lang.Iterable<? extends java.nio.file.Path> getLocationAsPaths(javax.tools.JavaFileManager$Location);
    descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
         0: .line 947
            aload 1 /* location */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 948
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.Locations.getLocation:(Ljavax/tools/JavaFileManager$Location;)Ljava/util/Collection;
            areturn
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    2     1  location  Ljavax/tools/JavaFileManager$Location;
    Signature: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
    MethodParameters:
          Name  Flags
      location  

  public boolean contains(javax.tools.JavaFileManager$Location, javax.tools.FileObject);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljavax/tools/FileObject;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // javax.tools.FileObject fo
         0: .line 953
            aload 1 /* location */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 954
            aload 2 /* fo */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 955
            aload 0 /* this */
            aload 2 /* fo */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.asPath:(Ljavax/tools/FileObject;)Ljava/nio/file/Path;
            astore 3 /* p */
        start local 3 // java.nio.file.Path p
         3: .line 956
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            aload 3 /* p */
            invokevirtual com.sun.tools.javac.file.Locations.contains:(Ljavax/tools/JavaFileManager$Location;Ljava/nio/file/Path;)Z
            ireturn
        end local 3 // java.nio.file.Path p
        end local 2 // javax.tools.FileObject fo
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    4     1  location  Ljavax/tools/JavaFileManager$Location;
            0    4     2        fo  Ljavax/tools/FileObject;
            3    4     3         p  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      location  
      fo        

  private java.nio.file.Path getClassOutDir();
    descriptor: ()Ljava/nio/file/Path;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
         0: .line 960
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            invokevirtual com.sun.tools.javac.file.Locations.getOutputLocation:(Ljavax/tools/JavaFileManager$Location;)Ljava/nio/file/Path;
            areturn
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/JavacFileManager;

  private java.nio.file.Path getSourceOutDir();
    descriptor: ()Ljava/nio/file/Path;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
         0: .line 964
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            getstatic javax.tools.StandardLocation.SOURCE_OUTPUT:Ljavax/tools/StandardLocation;
            invokevirtual com.sun.tools.javac.file.Locations.getOutputLocation:(Ljavax/tools/JavaFileManager$Location;)Ljava/nio/file/Path;
            areturn
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/JavacFileManager;

  public javax.tools.JavaFileManager$Location getLocationForModule(javax.tools.JavaFileManager$Location, java.lang.String);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // java.lang.String moduleName
         0: .line 969
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.checkModuleOrientedOrOutputLocation:(Ljavax/tools/JavaFileManager$Location;)V
         1: .line 970
            aload 2 /* moduleName */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 971
            aload 1 /* location */
            getstatic javax.tools.StandardLocation.SOURCE_OUTPUT:Ljavax/tools/StandardLocation;
            if_acmpne 4
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getSourceOutDir:()Ljava/nio/file/Path;
            ifnonnull 4
         3: .line 972
            getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
            astore 1 /* location */
         4: .line 973
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            aload 2 /* moduleName */
            invokevirtual com.sun.tools.javac.file.Locations.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
            areturn
        end local 2 // java.lang.String moduleName
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    5     1    location  Ljavax/tools/JavaFileManager$Location;
            0    5     2  moduleName  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      location    
      moduleName  

  public <S> java.util.ServiceLoader<S> getServiceLoader(javax.tools.JavaFileManager$Location, java.lang.Class<S>);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/Class;)Ljava/util/ServiceLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // java.lang.Class service
         0: .line 978
            aload 1 /* location */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 979
            aload 2 /* service */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 980
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            aload 2 /* service */
            invokevirtual java.lang.Module.addUses:(Ljava/lang/Class;)Ljava/lang/Module;
            pop
         3: .line 981
            aload 1 /* location */
            invokeinterface javax.tools.JavaFileManager$Location.isModuleOrientedLocation:()Z
            ifeq 10
         4: .line 982
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.Locations.getLocation:(Ljavax/tools/JavaFileManager$Location;)Ljava/util/Collection;
            astore 3 /* paths */
        start local 3 // java.util.Collection paths
         5: .line 983
            aload 3 /* paths */
            aload 3 /* paths */
            invokeinterface java.util.Collection.size:()I
            anewarray java.nio.file.Path
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.nio.file.Path[]
            invokestatic java.lang.module.ModuleFinder.of:([Ljava/nio/file/Path;)Ljava/lang/module/ModuleFinder;
            astore 4 /* finder */
        start local 4 // java.lang.module.ModuleFinder finder
         6: .line 984
            invokestatic java.lang.ModuleLayer.boot:()Ljava/lang/ModuleLayer;
            astore 5 /* bootLayer */
        start local 5 // java.lang.ModuleLayer bootLayer
         7: .line 985
            aload 5 /* bootLayer */
            invokevirtual java.lang.ModuleLayer.configuration:()Ljava/lang/module/Configuration;
            iconst_0
            anewarray java.nio.file.Path
            invokestatic java.lang.module.ModuleFinder.of:([Ljava/nio/file/Path;)Ljava/lang/module/ModuleFinder;
            aload 4 /* finder */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            invokevirtual java.lang.module.Configuration.resolveAndBind:(Ljava/lang/module/ModuleFinder;Ljava/lang/module/ModuleFinder;Ljava/util/Collection;)Ljava/lang/module/Configuration;
            astore 6 /* cf */
        start local 6 // java.lang.module.Configuration cf
         8: .line 986
            aload 5 /* bootLayer */
            aload 6 /* cf */
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual java.lang.ModuleLayer.defineModulesWithOneLoader:(Ljava/lang/module/Configuration;Ljava/lang/ClassLoader;)Ljava/lang/ModuleLayer;
            astore 7 /* layer */
        start local 7 // java.lang.ModuleLayer layer
         9: .line 987
            aload 7 /* layer */
            aload 2 /* service */
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/ModuleLayer;Ljava/lang/Class;)Ljava/util/ServiceLoader;
            areturn
        end local 7 // java.lang.ModuleLayer layer
        end local 6 // java.lang.module.Configuration cf
        end local 5 // java.lang.ModuleLayer bootLayer
        end local 4 // java.lang.module.ModuleFinder finder
        end local 3 // java.util.Collection paths
        10: .line 989
      StackMap locals:
      StackMap stack:
            aload 2 /* service */
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.getClassLoader:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/ClassLoader;
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
            areturn
        end local 2 // java.lang.Class service
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lcom/sun/tools/javac/file/JavacFileManager;
            0   11     1   location  Ljavax/tools/JavaFileManager$Location;
            0   11     2    service  Ljava/lang/Class<TS;>;
            5   10     3      paths  Ljava/util/Collection<Ljava/nio/file/Path;>;
            6   10     4     finder  Ljava/lang/module/ModuleFinder;
            7   10     5  bootLayer  Ljava/lang/ModuleLayer;
            8   10     6         cf  Ljava/lang/module/Configuration;
            9   10     7      layer  Ljava/lang/ModuleLayer;
    Exceptions:
      throws java.io.IOException
    Signature: <S:Ljava/lang/Object;>(Ljavax/tools/JavaFileManager$Location;Ljava/lang/Class<TS;>;)Ljava/util/ServiceLoader<TS;>;
    MethodParameters:
          Name  Flags
      location  
      service   

  public javax.tools.JavaFileManager$Location getLocationForModule(javax.tools.JavaFileManager$Location, javax.tools.JavaFileObject);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileManager$Location;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // javax.tools.JavaFileObject fo
         0: .line 995
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.checkModuleOrientedOrOutputLocation:(Ljavax/tools/JavaFileManager$Location;)V
         1: .line 996
            aload 2 /* fo */
            instanceof com.sun.tools.javac.file.PathFileObject
            ifne 3
         2: .line 997
            aconst_null
            areturn
         3: .line 998
      StackMap locals:
      StackMap stack:
            aload 2 /* fo */
            checkcast com.sun.tools.javac.file.PathFileObject
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            invokestatic com.sun.tools.javac.file.Locations.normalize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            astore 3 /* p */
        start local 3 // java.nio.file.Path p
         4: .line 1000
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            aload 3 /* p */
            invokevirtual com.sun.tools.javac.file.Locations.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljava/nio/file/Path;)Ljavax/tools/JavaFileManager$Location;
            areturn
        end local 3 // java.nio.file.Path p
        end local 2 // javax.tools.JavaFileObject fo
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    5     1  location  Ljavax/tools/JavaFileManager$Location;
            0    5     2        fo  Ljavax/tools/JavaFileObject;
            4    5     3         p  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      location  
      fo        

  public void setLocationForModule(javax.tools.JavaFileManager$Location, java.lang.String, java.util.Collection<? extends java.nio.file.Path>);
    descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
        start local 2 // java.lang.String moduleName
        start local 3 // java.util.Collection paths
         0: .line 1006
            aload 1 /* location */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1007
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.checkModuleOrientedOrOutputLocation:(Ljavax/tools/JavaFileManager$Location;)V
         2: .line 1008
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            aload 2 /* moduleName */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* paths */
            invokestatic com.sun.tools.javac.file.JavacFileManager.nullCheck:(Ljava/util/Collection;)Ljava/util/Collection;
            invokevirtual com.sun.tools.javac.file.Locations.setLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/lang/Iterable;)V
         3: .line 1009
            return
        end local 3 // java.util.Collection paths
        end local 2 // java.lang.String moduleName
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    4     1    location  Ljavax/tools/JavaFileManager$Location;
            0    4     2  moduleName  Ljava/lang/String;
            0    4     3       paths  Ljava/util/Collection<+Ljava/nio/file/Path;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Collection<+Ljava/nio/file/Path;>;)V
    MethodParameters:
            Name  Flags
      location    
      moduleName  
      paths       

  public java.lang.String inferModuleName(javax.tools.JavaFileManager$Location);
    descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
         0: .line 1013
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.checkNotModuleOrientedLocation:(Ljavax/tools/JavaFileManager$Location;)V
         1: .line 1014
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.Locations.inferModuleName:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/String;
            areturn
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    2     1  location  Ljavax/tools/JavaFileManager$Location;
    MethodParameters:
          Name  Flags
      location  

  public java.lang.Iterable<java.util.Set<javax.tools.JavaFileManager$Location>> listLocationsForModules(javax.tools.JavaFileManager$Location);
    descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
         0: .line 1019
            aload 0 /* this */
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.JavacFileManager.checkModuleOrientedOrOutputLocation:(Ljavax/tools/JavaFileManager$Location;)V
         1: .line 1020
            aload 0 /* this */
            getfield com.sun.tools.javac.file.JavacFileManager.locations:Lcom/sun/tools/javac/file/Locations;
            aload 1 /* location */
            invokevirtual com.sun.tools.javac.file.Locations.listLocationsForModules:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
            areturn
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    2     1  location  Ljavax/tools/JavaFileManager$Location;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable<Ljava/util/Set<Ljavax/tools/JavaFileManager$Location;>;>;
    MethodParameters:
          Name  Flags
      location  

  public java.nio.file.Path asPath(javax.tools.FileObject);
    descriptor: (Ljavax/tools/FileObject;)Ljava/nio/file/Path;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.FileObject file
         0: .line 1025
            aload 1 /* file */
            instanceof com.sun.tools.javac.file.PathFileObject
            ifeq 2
         1: .line 1026
            aload 1 /* file */
            checkcast com.sun.tools.javac.file.PathFileObject
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            areturn
         2: .line 1028
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* file */
            invokeinterface javax.tools.FileObject.getName:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // javax.tools.FileObject file
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    3     1  file  Ljavax/tools/FileObject;
    MethodParameters:
      Name  Flags
      file  

  protected static boolean isRelativeUri(java.net.URI);
    descriptor: (Ljava/net/URI;)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.net.URI uri
         0: .line 1039
            aload 0 /* uri */
            invokevirtual java.net.URI.isAbsolute:()Z
            ifeq 2
         1: .line 1040
            iconst_0
            ireturn
         2: .line 1041
      StackMap locals:
      StackMap stack:
            aload 0 /* uri */
            invokevirtual java.net.URI.normalize:()Ljava/net/URI;
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            astore 1 /* path */
        start local 1 // java.lang.String path
         3: .line 1042
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            ifne 5
         4: .line 1043
            iconst_0
            ireturn
         5: .line 1044
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* path */
            aload 0 /* uri */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 1045
            iconst_0
            ireturn
         7: .line 1046
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
            aload 1 /* path */
            ldc "./"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
            aload 1 /* path */
            ldc "../"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         8: .line 1047
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         9: .line 1048
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.String path
        end local 0 // java.net.URI uri
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0   uri  Ljava/net/URI;
            3   10     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      uri   

  protected static boolean isRelativeUri(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String u
         0: .line 1054
            new java.net.URI
            dup
            aload 0 /* u */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            invokestatic com.sun.tools.javac.file.JavacFileManager.isRelativeUri:(Ljava/net/URI;)Z
         1: ireturn
         2: .line 1055
      StackMap locals:
      StackMap stack: java.net.URISyntaxException
            pop
         3: .line 1056
            iconst_0
            ireturn
        end local 0 // java.lang.String u
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     u  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.URISyntaxException
    MethodParameters:
      Name  Flags
      u     

  public static java.lang.String getRelativeName(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.io.File file
         0: .line 1072
            aload 0 /* file */
            invokevirtual java.io.File.isAbsolute:()Z
            ifne 4
         1: .line 1073
            aload 0 /* file */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            getstatic java.io.File.separatorChar:C
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 1 /* result */
        start local 1 // java.lang.String result
         2: .line 1074
            aload 1 /* result */
            invokestatic com.sun.tools.javac.file.JavacFileManager.isRelativeUri:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1075
            aload 1 /* result */
            areturn
        end local 1 // java.lang.String result
         4: .line 1077
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid relative path: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    file  Ljava/io/File;
            2    4     1  result  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      file  

  public static java.lang.String getMessage(java.io.IOException);
    descriptor: (Ljava/io/IOException;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.io.IOException e
         0: .line 1090
            aload 0 /* e */
            invokevirtual java.io.IOException.getLocalizedMessage:()Ljava/lang/String;
            astore 1 /* s */
        start local 1 // java.lang.String s
         1: .line 1091
            aload 1 /* s */
            ifnull 3
         2: .line 1092
            aload 1 /* s */
            areturn
         3: .line 1093
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            astore 1 /* s */
         4: .line 1094
            aload 1 /* s */
            ifnull 6
         5: .line 1095
            aload 1 /* s */
            areturn
         6: .line 1096
      StackMap locals:
      StackMap stack:
            aload 0 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String s
        end local 0 // java.io.IOException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     e  Ljava/io/IOException;
            1    7     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      e     

  private void checkOutputLocation(javax.tools.JavaFileManager$Location);
    descriptor: (Ljavax/tools/JavaFileManager$Location;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
         0: .line 1100
            aload 1 /* location */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1101
            aload 1 /* location */
            invokeinterface javax.tools.JavaFileManager$Location.isOutputLocation:()Z
            ifne 3
         2: .line 1102
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "location is not an output location: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* location */
            invokeinterface javax.tools.JavaFileManager$Location.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1103
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    4     1  location  Ljavax/tools/JavaFileManager$Location;
    MethodParameters:
          Name  Flags
      location  

  private void checkModuleOrientedOrOutputLocation(javax.tools.JavaFileManager$Location);
    descriptor: (Ljavax/tools/JavaFileManager$Location;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
         0: .line 1106
            aload 1 /* location */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1107
            aload 1 /* location */
            invokeinterface javax.tools.JavaFileManager$Location.isModuleOrientedLocation:()Z
            ifne 7
            aload 1 /* location */
            invokeinterface javax.tools.JavaFileManager$Location.isOutputLocation:()Z
            ifne 7
         2: .line 1108
            new java.lang.IllegalArgumentException
            dup
         3: .line 1109
            new java.lang.StringBuilder
            dup
            ldc "location is not an output location or a module-oriented location: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 1110
            aload 1 /* location */
            invokeinterface javax.tools.JavaFileManager$Location.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1109
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 1108
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1111
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    8     1  location  Ljavax/tools/JavaFileManager$Location;
    MethodParameters:
          Name  Flags
      location  

  private void checkNotModuleOrientedLocation(javax.tools.JavaFileManager$Location);
    descriptor: (Ljavax/tools/JavaFileManager$Location;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.JavacFileManager this
        start local 1 // javax.tools.JavaFileManager$Location location
         0: .line 1114
            aload 1 /* location */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1115
            aload 1 /* location */
            invokeinterface javax.tools.JavaFileManager$Location.isModuleOrientedLocation:()Z
            ifeq 3
         2: .line 1116
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "location is module-oriented: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* location */
            invokeinterface javax.tools.JavaFileManager$Location.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1117
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.tools.JavaFileManager$Location location
        end local 0 // com.sun.tools.javac.file.JavacFileManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/sun/tools/javac/file/JavacFileManager;
            0    4     1  location  Ljavax/tools/JavaFileManager$Location;
    MethodParameters:
          Name  Flags
      location  

  private static java.lang.Iterable<java.nio.file.Path> asPaths(java.lang.Iterable<? extends java.io.File>);
    descriptor: (Ljava/lang/Iterable;)Ljava/lang/Iterable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Iterable files
         0: .line 1124
            aload 0 /* files */
            ifnonnull 2
         1: .line 1125
            aconst_null
            areturn
         2: .line 1127
      StackMap locals:
      StackMap stack:
            aload 0 /* files */
            invokedynamic iterator(Ljava/lang/Iterable;)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/file/JavacFileManager.lambda$2(Ljava/lang/Iterable;)Ljava/util/Iterator; (6)
                  ()Ljava/util/Iterator;
            areturn
        end local 0 // java.lang.Iterable files
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  files  Ljava/lang/Iterable<+Ljava/io/File;>;
    Signature: (Ljava/lang/Iterable<+Ljava/io/File;>;)Ljava/lang/Iterable<Ljava/nio/file/Path;>;
    MethodParameters:
       Name  Flags
      files  final

  private static java.lang.Iterable<java.io.File> asFiles(java.lang.Iterable<? extends java.nio.file.Path>);
    descriptor: (Ljava/lang/Iterable;)Ljava/lang/Iterable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Iterable paths
         0: .line 1143
            aload 0 /* paths */
            ifnonnull 2
         1: .line 1144
            aconst_null
            areturn
         2: .line 1146
      StackMap locals:
      StackMap stack:
            aload 0 /* paths */
            invokedynamic iterator(Ljava/lang/Iterable;)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/file/JavacFileManager.lambda$3(Ljava/lang/Iterable;)Ljava/util/Iterator; (6)
                  ()Ljava/util/Iterator;
            areturn
        end local 0 // java.lang.Iterable paths
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  paths  Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
    Signature: (Ljava/lang/Iterable<+Ljava/nio/file/Path;>;)Ljava/lang/Iterable<Ljava/io/File;>;
    MethodParameters:
       Name  Flags
      paths  final

  private static javax.tools.JavaFileManager lambda$1(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)Ljavax/tools/JavaFileManager;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.util.Context c
         0: .line 136
            new com.sun.tools.javac.file.JavacFileManager
            dup
            aload 0 /* c */
            iconst_1
            aconst_null
            invokespecial com.sun.tools.javac.file.JavacFileManager.<init>:(Lcom/sun/tools/javac/util/Context;ZLjava/nio/charset/Charset;)V
            areturn
        end local 0 // com.sun.tools.javac.util.Context c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Lcom/sun/tools/javac/util/Context;

  private static java.nio.file.Path lambda$4(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String  arg0
        start local 1 // java.lang.String[]  arg1
         0: aload 0 /*  arg0 */
            aload 1 /*  arg1 */
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            areturn
        end local 1 // java.lang.String[]  arg1
        end local 0 // java.lang.String  arg0
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   arg0  Ljava/lang/String;
            0    1     1   arg1  [Ljava/lang/String;

  private static java.util.Iterator lambda$2(java.lang.Iterable);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/Iterator;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 1127
            new com.sun.tools.javac.file.JavacFileManager$2
            dup
            aload 0
            invokespecial com.sun.tools.javac.file.JavacFileManager$2.<init>:(Ljava/lang/Iterable;)V
         1: .line 1139
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.Iterator lambda$3(java.lang.Iterable);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/Iterator;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 1146
            new com.sun.tools.javac.file.JavacFileManager$3
            dup
            aload 0
            invokespecial com.sun.tools.javac.file.JavacFileManager$3.<init>:(Ljava/lang/Iterable;)V
         1: .line 1162
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JavacFileManager.java"
NestMembers:
  com.sun.tools.javac.file.JavacFileManager$1  com.sun.tools.javac.file.JavacFileManager$2  com.sun.tools.javac.file.JavacFileManager$3  com.sun.tools.javac.file.JavacFileManager$ArchiveContainer  com.sun.tools.javac.file.JavacFileManager$ArchiveContainer$1  com.sun.tools.javac.file.JavacFileManager$ArchiveContainer$2  com.sun.tools.javac.file.JavacFileManager$Container  com.sun.tools.javac.file.JavacFileManager$DirectoryContainer  com.sun.tools.javac.file.JavacFileManager$JRTImageContainer  com.sun.tools.javac.file.JavacFileManager$SortFiles  com.sun.tools.javac.file.JavacFileManager$SortFiles$1  com.sun.tools.javac.file.JavacFileManager$SortFiles$2
InnerClasses:
  com.sun.tools.javac.file.JavacFileManager$1
  com.sun.tools.javac.file.JavacFileManager$2
  com.sun.tools.javac.file.JavacFileManager$3
  private final ArchiveContainer = com.sun.tools.javac.file.JavacFileManager$ArchiveContainer of com.sun.tools.javac.file.JavacFileManager
  private abstract Container = com.sun.tools.javac.file.JavacFileManager$Container of com.sun.tools.javac.file.JavacFileManager
  private final DirectoryContainer = com.sun.tools.javac.file.JavacFileManager$DirectoryContainer of com.sun.tools.javac.file.JavacFileManager
  private final JRTImageContainer = com.sun.tools.javac.file.JavacFileManager$JRTImageContainer of com.sun.tools.javac.file.JavacFileManager
  protected abstract SortFiles = com.sun.tools.javac.file.JavacFileManager$SortFiles of com.sun.tools.javac.file.JavacFileManager
  public RelativeDirectory = com.sun.tools.javac.file.RelativePath$RelativeDirectory of com.sun.tools.javac.file.RelativePath
  public RelativeFile = com.sun.tools.javac.file.RelativePath$RelativeFile of com.sun.tools.javac.file.RelativePath
  public abstract Factory = com.sun.tools.javac.util.Context$Factory of com.sun.tools.javac.util.Context
  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
  public abstract PathFactory = javax.tools.StandardJavaFileManager$PathFactory of javax.tools.StandardJavaFileManager