public abstract class com.sun.tools.javac.file.PathFileObject implements javax.tools.JavaFileObject
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.tools.javac.file.PathFileObject
  super_class: java.lang.Object
{
  private static final java.nio.file.FileSystem defaultFileSystem;
    descriptor: Ljava/nio/file/FileSystem;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  protected final com.sun.tools.javac.file.BaseFileManager fileManager;
    descriptor: Lcom/sun/tools/javac/file/BaseFileManager;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.nio.file.Path path;
    descriptor: Ljava/nio/file/Path;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private boolean hasParents;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 79
            invokestatic java.nio.file.FileSystems.getDefault:()Ljava/nio/file/FileSystem;
            putstatic com.sun.tools.javac.file.PathFileObject.defaultFileSystem:Ljava/nio/file/FileSystem;
         1: .line 80
            ldc "os.name"
            ldc ""
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            ldc "OS X"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            putstatic com.sun.tools.javac.file.PathFileObject.isMacOS:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static com.sun.tools.javac.file.PathFileObject forDirectoryPath(com.sun.tools.javac.file.BaseFileManager, java.nio.file.Path, java.nio.file.Path, com.sun.tools.javac.file.RelativePath);
    descriptor: (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;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.file.BaseFileManager fileManager
        start local 1 // java.nio.file.Path path
        start local 2 // java.nio.file.Path userPackageRootDir
        start local 3 // com.sun.tools.javac.file.RelativePath relativePath
         0: .line 102
            new com.sun.tools.javac.file.PathFileObject$DirectoryFileObject
            dup
            aload 0 /* fileManager */
            aload 1 /* path */
            aload 2 /* userPackageRootDir */
            aload 3 /* relativePath */
            invokespecial com.sun.tools.javac.file.PathFileObject$DirectoryFileObject.<init>:(Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath;)V
            areturn
        end local 3 // com.sun.tools.javac.file.RelativePath relativePath
        end local 2 // java.nio.file.Path userPackageRootDir
        end local 1 // java.nio.file.Path path
        end local 0 // com.sun.tools.javac.file.BaseFileManager fileManager
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0         fileManager  Lcom/sun/tools/javac/file/BaseFileManager;
            0    1     1                path  Ljava/nio/file/Path;
            0    1     2  userPackageRootDir  Ljava/nio/file/Path;
            0    1     3        relativePath  Lcom/sun/tools/javac/file/RelativePath;
    MethodParameters:
                    Name  Flags
      fileManager         
      path                
      userPackageRootDir  
      relativePath        

  public static com.sun.tools.javac.file.PathFileObject forJarPath(com.sun.tools.javac.file.BaseFileManager, java.nio.file.Path, java.nio.file.Path);
    descriptor: (Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;Ljava/nio/file/Path;)Lcom/sun/tools/javac/file/PathFileObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.file.BaseFileManager fileManager
        start local 1 // java.nio.file.Path path
        start local 2 // java.nio.file.Path userJarPath
         0: .line 157
            new com.sun.tools.javac.file.PathFileObject$JarFileObject
            dup
            aload 0 /* fileManager */
            aload 1 /* path */
            aload 2 /* userJarPath */
            invokespecial com.sun.tools.javac.file.PathFileObject$JarFileObject.<init>:(Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
            areturn
        end local 2 // java.nio.file.Path userJarPath
        end local 1 // java.nio.file.Path path
        end local 0 // com.sun.tools.javac.file.BaseFileManager fileManager
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  fileManager  Lcom/sun/tools/javac/file/BaseFileManager;
            0    1     1         path  Ljava/nio/file/Path;
            0    1     2  userJarPath  Ljava/nio/file/Path;
    MethodParameters:
             Name  Flags
      fileManager  
      path         
      userJarPath  

  public static com.sun.tools.javac.file.PathFileObject forJRTPath(com.sun.tools.javac.file.BaseFileManager, java.nio.file.Path);
    descriptor: (Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;)Lcom/sun/tools/javac/file/PathFileObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.BaseFileManager fileManager
        start local 1 // java.nio.file.Path path
         0: .line 228
            new com.sun.tools.javac.file.PathFileObject$JRTFileObject
            dup
            aload 0 /* fileManager */
            aload 1 /* path */
            invokespecial com.sun.tools.javac.file.PathFileObject$JRTFileObject.<init>:(Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;)V
            areturn
        end local 1 // java.nio.file.Path path
        end local 0 // com.sun.tools.javac.file.BaseFileManager fileManager
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  fileManager  Lcom/sun/tools/javac/file/BaseFileManager;
            0    1     1         path  Ljava/nio/file/Path;
    MethodParameters:
             Name  Flags
      fileManager  
      path         final

  static com.sun.tools.javac.file.PathFileObject forSimplePath(com.sun.tools.javac.file.BaseFileManager, java.nio.file.Path, java.nio.file.Path);
    descriptor: (Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;Ljava/nio/file/Path;)Lcom/sun/tools/javac/file/PathFileObject;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.file.BaseFileManager fileManager
        start local 1 // java.nio.file.Path path
        start local 2 // java.nio.file.Path userPath
         0: .line 276
            new com.sun.tools.javac.file.PathFileObject$SimpleFileObject
            dup
            aload 0 /* fileManager */
            aload 1 /* path */
            aload 2 /* userPath */
            invokespecial com.sun.tools.javac.file.PathFileObject$SimpleFileObject.<init>:(Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
            areturn
        end local 2 // java.nio.file.Path userPath
        end local 1 // java.nio.file.Path path
        end local 0 // com.sun.tools.javac.file.BaseFileManager fileManager
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  fileManager  Lcom/sun/tools/javac/file/BaseFileManager;
            0    1     1         path  Ljava/nio/file/Path;
            0    1     2     userPath  Ljava/nio/file/Path;
    MethodParameters:
             Name  Flags
      fileManager  
      path         
      userPath     

  protected void <init>(com.sun.tools.javac.file.BaseFileManager, java.nio.file.Path);
    descriptor: (Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.file.PathFileObject this
        start local 1 // com.sun.tools.javac.file.BaseFileManager fileManager
        start local 2 // java.nio.file.Path path
         0: .line 345
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 346
            aload 0 /* this */
            aload 1 /* fileManager */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.file.BaseFileManager
            putfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
         2: .line 347
            aload 2 /* path */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 4
         3: .line 348
            new java.lang.IllegalArgumentException
            dup
            ldc "directories not supported"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 350
      StackMap locals: com.sun.tools.javac.file.PathFileObject com.sun.tools.javac.file.BaseFileManager java.nio.file.Path
      StackMap stack:
            aload 0 /* this */
            aload 2 /* path */
            putfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
         5: .line 351
            return
        end local 2 // java.nio.file.Path path
        end local 1 // com.sun.tools.javac.file.BaseFileManager fileManager
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lcom/sun/tools/javac/file/PathFileObject;
            0    6     1  fileManager  Lcom/sun/tools/javac/file/BaseFileManager;
            0    6     2         path  Ljava/nio/file/Path;
    MethodParameters:
             Name  Flags
      fileManager  
      path         

  abstract java.lang.String inferBinaryName(java.lang.Iterable<? extends java.nio.file.Path>);
    descriptor: (Ljava/lang/Iterable;)Ljava/lang/String;
    flags: (0x0400) ACC_ABSTRACT
    Signature: (Ljava/lang/Iterable<+Ljava/nio/file/Path;>;)Ljava/lang/String;
    MethodParameters:
       Name  Flags
      paths  

  abstract com.sun.tools.javac.file.PathFileObject getSibling(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/tools/javac/file/PathFileObject;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      basename  

  public java.nio.file.Path getPath();
    descriptor: ()Ljava/nio/file/Path;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 371
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            areturn
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/PathFileObject;

  public java.lang.String getShortName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 379
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/PathFileObject;

  public javax.tools.JavaFileObject$Kind getKind();
    descriptor: ()Ljavax/tools/JavaFileObject$Kind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 384
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            invokestatic com.sun.tools.javac.file.BaseFileManager.getKind:(Ljava/nio/file/Path;)Ljavax/tools/JavaFileObject$Kind;
            areturn
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/PathFileObject;

  public boolean isNameCompatible(java.lang.String, javax.tools.JavaFileObject$Kind);
    descriptor: (Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.file.PathFileObject this
        start local 1 // java.lang.String simpleName
        start local 2 // javax.tools.JavaFileObject$Kind kind
         0: .line 389
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            aload 1 /* simpleName */
            aload 2 /* kind */
            invokevirtual com.sun.tools.javac.file.PathFileObject.isPathNameCompatible:(Ljava/nio/file/Path;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;)Z
            ireturn
        end local 2 // javax.tools.JavaFileObject$Kind kind
        end local 1 // java.lang.String simpleName
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/sun/tools/javac/file/PathFileObject;
            0    1     1  simpleName  Ljava/lang/String;
            0    1     2        kind  Ljavax/tools/JavaFileObject$Kind;
    MethodParameters:
            Name  Flags
      simpleName  
      kind        

  protected boolean isPathNameCompatible(java.nio.file.Path, java.lang.String, javax.tools.JavaFileObject$Kind);
    descriptor: (Ljava/nio/file/Path;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // com.sun.tools.javac.file.PathFileObject this
        start local 1 // java.nio.file.Path p
        start local 2 // java.lang.String simpleName
        start local 3 // javax.tools.JavaFileObject$Kind kind
         0: .line 393
            aload 2 /* simpleName */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 394
            aload 3 /* kind */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 396
            aload 3 /* kind */
            getstatic javax.tools.JavaFileObject$Kind.OTHER:Ljavax/tools/JavaFileObject$Kind;
            if_acmpne 4
            aload 1 /* p */
            invokestatic com.sun.tools.javac.file.BaseFileManager.getKind:(Ljava/nio/file/Path;)Ljavax/tools/JavaFileObject$Kind;
            aload 3 /* kind */
            if_acmpeq 4
         3: .line 397
            iconst_0
            ireturn
         4: .line 400
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* simpleName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* kind */
            getfield javax.tools.JavaFileObject$Kind.extension:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* sn */
        start local 4 // java.lang.String sn
         5: .line 401
            aload 1 /* p */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            astore 5 /* pn */
        start local 5 // java.lang.String pn
         6: .line 402
            aload 5 /* pn */
            aload 4 /* sn */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 403
            iconst_1
            ireturn
         8: .line 406
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* p */
            invokeinterface java.nio.file.Path.getFileSystem:()Ljava/nio/file/FileSystem;
            getstatic com.sun.tools.javac.file.PathFileObject.defaultFileSystem:Ljava/nio/file/FileSystem;
            if_acmpne 19
         9: .line 407
            getstatic com.sun.tools.javac.file.PathFileObject.isMacOS:Z
            ifeq 15
        10: .line 408
            aload 5 /* pn */
            getstatic java.text.Normalizer$Form.NFD:Ljava/text/Normalizer$Form;
            invokestatic java.text.Normalizer.isNormalized:(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Z
            ifeq 15
        11: .line 409
            aload 4 /* sn */
            getstatic java.text.Normalizer$Form.NFC:Ljava/text/Normalizer$Form;
            invokestatic java.text.Normalizer.isNormalized:(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Z
            ifeq 15
        12: .line 414
            aload 5 /* pn */
            getstatic java.text.Normalizer$Form.NFC:Ljava/text/Normalizer$Form;
            invokestatic java.text.Normalizer.normalize:(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;
            astore 6 /* normName */
        start local 6 // java.lang.String normName
        13: .line 415
            aload 6 /* normName */
            aload 4 /* sn */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 416
            iconst_1
            ireturn
        end local 6 // java.lang.String normName
        15: .line 421
      StackMap locals:
      StackMap stack:
            aload 5 /* pn */
            aload 4 /* sn */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
        16: .line 424
            aload 1 /* p */
            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.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            aload 4 /* sn */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        17: ireturn
        18: .line 425
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        19: .line 430
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // java.lang.String pn
        end local 4 // java.lang.String sn
        end local 3 // javax.tools.JavaFileObject$Kind kind
        end local 2 // java.lang.String simpleName
        end local 1 // java.nio.file.Path p
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lcom/sun/tools/javac/file/PathFileObject;
            0   20     1           p  Ljava/nio/file/Path;
            0   20     2  simpleName  Ljava/lang/String;
            0   20     3        kind  Ljavax/tools/JavaFileObject$Kind;
            5   20     4          sn  Ljava/lang/String;
            6   20     5          pn  Ljava/lang/String;
           13   15     6    normName  Ljava/lang/String;
      Exception table:
        from    to  target  type
          16    17      18  Class java.io.IOException
    MethodParameters:
            Name  Flags
      p           
      simpleName  
      kind        

  public javax.lang.model.element.NestingKind getNestingKind();
    descriptor: ()Ljavax/lang/model/element/NestingKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 435
            aconst_null
            areturn
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/PathFileObject;

  public javax.lang.model.element.Modifier getAccessLevel();
    descriptor: ()Ljavax/lang/model/element/Modifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 440
            aconst_null
            areturn
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/PathFileObject;

  public java.net.URI toUri();
    descriptor: ()Ljava/net/URI;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 445
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            areturn
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/PathFileObject;

  public java.io.InputStream openInputStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 450
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            invokevirtual com.sun.tools.javac.file.BaseFileManager.updateLastUsedTime:()V
         1: .line 451
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newInputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
            areturn
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/file/PathFileObject;
    Exceptions:
      throws java.io.IOException

  public java.io.OutputStream openOutputStream();
    descriptor: ()Ljava/io/OutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 456
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            invokevirtual com.sun.tools.javac.file.BaseFileManager.updateLastUsedTime:()V
         1: .line 457
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.BaseFileManager.flushCache:(Ljavax/tools/JavaFileObject;)V
         2: .line 458
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.PathFileObject.ensureParentDirectoriesExist:()V
         3: .line 459
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newOutputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
            areturn
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/file/PathFileObject;
    Exceptions:
      throws java.io.IOException

  public java.io.Reader openReader(boolean);
    descriptor: (Z)Ljava/io/Reader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.file.PathFileObject this
        start local 1 // boolean ignoreEncodingErrors
         0: .line 464
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            invokevirtual com.sun.tools.javac.file.BaseFileManager.getEncodingName:()Ljava/lang/String;
            iload 1 /* ignoreEncodingErrors */
            invokevirtual com.sun.tools.javac.file.BaseFileManager.getDecoder:(Ljava/lang/String;Z)Ljava/nio/charset/CharsetDecoder;
            astore 2 /* decoder */
        start local 2 // java.nio.charset.CharsetDecoder decoder
         1: .line 465
            new java.io.InputStreamReader
            dup
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.PathFileObject.openInputStream:()Ljava/io/InputStream;
            aload 2 /* decoder */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/CharsetDecoder;)V
            areturn
        end local 2 // java.nio.charset.CharsetDecoder decoder
        end local 1 // boolean ignoreEncodingErrors
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lcom/sun/tools/javac/file/PathFileObject;
            0    2     1  ignoreEncodingErrors  Z
            1    2     2               decoder  Ljava/nio/charset/CharsetDecoder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                      Name  Flags
      ignoreEncodingErrors  

  public java.lang.CharSequence getCharContent(boolean);
    descriptor: (Z)Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // com.sun.tools.javac.file.PathFileObject this
        start local 1 // boolean ignoreEncodingErrors
         0: .line 470
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.BaseFileManager.getCachedContent:(Ljavax/tools/JavaFileObject;)Ljava/nio/CharBuffer;
            astore 2 /* cb */
        start local 2 // java.nio.CharBuffer cb
         1: .line 471
            aload 2 /* cb */
            ifnonnull 21
         2: .line 472
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.PathFileObject.openInputStream:()Ljava/io/InputStream;
            astore 5 /* in */
        start local 5 // java.io.InputStream in
         4: .line 473
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            aload 5 /* in */
            invokevirtual com.sun.tools.javac.file.BaseFileManager.makeByteBuffer:(Ljava/io/InputStream;)Ljava/nio/ByteBuffer;
            astore 6 /* bb */
        start local 6 // java.nio.ByteBuffer bb
         5: .line 474
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            getfield com.sun.tools.javac.file.BaseFileManager.log:Lcom/sun/tools/javac/util/Log;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            astore 7 /* prev */
        start local 7 // javax.tools.JavaFileObject prev
         6: .line 476
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            aload 6 /* bb */
            iload 1 /* ignoreEncodingErrors */
            invokevirtual com.sun.tools.javac.file.BaseFileManager.decode:(Ljava/nio/ByteBuffer;Z)Ljava/nio/CharBuffer;
            astore 2 /* cb */
         7: .line 477
            goto 11
      StackMap locals: com.sun.tools.javac.file.PathFileObject int java.nio.CharBuffer java.lang.Throwable java.lang.Throwable java.io.InputStream java.nio.ByteBuffer javax.tools.JavaFileObject
      StackMap stack: java.lang.Throwable
         8: astore 8
         9: .line 478
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            getfield com.sun.tools.javac.file.BaseFileManager.log:Lcom/sun/tools/javac/util/Log;
            aload 7 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        10: .line 479
            aload 8
            athrow
        11: .line 478
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            getfield com.sun.tools.javac.file.BaseFileManager.log:Lcom/sun/tools/javac/util/Log;
            aload 7 /* prev */
            invokevirtual com.sun.tools.javac.util.Log.useSource:(Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileObject;
            pop
        12: .line 480
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            aload 6 /* bb */
            invokevirtual com.sun.tools.javac.file.BaseFileManager.recycleByteBuffer:(Ljava/nio/ByteBuffer;)V
        13: .line 481
            iload 1 /* ignoreEncodingErrors */
            ifne 15
        14: .line 482
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            aload 0 /* this */
            aload 2 /* cb */
            invokevirtual com.sun.tools.javac.file.BaseFileManager.cache:(Ljavax/tools/JavaFileObject;Ljava/nio/CharBuffer;)V
        end local 7 // javax.tools.JavaFileObject prev
        end local 6 // java.nio.ByteBuffer bb
        15: .line 484
      StackMap locals:
      StackMap stack:
            aload 5 /* in */
            ifnull 21
            aload 5 /* in */
            invokevirtual java.io.InputStream.close:()V
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 3
            aload 5 /* in */
            ifnull 17
            aload 5 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 5 // java.io.InputStream in
      StackMap locals:
      StackMap stack:
        17: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 4
            aload 3
            ifnonnull 19
            aload 4
            astore 3
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 3
            aload 4
            if_acmpeq 20
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 3
            athrow
        21: .line 486
      StackMap locals:
      StackMap stack:
            aload 2 /* cb */
            areturn
        end local 2 // java.nio.CharBuffer cb
        end local 1 // boolean ignoreEncodingErrors
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   22     0                  this  Lcom/sun/tools/javac/file/PathFileObject;
            0   22     1  ignoreEncodingErrors  Z
            1   22     2                    cb  Ljava/nio/CharBuffer;
            4   17     5                    in  Ljava/io/InputStream;
            5   15     6                    bb  Ljava/nio/ByteBuffer;
            6   15     7                  prev  Ljavax/tools/JavaFileObject;
      Exception table:
        from    to  target  type
           6     8       8  any
           4    15      16  any
           3    18      18  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                      Name  Flags
      ignoreEncodingErrors  

  public java.io.Writer openWriter();
    descriptor: ()Ljava/io/Writer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 491
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            invokevirtual com.sun.tools.javac.file.BaseFileManager.updateLastUsedTime:()V
         1: .line 492
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.BaseFileManager.flushCache:(Ljavax/tools/JavaFileObject;)V
         2: .line 493
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.file.PathFileObject.ensureParentDirectoriesExist:()V
         3: .line 494
            new java.io.OutputStreamWriter
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newOutputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.fileManager:Lcom/sun/tools/javac/file/BaseFileManager;
            invokevirtual com.sun.tools.javac.file.BaseFileManager.getEncodingName:()Ljava/lang/String;
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
            areturn
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/file/PathFileObject;
    Exceptions:
      throws java.io.IOException

  public long getLastModified();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 500
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.getLastModifiedTime:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileTime;
            invokevirtual java.nio.file.attribute.FileTime.toMillis:()J
         1: lreturn
         2: .line 501
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         3: .line 502
            lconst_0
            lreturn
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/file/PathFileObject;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  public boolean delete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 509
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
         1: .line 510
            iconst_1
            ireturn
         2: .line 511
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         3: .line 512
            iconst_0
            ireturn
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/file/PathFileObject;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  boolean isSameFile(com.sun.tools.javac.file.PathFileObject);
    descriptor: (Lcom/sun/tools/javac/file/PathFileObject;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.PathFileObject this
        start local 1 // com.sun.tools.javac.file.PathFileObject other
         0: .line 520
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            aload 1 /* other */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // com.sun.tools.javac.file.PathFileObject other
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/file/PathFileObject;
            0    1     1  other  Lcom/sun/tools/javac/file/PathFileObject;
    MethodParameters:
       Name  Flags
      other  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.file.PathFileObject this
        start local 1 // java.lang.Object other
         0: .line 525
            aload 1 /* other */
            instanceof com.sun.tools.javac.file.PathFileObject
            ifeq 1
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            aload 1 /* other */
            checkcast com.sun.tools.javac.file.PathFileObject
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/tools/javac/file/PathFileObject;
            0    2     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 530
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.hashCode:()I
            ireturn
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/PathFileObject;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 535
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/file/PathFileObject;

  private void ensureParentDirectoriesExist();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.sun.tools.javac.file.PathFileObject this
         0: .line 539
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.hasParents:Z
            ifne 8
         1: .line 540
            aload 0 /* this */
            getfield com.sun.tools.javac.file.PathFileObject.path:Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            astore 1 /* parent */
        start local 1 // java.nio.file.Path parent
         2: .line 541
            aload 1 /* parent */
            ifnull 7
            aload 1 /* parent */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 7
         3: .line 543
            aload 1 /* parent */
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            pop
         4: .line 544
            goto 7
      StackMap locals: com.sun.tools.javac.file.PathFileObject java.nio.file.Path
      StackMap stack: java.io.IOException
         5: astore 2 /* e */
        start local 2 // java.io.IOException e
         6: .line 545
            new java.io.IOException
            dup
            ldc "could not create parent directories"
            aload 2 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
         7: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.sun.tools.javac.file.PathFileObject.hasParents:Z
        end local 1 // java.nio.file.Path parent
         8: .line 550
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.tools.javac.file.PathFileObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/sun/tools/javac/file/PathFileObject;
            2    8     1  parent  Ljava/nio/file/Path;
            6    7     2       e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
    Exceptions:
      throws java.io.IOException

  protected static java.lang.String toBinaryName(com.sun.tools.javac.file.RelativePath);
    descriptor: (Lcom/sun/tools/javac/file/RelativePath;)Ljava/lang/String;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.file.RelativePath relativePath
         0: .line 553
            aload 0 /* relativePath */
            getfield com.sun.tools.javac.file.RelativePath.path:Ljava/lang/String;
            ldc "/"
            invokestatic com.sun.tools.javac.file.PathFileObject.toBinaryName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.javac.file.RelativePath relativePath
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  relativePath  Lcom/sun/tools/javac/file/RelativePath;
    MethodParameters:
              Name  Flags
      relativePath  

  protected static java.lang.String toBinaryName(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.file.Path relativePath
         0: .line 557
            aload 0 /* relativePath */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
         1: .line 558
            aload 0 /* relativePath */
            invokeinterface java.nio.file.Path.getFileSystem:()Ljava/nio/file/FileSystem;
            invokevirtual java.nio.file.FileSystem.getSeparator:()Ljava/lang/String;
         2: .line 557
            invokestatic com.sun.tools.javac.file.PathFileObject.toBinaryName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.nio.file.Path relativePath
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  relativePath  Ljava/nio/file/Path;
    MethodParameters:
              Name  Flags
      relativePath  

  private static java.lang.String toBinaryName(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String relativePath
        start local 1 // java.lang.String sep
         0: .line 562
            aload 0 /* relativePath */
            invokestatic com.sun.tools.javac.file.PathFileObject.removeExtension:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* sep */
            ldc "."
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String sep
        end local 0 // java.lang.String relativePath
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  relativePath  Ljava/lang/String;
            0    1     1           sep  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      relativePath  
      sep           

  private static java.lang.String removeExtension(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String fileName
         0: .line 566
            aload 0 /* fileName */
            ldc "."
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 1 /* lastDot */
        start local 1 // int lastDot
         1: .line 567
            iload 1 /* lastDot */
            iconst_m1
            if_icmpne 2
            aload 0 /* fileName */
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* fileName */
            iconst_0
            iload 1 /* lastDot */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // int lastDot
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  fileName  Ljava/lang/String;
            1    4     1   lastDot  I
    MethodParameters:
          Name  Flags
      fileName  

  public static java.lang.String getSimpleName(javax.tools.FileObject);
    descriptor: (Ljavax/tools/FileObject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // javax.tools.FileObject fo
         0: .line 578
            aload 0 /* fo */
            invokeinterface javax.tools.FileObject.toUri:()Ljava/net/URI;
            astore 1 /* uri */
        start local 1 // java.net.URI uri
         1: .line 579
            aload 1 /* uri */
            invokevirtual java.net.URI.getSchemeSpecificPart:()Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         2: .line 580
            aload 2 /* s */
            aload 2 /* s */
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String s
        end local 1 // java.net.URI uri
        end local 0 // javax.tools.FileObject fo
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    fo  Ljavax/tools/FileObject;
            1    3     1   uri  Ljava/net/URI;
            2    3     2     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      fo    
}
SourceFile: "PathFileObject.java"
NestMembers:
  com.sun.tools.javac.file.PathFileObject$CannotCreateUriError  com.sun.tools.javac.file.PathFileObject$DirectoryFileObject  com.sun.tools.javac.file.PathFileObject$JRTFileObject  com.sun.tools.javac.file.PathFileObject$JarFileObject  com.sun.tools.javac.file.PathFileObject$SimpleFileObject
InnerClasses:
  public CannotCreateUriError = com.sun.tools.javac.file.PathFileObject$CannotCreateUriError of com.sun.tools.javac.file.PathFileObject
  private DirectoryFileObject = com.sun.tools.javac.file.PathFileObject$DirectoryFileObject of com.sun.tools.javac.file.PathFileObject
  private JRTFileObject = com.sun.tools.javac.file.PathFileObject$JRTFileObject of com.sun.tools.javac.file.PathFileObject
  private JarFileObject = com.sun.tools.javac.file.PathFileObject$JarFileObject of com.sun.tools.javac.file.PathFileObject
  private SimpleFileObject = com.sun.tools.javac.file.PathFileObject$SimpleFileObject of com.sun.tools.javac.file.PathFileObject
  public final Form = java.text.Normalizer$Form of java.text.Normalizer
  public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject