class jdk.tools.jlink.internal.DirArchive$FileEntry extends jdk.tools.jlink.internal.Archive$Entry
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.tools.jlink.internal.DirArchive$FileEntry
  super_class: jdk.tools.jlink.internal.Archive$Entry
{
  private final long size;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.nio.file.Path path;
    descriptor: Ljava/nio/file/Path;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final jdk.tools.jlink.internal.DirArchive this$0;
    descriptor: Ljdk/tools/jlink/internal/DirArchive;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(jdk.tools.jlink.internal.DirArchive, java.nio.file.Path, java.lang.String);
    descriptor: (Ljdk/tools/jlink/internal/DirArchive;Ljava/nio/file/Path;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // jdk.tools.jlink.internal.DirArchive$FileEntry this
        start local 2 // java.nio.file.Path path
        start local 3 // java.lang.String name
         0: .line 51
            aload 0 /* this */
            aload 1
            putfield jdk.tools.jlink.internal.DirArchive$FileEntry.this$0:Ljdk/tools/jlink/internal/DirArchive;
         1: .line 52
            aload 0 /* this */
            aload 1
            aload 2 /* path */
            invokestatic jdk.tools.jlink.internal.DirArchive.getPathName:(Ljava/nio/file/Path;)Ljava/lang/String;
            aload 3 /* name */
         2: .line 53
            getstatic jdk.tools.jlink.internal.Archive$Entry$EntryType.CLASS_OR_RESOURCE:Ljdk/tools/jlink/internal/Archive$Entry$EntryType;
            invokespecial jdk.tools.jlink.internal.Archive$Entry.<init>:(Ljdk/tools/jlink/internal/Archive;Ljava/lang/String;Ljava/lang/String;Ljdk/tools/jlink/internal/Archive$Entry$EntryType;)V
         3: .line 54
            aload 0 /* this */
            aload 2 /* path */
            putfield jdk.tools.jlink.internal.DirArchive$FileEntry.path:Ljava/nio/file/Path;
         4: .line 56
            aload 0 /* this */
            aload 2 /* path */
            invokestatic java.nio.file.Files.size:(Ljava/nio/file/Path;)J
            putfield jdk.tools.jlink.internal.DirArchive$FileEntry.size:J
         5: .line 57
            goto 8
      StackMap locals: jdk.tools.jlink.internal.DirArchive$FileEntry jdk.tools.jlink.internal.DirArchive java.nio.file.Path java.lang.String
      StackMap stack: java.io.IOException
         6: astore 4 /* ex */
        start local 4 // java.io.IOException ex
         7: .line 58
            new java.lang.RuntimeException
            dup
            aload 4 /* ex */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ex
         8: .line 60
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String name
        end local 2 // java.nio.file.Path path
        end local 0 // jdk.tools.jlink.internal.DirArchive$FileEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/tools/jlink/internal/DirArchive$FileEntry;
            0    9     2  path  Ljava/nio/file/Path;
            0    9     3  name  Ljava/lang/String;
            7    8     4    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.io.IOException
    MethodParameters:
        Name  Flags
      this$0  final
      path    
      name    

  public long size();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.tools.jlink.internal.DirArchive$FileEntry this
         0: .line 67
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.DirArchive$FileEntry.size:J
            lreturn
        end local 0 // jdk.tools.jlink.internal.DirArchive$FileEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jlink/internal/DirArchive$FileEntry;

  public java.io.InputStream stream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.tools.jlink.internal.DirArchive$FileEntry this
         0: .line 72
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.DirArchive$FileEntry.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;
            astore 1 /* stream */
        start local 1 // java.io.InputStream stream
         1: .line 73
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.DirArchive$FileEntry.this$0:Ljdk/tools/jlink/internal/DirArchive;
            getfield jdk.tools.jlink.internal.DirArchive.open:Ljava/util/List;
            aload 1 /* stream */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 74
            aload 1 /* stream */
            areturn
        end local 1 // java.io.InputStream stream
        end local 0 // jdk.tools.jlink.internal.DirArchive$FileEntry this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/tools/jlink/internal/DirArchive$FileEntry;
            1    3     1  stream  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "DirArchive.java"
NestHost: jdk.tools.jlink.internal.DirArchive
InnerClasses:
  public abstract Entry = jdk.tools.jlink.internal.Archive$Entry of jdk.tools.jlink.internal.Archive
  public final EntryType = jdk.tools.jlink.internal.Archive$Entry$EntryType of jdk.tools.jlink.internal.Archive$Entry
  private FileEntry = jdk.tools.jlink.internal.DirArchive$FileEntry of jdk.tools.jlink.internal.DirArchive