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

  private final java.util.zip.ZipEntry entry;
    descriptor: Ljava/util/zip/ZipEntry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.zip.ZipFile file;
    descriptor: Ljava/util/zip/ZipFile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  void <init>(jdk.tools.jlink.internal.JarArchive, java.lang.String, java.lang.String, jdk.tools.jlink.internal.Archive$Entry$EntryType, java.util.zip.ZipFile, java.util.zip.ZipEntry);
    descriptor: (Ljdk/tools/jlink/internal/JarArchive;Ljava/lang/String;Ljava/lang/String;Ljdk/tools/jlink/internal/Archive$Entry$EntryType;Ljava/util/zip/ZipFile;Ljava/util/zip/ZipEntry;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // jdk.tools.jlink.internal.JarArchive$JarEntry this
        start local 2 // java.lang.String path
        start local 3 // java.lang.String name
        start local 4 // jdk.tools.jlink.internal.Archive$Entry$EntryType type
        start local 5 // java.util.zip.ZipFile file
        start local 6 // java.util.zip.ZipEntry entry
         0: .line 54
            aload 0 /* this */
            aload 1
            putfield jdk.tools.jlink.internal.JarArchive$JarEntry.this$0:Ljdk/tools/jlink/internal/JarArchive;
         1: .line 55
            aload 0 /* this */
            aload 1
            aload 2 /* path */
            aload 3 /* name */
            aload 4 /* type */
            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
         2: .line 56
            aload 0 /* this */
            aload 6 /* entry */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.zip.ZipEntry
            putfield jdk.tools.jlink.internal.JarArchive$JarEntry.entry:Ljava/util/zip/ZipEntry;
         3: .line 57
            aload 0 /* this */
            aload 5 /* file */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.zip.ZipFile
            putfield jdk.tools.jlink.internal.JarArchive$JarEntry.file:Ljava/util/zip/ZipFile;
         4: .line 58
            aload 0 /* this */
            aload 6 /* entry */
            invokevirtual java.util.zip.ZipEntry.getSize:()J
            putfield jdk.tools.jlink.internal.JarArchive$JarEntry.size:J
         5: .line 59
            return
        end local 6 // java.util.zip.ZipEntry entry
        end local 5 // java.util.zip.ZipFile file
        end local 4 // jdk.tools.jlink.internal.Archive$Entry$EntryType type
        end local 3 // java.lang.String name
        end local 2 // java.lang.String path
        end local 0 // jdk.tools.jlink.internal.JarArchive$JarEntry this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljdk/tools/jlink/internal/JarArchive$JarEntry;
            0    6     2   path  Ljava/lang/String;
            0    6     3   name  Ljava/lang/String;
            0    6     4   type  Ljdk/tools/jlink/internal/Archive$Entry$EntryType;
            0    6     5   file  Ljava/util/zip/ZipFile;
            0    6     6  entry  Ljava/util/zip/ZipEntry;
    MethodParameters:
        Name  Flags
      this$0  final
      path    
      name    
      type    
      file    
      entry   

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

  public java.io.InputStream stream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.tools.jlink.internal.JarArchive$JarEntry this
         0: .line 71
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.JarArchive$JarEntry.file:Ljava/util/zip/ZipFile;
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.JarArchive$JarEntry.entry:Ljava/util/zip/ZipEntry;
            invokevirtual java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
            areturn
        end local 0 // jdk.tools.jlink.internal.JarArchive$JarEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jlink/internal/JarArchive$JarEntry;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "JarArchive.java"
NestHost: jdk.tools.jlink.internal.JarArchive
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
  public JarEntry = jdk.tools.jlink.internal.JarArchive$JarEntry of jdk.tools.jlink.internal.JarArchive