public class sun.net.www.protocol.jrt.JavaRuntimeURLConnection extends sun.net.www.URLConnection
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.net.www.protocol.jrt.JavaRuntimeURLConnection
  super_class: sun.net.www.URLConnection
{
  private static final jdk.internal.jimage.ImageReader reader;
    descriptor: Ljdk/internal/jimage/ImageReader;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.String module;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile jdk.internal.loader.Resource resource;
    descriptor: Ljdk/internal/loader/Resource;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 55
            invokedynamic run()Ljava/security/PrivilegedAction;
              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/Object;
                  jdk/internal/jimage/ImageReaderFactory.getImageReader()Ljdk/internal/jimage/ImageReader; (6)
                  ()Ljdk/internal/jimage/ImageReader;
            astore 0 /* pa */
        start local 0 // java.security.PrivilegedAction pa
         1: .line 56
            aload 0 /* pa */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast jdk.internal.jimage.ImageReader
            putstatic sun.net.www.protocol.jrt.JavaRuntimeURLConnection.reader:Ljdk/internal/jimage/ImageReader;
        end local 0 // java.security.PrivilegedAction pa
         2: .line 57
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    2     0    pa  Ljava/security/PrivilegedAction<Ljdk/internal/jimage/ImageReader;>;

  void <init>(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.net.www.protocol.jrt.JavaRuntimeURLConnection this
        start local 1 // java.net.URL url
         0: .line 67
            aload 0 /* this */
            aload 1 /* url */
            invokespecial sun.net.www.URLConnection.<init>:(Ljava/net/URL;)V
         1: .line 68
            aload 1 /* url */
            invokevirtual java.net.URL.getPath:()Ljava/lang/String;
            astore 2 /* path */
        start local 2 // java.lang.String path
         2: .line 69
            aload 2 /* path */
            invokevirtual java.lang.String.length:()I
            ifeq 3
            aload 2 /* path */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 4
         3: .line 70
      StackMap locals: sun.net.www.protocol.jrt.JavaRuntimeURLConnection java.net.URL java.lang.String
      StackMap stack:
            new java.net.MalformedURLException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " missing path or /"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.net.MalformedURLException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 71
      StackMap locals:
      StackMap stack:
            aload 2 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 8
         5: .line 72
            aload 0 /* this */
            aconst_null
            putfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.module:Ljava/lang/String;
         6: .line 73
            aload 0 /* this */
            aconst_null
            putfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.name:Ljava/lang/String;
         7: .line 74
            goto 15
         8: .line 75
      StackMap locals:
      StackMap stack:
            aload 2 /* path */
            bipush 47
            iconst_1
            invokevirtual java.lang.String.indexOf:(II)I
            istore 3 /* pos */
        start local 3 // int pos
         9: .line 76
            iload 3 /* pos */
            iconst_m1
            if_icmpne 13
        10: .line 77
            aload 0 /* this */
            aload 2 /* path */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            putfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.module:Ljava/lang/String;
        11: .line 78
            aload 0 /* this */
            aconst_null
            putfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.name:Ljava/lang/String;
        12: .line 79
            goto 15
        13: .line 80
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* path */
            iconst_1
            iload 3 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.module:Ljava/lang/String;
        14: .line 81
            aload 0 /* this */
            aload 2 /* path */
            iload 3 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic sun.net.www.ParseUtil.decode:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.name:Ljava/lang/String;
        end local 3 // int pos
        15: .line 84
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String path
        end local 1 // java.net.URL url
        end local 0 // sun.net.www.protocol.jrt.JavaRuntimeURLConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lsun/net/www/protocol/jrt/JavaRuntimeURLConnection;
            0   16     1   url  Ljava/net/URL;
            2   16     2  path  Ljava/lang/String;
            9   15     3   pos  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      url   

  private static jdk.internal.loader.Resource findResource(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/loader/Resource;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.lang.String module
        start local 1 // java.lang.String name
         0: .line 91
            getstatic sun.net.www.protocol.jrt.JavaRuntimeURLConnection.reader:Ljdk/internal/jimage/ImageReader;
            ifnull 5
         1: .line 92
            aload 0 /* module */
            aload 1 /* name */
            invokestatic sun.net.www.protocol.jrt.JavaRuntimeURLConnection.toJrtURL:(Ljava/lang/String;Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
        start local 2 // java.net.URL url
         2: .line 93
            getstatic sun.net.www.protocol.jrt.JavaRuntimeURLConnection.reader:Ljdk/internal/jimage/ImageReader;
            aload 0 /* module */
            aload 1 /* name */
            invokevirtual jdk.internal.jimage.ImageReader.findLocation:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/jimage/ImageLocation;
            astore 3 /* location */
        start local 3 // jdk.internal.jimage.ImageLocation location
         3: .line 94
            aload 3 /* location */
            ifnull 5
            aload 2 /* url */
            invokestatic jdk.internal.loader.URLClassPath.checkURL:(Ljava/net/URL;)Ljava/net/URL;
            ifnull 5
         4: .line 95
            new sun.net.www.protocol.jrt.JavaRuntimeURLConnection$1
            dup
            aload 1 /* name */
            aload 2 /* url */
            aload 0 /* module */
            aload 3 /* location */
            invokespecial sun.net.www.protocol.jrt.JavaRuntimeURLConnection$1.<init>:(Ljava/lang/String;Ljava/net/URL;Ljava/lang/String;Ljdk/internal/jimage/ImageLocation;)V
            areturn
        end local 3 // jdk.internal.jimage.ImageLocation location
        end local 2 // java.net.URL url
         5: .line 121
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.String module
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0    module  Ljava/lang/String;
            0    6     1      name  Ljava/lang/String;
            2    5     2       url  Ljava/net/URL;
            3    5     3  location  Ljdk/internal/jimage/ImageLocation;
    MethodParameters:
        Name  Flags
      module  
      name    

  public synchronized void connect();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // sun.net.www.protocol.jrt.JavaRuntimeURLConnection this
         0: .line 126
            aload 0 /* this */
            getfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.connected:Z
            ifne 10
         1: .line 127
            aload 0 /* this */
            getfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.name:Ljava/lang/String;
            ifnonnull 6
         2: .line 128
            aload 0 /* this */
            getfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.module:Ljava/lang/String;
            ifnonnull 3
            ldc ""
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.module:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 1 /* s */
        start local 1 // java.lang.String s
         5: .line 129
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot connect to jrt:/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String s
         6: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.module:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.name:Ljava/lang/String;
            invokestatic sun.net.www.protocol.jrt.JavaRuntimeURLConnection.findResource:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/loader/Resource;
            putfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.resource:Ljdk/internal/loader/Resource;
         7: .line 132
            aload 0 /* this */
            getfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.resource:Ljdk/internal/loader/Resource;
            ifnonnull 9
         8: .line 133
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.module: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 sun.net.www.protocol.jrt.JavaRuntimeURLConnection.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.connected:Z
        10: .line 136
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.net.www.protocol.jrt.JavaRuntimeURLConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/net/www/protocol/jrt/JavaRuntimeURLConnection;
            5    6     1     s  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  public java.io.InputStream getInputStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.net.www.protocol.jrt.JavaRuntimeURLConnection this
         0: .line 140
            aload 0 /* this */
            invokevirtual sun.net.www.protocol.jrt.JavaRuntimeURLConnection.connect:()V
         1: .line 141
            aload 0 /* this */
            getfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.resource:Ljdk/internal/loader/Resource;
            invokevirtual jdk.internal.loader.Resource.getInputStream:()Ljava/io/InputStream;
            areturn
        end local 0 // sun.net.www.protocol.jrt.JavaRuntimeURLConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/net/www/protocol/jrt/JavaRuntimeURLConnection;
    Exceptions:
      throws java.io.IOException

  public long getContentLengthLong();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.net.www.protocol.jrt.JavaRuntimeURLConnection this
         0: .line 147
            aload 0 /* this */
            invokevirtual sun.net.www.protocol.jrt.JavaRuntimeURLConnection.connect:()V
         1: .line 148
            aload 0 /* this */
            getfield sun.net.www.protocol.jrt.JavaRuntimeURLConnection.resource:Ljdk/internal/loader/Resource;
            invokevirtual jdk.internal.loader.Resource.getContentLength:()I
            i2l
         2: lreturn
         3: .line 149
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         4: .line 150
            ldc -1
            lreturn
        end local 0 // sun.net.www.protocol.jrt.JavaRuntimeURLConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/net/www/protocol/jrt/JavaRuntimeURLConnection;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException

  public int getContentLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.net.www.protocol.jrt.JavaRuntimeURLConnection this
         0: .line 156
            aload 0 /* this */
            invokevirtual sun.net.www.protocol.jrt.JavaRuntimeURLConnection.getContentLengthLong:()J
            lstore 1 /* len */
        start local 1 // long len
         1: .line 157
            lload 1 /* len */
            ldc 2147483647
            lcmp
            ifle 2
            iconst_m1
            goto 3
      StackMap locals: long
      StackMap stack:
         2: lload 1 /* len */
            l2i
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 1 // long len
        end local 0 // sun.net.www.protocol.jrt.JavaRuntimeURLConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/net/www/protocol/jrt/JavaRuntimeURLConnection;
            1    4     1   len  J

  public java.security.Permission getPermission();
    descriptor: ()Ljava/security/Permission;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.net.www.protocol.jrt.JavaRuntimeURLConnection this
         0: .line 162
            new java.lang.RuntimePermission
            dup
            ldc "accessSystemModules"
            invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // sun.net.www.protocol.jrt.JavaRuntimeURLConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/net/www/protocol/jrt/JavaRuntimeURLConnection;

  private static java.net.URL toJrtURL(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/net/URL;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.String module
        start local 1 // java.lang.String name
         0: .line 170
            new java.net.URL
            dup
            new java.lang.StringBuilder
            dup
            ldc "jrt:/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* module */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
         1: areturn
         2: .line 171
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            astore 2 /* e */
        start local 2 // java.net.MalformedURLException e
         3: .line 172
            new java.lang.InternalError
            dup
            aload 2 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.net.MalformedURLException e
        end local 1 // java.lang.String name
        end local 0 // java.lang.String module
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  module  Ljava/lang/String;
            0    4     1    name  Ljava/lang/String;
            3    4     2       e  Ljava/net/MalformedURLException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.MalformedURLException
    MethodParameters:
        Name  Flags
      module  
      name    

  private static java.net.URL toJrtURL(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String module
         0: .line 181
            new java.net.URL
            dup
            new java.lang.StringBuilder
            dup
            ldc "jrt:/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* module */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
         1: areturn
         2: .line 182
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            astore 1 /* e */
        start local 1 // java.net.MalformedURLException e
         3: .line 183
            new java.lang.InternalError
            dup
            aload 1 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.net.MalformedURLException e
        end local 0 // java.lang.String module
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  module  Ljava/lang/String;
            3    4     1       e  Ljava/net/MalformedURLException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.MalformedURLException
    MethodParameters:
        Name  Flags
      module  
}
SourceFile: "JavaRuntimeURLConnection.java"
NestMembers:
  sun.net.www.protocol.jrt.JavaRuntimeURLConnection$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  sun.net.www.protocol.jrt.JavaRuntimeURLConnection$1