class jdk.nashorn.internal.runtime.Source$URLData implements jdk.nashorn.internal.runtime.Source$Data
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.Source$URLData
  super_class: java.lang.Object
{
  private final java.net.URL url;
    descriptor: Ljava/net/URL;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final java.nio.charset.Charset cs;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private int hash;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  protected char[] array;
    descriptor: [C
    flags: (0x0004) ACC_PROTECTED

  protected int length;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected long lastModified;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 231
            ldc Ljdk/nashorn/internal/runtime/Source;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.nashorn.internal.runtime.Source$URLData.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.net.URL, java.nio.charset.Charset);
    descriptor: (Ljava/net/URL;Ljava/nio/charset/Charset;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.Source$URLData this
        start local 1 // java.net.URL url
        start local 2 // java.nio.charset.Charset cs
         0: .line 239
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 240
            aload 0 /* this */
            aload 1 /* url */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.net.URL
            putfield jdk.nashorn.internal.runtime.Source$URLData.url:Ljava/net/URL;
         2: .line 241
            aload 0 /* this */
            aload 2 /* cs */
            putfield jdk.nashorn.internal.runtime.Source$URLData.cs:Ljava/nio/charset/Charset;
         3: .line 242
            return
        end local 2 // java.nio.charset.Charset cs
        end local 1 // java.net.URL url
        end local 0 // jdk.nashorn.internal.runtime.Source$URLData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/runtime/Source$URLData;
            0    4     1   url  Ljava/net/URL;
            0    4     2    cs  Ljava/nio/charset/Charset;
    MethodParameters:
      Name  Flags
      url   final
      cs    final

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Source$URLData this
         0: .line 246
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.hash:I
            istore 1 /* h */
        start local 1 // int h
         1: .line 247
            iload 1 /* h */
            ifne 3
         2: .line 248
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.url:Ljava/net/URL;
            invokevirtual java.net.URL.hashCode:()I
            dup_x1
            putfield jdk.nashorn.internal.runtime.Source$URLData.hash:I
            istore 1 /* h */
         3: .line 250
      StackMap locals: int
      StackMap stack:
            iload 1 /* h */
            ireturn
        end local 1 // int h
        end local 0 // jdk.nashorn.internal.runtime.Source$URLData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/runtime/Source$URLData;
            1    4     1     h  I

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.Source$URLData this
        start local 1 // java.lang.Object other
         0: .line 255
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
         1: .line 256
            iconst_1
            ireturn
         2: .line 258
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof jdk.nashorn.internal.runtime.Source$URLData
            ifne 4
         3: .line 259
            iconst_0
            ireturn
         4: .line 262
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast jdk.nashorn.internal.runtime.Source$URLData
            astore 2 /* otherData */
        start local 2 // jdk.nashorn.internal.runtime.Source$URLData otherData
         5: .line 264
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.url:Ljava/net/URL;
            aload 2 /* otherData */
            getfield jdk.nashorn.internal.runtime.Source$URLData.url:Ljava/net/URL;
            invokevirtual java.net.URL.equals:(Ljava/lang/Object;)Z
            ifeq 17
         6: .line 267
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Source$URLData.isDeferred:()Z
            ifeq 10
         7: .line 269
            getstatic jdk.nashorn.internal.runtime.Source$URLData.$assertionsDisabled:Z
            ifne 8
            aload 2 /* otherData */
            invokevirtual jdk.nashorn.internal.runtime.Source$URLData.isDeferred:()Z
            ifeq 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 270
      StackMap locals: jdk.nashorn.internal.runtime.Source$URLData
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Source$URLData.loadMeta:()V
         9: .line 271
            goto 15
      StackMap locals:
      StackMap stack:
        10: aload 2 /* otherData */
            invokevirtual jdk.nashorn.internal.runtime.Source$URLData.isDeferred:()Z
            ifeq 15
        11: .line 272
            aload 2 /* otherData */
            invokevirtual jdk.nashorn.internal.runtime.Source$URLData.loadMeta:()V
        12: .line 274
            goto 15
      StackMap locals:
      StackMap stack: java.io.IOException
        13: astore 3 /* e */
        start local 3 // java.io.IOException e
        14: .line 275
            new java.lang.RuntimeException
            dup
            aload 3 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException e
        15: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.length:I
            aload 2 /* otherData */
            getfield jdk.nashorn.internal.runtime.Source$URLData.length:I
            if_icmpne 16
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.lastModified:J
            aload 2 /* otherData */
            getfield jdk.nashorn.internal.runtime.Source$URLData.lastModified:J
            lcmp
            ifne 16
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        16: iconst_0
            ireturn
        17: .line 281
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // jdk.nashorn.internal.runtime.Source$URLData otherData
        end local 1 // java.lang.Object other
        end local 0 // jdk.nashorn.internal.runtime.Source$URLData this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Ljdk/nashorn/internal/runtime/Source$URLData;
            0   18     1      other  Ljava/lang/Object;
            5   18     2  otherData  Ljdk/nashorn/internal/runtime/Source$URLData;
           14   15     3          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           6    12      13  Class java.io.IOException
    MethodParameters:
       Name  Flags
      other  final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Source$URLData this
         0: .line 286
            new java.lang.String
            dup
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Source$URLData.array:()[C
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 0 // jdk.nashorn.internal.runtime.Source$URLData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Source$URLData;

  public java.net.URL url();
    descriptor: ()Ljava/net/URL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Source$URLData this
         0: .line 291
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.url:Ljava/net/URL;
            areturn
        end local 0 // jdk.nashorn.internal.runtime.Source$URLData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Source$URLData;

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Source$URLData this
         0: .line 296
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.length:I
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Source$URLData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Source$URLData;

  public long lastModified();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Source$URLData this
         0: .line 301
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.lastModified:J
            lreturn
        end local 0 // jdk.nashorn.internal.runtime.Source$URLData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Source$URLData;

  public char[] array();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Source$URLData this
         0: .line 306
            getstatic jdk.nashorn.internal.runtime.Source$URLData.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.Source$URLData.isDeferred:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.array:[C
            areturn
        end local 0 // jdk.nashorn.internal.runtime.Source$URLData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Source$URLData;

  public boolean isEvalCode();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Source$URLData this
         0: .line 312
            iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Source$URLData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/Source$URLData;

  boolean isDeferred();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Source$URLData this
         0: .line 316
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.array:[C
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.Source$URLData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/Source$URLData;

  protected void checkPermissionAndClose();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Source$URLData this
         0: .line 321
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.url:Ljava/net/URL;
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 3 /* in */
        start local 3 // java.io.InputStream in
         2: .line 323
            aload 3 /* in */
            ifnull 8
            aload 3 /* in */
            invokevirtual java.io.InputStream.close:()V
            goto 8
      StackMap locals: jdk.nashorn.internal.runtime.Source$URLData java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
         3: astore 1
            aload 3 /* in */
            ifnull 4
            aload 3 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 3 // java.io.InputStream in
      StackMap locals:
      StackMap stack:
         4: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 2
            aload 1
            ifnonnull 6
            aload 2
            astore 1
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 1
            aload 2
            if_acmpeq 7
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         7: aload 1
            athrow
      StackMap locals:
      StackMap stack:
         8: iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 324
            ldc "permission checked for "
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.url:Ljava/net/URL;
            aastore
            invokestatic jdk.nashorn.internal.runtime.Source.debug:([Ljava/lang/Object;)V
        10: .line 325
            return
        end local 0 // jdk.nashorn.internal.runtime.Source$URLData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljdk/nashorn/internal/runtime/Source$URLData;
            2    4     3    in  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           1     5       5  any
    Exceptions:
      throws java.io.IOException

  protected void load();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Source$URLData this
         0: .line 328
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.array:[C
            ifnonnull 16
         1: .line 329
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.url:Ljava/net/URL;
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            astore 1 /* c */
        start local 1 // java.net.URLConnection c
         2: .line 330
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: aload 1 /* c */
            invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
            astore 4 /* in */
        start local 4 // java.io.InputStream in
         4: .line 331
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.cs:Ljava/nio/charset/Charset;
            ifnonnull 5
            aload 4 /* in */
            invokestatic jdk.nashorn.internal.runtime.Source.readFully:(Ljava/io/InputStream;)[C
            goto 6
      StackMap locals: jdk.nashorn.internal.runtime.Source$URLData java.net.URLConnection java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: jdk.nashorn.internal.runtime.Source$URLData
         5: aload 4 /* in */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.cs:Ljava/nio/charset/Charset;
            invokestatic jdk.nashorn.internal.runtime.Source.readFully:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)[C
      StackMap locals: jdk.nashorn.internal.runtime.Source$URLData java.net.URLConnection java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: jdk.nashorn.internal.runtime.Source$URLData char[]
         6: putfield jdk.nashorn.internal.runtime.Source$URLData.array:[C
         7: .line 332
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.array:[C
            arraylength
            putfield jdk.nashorn.internal.runtime.Source$URLData.length:I
         8: .line 333
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.net.URLConnection.getLastModified:()J
            putfield jdk.nashorn.internal.runtime.Source$URLData.lastModified:J
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 334
            ldc "loaded content for "
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.url:Ljava/net/URL;
            aastore
            invokestatic jdk.nashorn.internal.runtime.Source.debug:([Ljava/lang/Object;)V
        10: .line 335
            aload 4 /* in */
            ifnull 16
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 2
            aload 4 /* in */
            ifnull 12
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.io.InputStream in
      StackMap locals:
      StackMap stack:
        12: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 3
            aload 2
            ifnonnull 14
            aload 3
            astore 2
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 2
            aload 3
            if_acmpeq 15
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
        end local 1 // java.net.URLConnection c
        16: .line 337
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.nashorn.internal.runtime.Source$URLData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Ljdk/nashorn/internal/runtime/Source$URLData;
            2   16     1     c  Ljava/net/URLConnection;
            4   12     4    in  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           4    10      11  any
           3    13      13  any
    Exceptions:
      throws java.io.IOException

  protected void loadMeta();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.Source$URLData this
         0: .line 341
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.length:I
            ifne 13
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.lastModified:J
            lconst_0
            lcmp
            ifne 13
         1: .line 342
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.url:Ljava/net/URL;
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            astore 1 /* c */
        start local 1 // java.net.URLConnection c
         2: .line 343
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: aload 1 /* c */
            invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
            astore 4 /* in */
        start local 4 // java.io.InputStream in
         4: .line 344
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.net.URLConnection.getContentLength:()I
            putfield jdk.nashorn.internal.runtime.Source$URLData.length:I
         5: .line 345
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.net.URLConnection.getLastModified:()J
            putfield jdk.nashorn.internal.runtime.Source$URLData.lastModified:J
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 346
            ldc "loaded metadata for "
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.Source$URLData.url:Ljava/net/URL;
            aastore
            invokestatic jdk.nashorn.internal.runtime.Source.debug:([Ljava/lang/Object;)V
         7: .line 347
            aload 4 /* in */
            ifnull 13
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
            goto 13
      StackMap locals: jdk.nashorn.internal.runtime.Source$URLData java.net.URLConnection java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 4 /* in */
            ifnull 9
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.io.InputStream in
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 2
            ifnonnull 11
            aload 3
            astore 2
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 2
            aload 3
            if_acmpeq 12
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 2
            athrow
        end local 1 // java.net.URLConnection c
        13: .line 349
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.nashorn.internal.runtime.Source$URLData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljdk/nashorn/internal/runtime/Source$URLData;
            2   13     1     c  Ljava/net/URLConnection;
            4    9     4    in  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           4     7       8  any
           3    10      10  any
    Exceptions:
      throws java.io.IOException
}
SourceFile: "Source.java"
NestHost: jdk.nashorn.internal.runtime.Source
InnerClasses:
  private abstract Data = jdk.nashorn.internal.runtime.Source$Data of jdk.nashorn.internal.runtime.Source
  private URLData = jdk.nashorn.internal.runtime.Source$URLData of jdk.nashorn.internal.runtime.Source