public class sun.awt.image.URLImageSource extends sun.awt.image.InputStreamImageSource
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.image.URLImageSource
  super_class: sun.awt.image.InputStreamImageSource
{
  java.net.URL url;
    descriptor: Ljava/net/URL;
    flags: (0x0000) 

  java.net.URLConnection conn;
    descriptor: Ljava/net/URLConnection;
    flags: (0x0000) 

  java.lang.String actualHost;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  int actualPort;
    descriptor: I
    flags: (0x0000) 

  public void <init>(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.awt.image.URLImageSource this
        start local 1 // java.net.URL u
         0: .line 42
            aload 0 /* this */
            invokespecial sun.awt.image.InputStreamImageSource.<init>:()V
         1: .line 43
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         2: .line 44
            aload 2 /* sm */
            ifnull 10
         3: .line 47
            aload 1 /* u */
            invokestatic sun.net.util.URLUtil.getConnectPermission:(Ljava/net/URL;)Ljava/security/Permission;
         4: .line 46
            astore 3 /* perm */
        start local 3 // java.security.Permission perm
         5: .line 48
            aload 3 /* perm */
            ifnull 10
         6: .line 49
            aload 2 /* sm */
            aload 3 /* perm */
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 3 // java.security.Permission perm
         7: .line 51
            goto 10
      StackMap locals: sun.awt.image.URLImageSource java.net.URL java.lang.SecurityManager
      StackMap stack: java.io.IOException
         8: pop
         9: .line 52
            aload 2 /* sm */
            aload 1 /* u */
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            aload 1 /* u */
            invokevirtual java.net.URL.getPort:()I
            invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
        10: .line 55
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* u */
            putfield sun.awt.image.URLImageSource.url:Ljava/net/URL;
        11: .line 57
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.net.URL u
        end local 0 // sun.awt.image.URLImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/awt/image/URLImageSource;
            0   12     1     u  Ljava/net/URL;
            2   12     2    sm  Ljava/lang/SecurityManager;
            5    7     3  perm  Ljava/security/Permission;
      Exception table:
        from    to  target  type
           3     7       8  Class java.io.IOException
    MethodParameters:
      Name  Flags
      u     

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.awt.image.URLImageSource this
        start local 1 // java.lang.String href
         0: .line 60
            aload 0 /* this */
            new java.net.URL
            dup
            aconst_null
            aload 1 /* href */
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            invokespecial sun.awt.image.URLImageSource.<init>:(Ljava/net/URL;)V
         1: .line 61
            return
        end local 1 // java.lang.String href
        end local 0 // sun.awt.image.URLImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/image/URLImageSource;
            0    2     1  href  Ljava/lang/String;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
      Name  Flags
      href  

  public void <init>(java.net.URL, java.net.URLConnection);
    descriptor: (Ljava/net/URL;Ljava/net/URLConnection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.awt.image.URLImageSource this
        start local 1 // java.net.URL u
        start local 2 // java.net.URLConnection uc
         0: .line 64
            aload 0 /* this */
            aload 1 /* u */
            invokespecial sun.awt.image.URLImageSource.<init>:(Ljava/net/URL;)V
         1: .line 65
            aload 0 /* this */
            aload 2 /* uc */
            putfield sun.awt.image.URLImageSource.conn:Ljava/net/URLConnection;
         2: .line 66
            return
        end local 2 // java.net.URLConnection uc
        end local 1 // java.net.URL u
        end local 0 // sun.awt.image.URLImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/image/URLImageSource;
            0    3     1     u  Ljava/net/URL;
            0    3     2    uc  Ljava/net/URLConnection;
    MethodParameters:
      Name  Flags
      u     
      uc    

  public void <init>(java.net.URLConnection);
    descriptor: (Ljava/net/URLConnection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.awt.image.URLImageSource this
        start local 1 // java.net.URLConnection uc
         0: .line 69
            aload 0 /* this */
            aload 1 /* uc */
            invokevirtual java.net.URLConnection.getURL:()Ljava/net/URL;
            aload 1 /* uc */
            invokespecial sun.awt.image.URLImageSource.<init>:(Ljava/net/URL;Ljava/net/URLConnection;)V
         1: .line 70
            return
        end local 1 // java.net.URLConnection uc
        end local 0 // sun.awt.image.URLImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/image/URLImageSource;
            0    2     1    uc  Ljava/net/URLConnection;
    MethodParameters:
      Name  Flags
      uc    

  final boolean checkSecurity(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.awt.image.URLImageSource this
        start local 1 // java.lang.Object context
        start local 2 // boolean quiet
         0: .line 79
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.actualHost:Ljava/lang/String;
            ifnull 9
         1: .line 81
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* security */
        start local 3 // java.lang.SecurityManager security
         2: .line 82
            aload 3 /* security */
            ifnull 9
         3: .line 83
            aload 3 /* security */
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.actualHost:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.actualPort:I
            aload 1 /* context */
            invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;ILjava/lang/Object;)V
        end local 3 // java.lang.SecurityManager security
         4: .line 85
            goto 9
      StackMap locals:
      StackMap stack: java.lang.SecurityException
         5: astore 3 /* e */
        start local 3 // java.lang.SecurityException e
         6: .line 86
            iload 2 /* quiet */
            ifne 8
         7: .line 87
            aload 3 /* e */
            athrow
         8: .line 89
      StackMap locals: java.lang.SecurityException
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.SecurityException e
         9: .line 92
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // boolean quiet
        end local 1 // java.lang.Object context
        end local 0 // sun.awt.image.URLImageSource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lsun/awt/image/URLImageSource;
            0   10     1   context  Ljava/lang/Object;
            0   10     2     quiet  Z
            2    4     3  security  Ljava/lang/SecurityManager;
            6    9     3         e  Ljava/lang/SecurityException;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.SecurityException
    MethodParameters:
         Name  Flags
      context  
      quiet    

  private synchronized java.net.URLConnection getConnection();
    descriptor: ()Ljava/net/URLConnection;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.awt.image.URLImageSource this
         0: .line 97
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.conn:Ljava/net/URLConnection;
            ifnull 4
         1: .line 98
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.conn:Ljava/net/URLConnection;
            astore 1 /* c */
        start local 1 // java.net.URLConnection c
         2: .line 99
            aload 0 /* this */
            aconst_null
            putfield sun.awt.image.URLImageSource.conn:Ljava/net/URLConnection;
         3: .line 100
            goto 5
        end local 1 // java.net.URLConnection c
         4: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.url:Ljava/net/URL;
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            astore 1 /* c */
        start local 1 // java.net.URLConnection c
         5: .line 103
      StackMap locals: java.net.URLConnection
      StackMap stack:
            aload 1 /* c */
            areturn
        end local 1 // java.net.URLConnection c
        end local 0 // sun.awt.image.URLImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/awt/image/URLImageSource;
            2    4     1     c  Ljava/net/URLConnection;
            5    6     1     c  Ljava/net/URLConnection;
    Exceptions:
      throws java.io.IOException

  protected sun.awt.image.ImageDecoder getDecoder();
    descriptor: ()Lsun/awt/image/ImageDecoder;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // sun.awt.image.URLImageSource this
         0: .line 107
            aconst_null
            astore 1 /* is */
        start local 1 // java.io.InputStream is
         1: .line 108
            aconst_null
            astore 2 /* type */
        start local 2 // java.lang.String type
         2: .line 109
            aconst_null
            astore 3 /* c */
        start local 3 // java.net.URLConnection c
         3: .line 111
            aload 0 /* this */
            invokevirtual sun.awt.image.URLImageSource.getConnection:()Ljava/net/URLConnection;
            astore 3 /* c */
         4: .line 112
            aload 3 /* c */
            invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
            astore 1 /* is */
         5: .line 113
            aload 3 /* c */
            invokevirtual java.net.URLConnection.getContentType:()Ljava/lang/String;
            astore 2 /* type */
         6: .line 114
            aload 3 /* c */
            invokevirtual java.net.URLConnection.getURL:()Ljava/net/URL;
            astore 4 /* u */
        start local 4 // java.net.URL u
         7: .line 115
            aload 4 /* u */
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.url:Ljava/net/URL;
            if_acmpeq 24
            aload 4 /* u */
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.url:Ljava/net/URL;
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 116
            aload 4 /* u */
            invokevirtual java.net.URL.getPort:()I
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.url:Ljava/net/URL;
            invokevirtual java.net.URL.getPort:()I
            if_icmpeq 24
         9: .line 122
      StackMap locals: sun.awt.image.URLImageSource java.io.InputStream java.lang.String java.net.URLConnection java.net.URL
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.actualHost:Ljava/lang/String;
            ifnull 12
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.actualHost:Ljava/lang/String;
            aload 4 /* u */
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 123
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.actualPort:I
            aload 4 /* u */
            invokevirtual java.net.URL.getPort:()I
            if_icmpeq 12
        11: .line 125
      StackMap locals:
      StackMap stack:
            new java.lang.SecurityException
            dup
            ldc "image moved!"
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* u */
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            putfield sun.awt.image.URLImageSource.actualHost:Ljava/lang/String;
        13: .line 128
            aload 0 /* this */
            aload 4 /* u */
            invokevirtual java.net.URL.getPort:()I
            putfield sun.awt.image.URLImageSource.actualPort:I
        end local 4 // java.net.URL u
        14: .line 130
            goto 24
      StackMap locals: sun.awt.image.URLImageSource java.io.InputStream java.lang.String java.net.URLConnection
      StackMap stack: java.io.IOException
        15: pop
        16: .line 131
            aload 1 /* is */
            ifnull 21
        17: .line 133
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        18: .line 134
            goto 23
      StackMap locals:
      StackMap stack: java.io.IOException
        19: pop
        20: .line 136
            goto 23
      StackMap locals:
      StackMap stack:
        21: aload 3 /* c */
            instanceof java.net.HttpURLConnection
            ifeq 23
        22: .line 137
            aload 3 /* c */
            checkcast java.net.HttpURLConnection
            invokevirtual java.net.HttpURLConnection.disconnect:()V
        23: .line 139
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        24: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* is */
            aload 2 /* type */
            invokevirtual sun.awt.image.URLImageSource.decoderForType:(Ljava/io/InputStream;Ljava/lang/String;)Lsun/awt/image/ImageDecoder;
            astore 4 /* id */
        start local 4 // sun.awt.image.ImageDecoder id
        25: .line 143
            aload 4 /* id */
            ifnonnull 27
        26: .line 144
            aload 0 /* this */
            aload 1 /* is */
            invokevirtual sun.awt.image.URLImageSource.getDecoder:(Ljava/io/InputStream;)Lsun/awt/image/ImageDecoder;
            astore 4 /* id */
        27: .line 147
      StackMap locals: sun.awt.image.ImageDecoder
      StackMap stack:
            aload 4 /* id */
            ifnonnull 35
        28: .line 149
            aload 1 /* is */
            ifnull 33
        29: .line 151
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        30: .line 152
            goto 35
      StackMap locals:
      StackMap stack: java.io.IOException
        31: pop
        32: .line 154
            goto 35
      StackMap locals:
      StackMap stack:
        33: aload 3 /* c */
            instanceof java.net.HttpURLConnection
            ifeq 35
        34: .line 155
            aload 3 /* c */
            checkcast java.net.HttpURLConnection
            invokevirtual java.net.HttpURLConnection.disconnect:()V
        35: .line 158
      StackMap locals:
      StackMap stack:
            aload 4 /* id */
            areturn
        end local 4 // sun.awt.image.ImageDecoder id
        end local 3 // java.net.URLConnection c
        end local 2 // java.lang.String type
        end local 1 // java.io.InputStream is
        end local 0 // sun.awt.image.URLImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   36     0  this  Lsun/awt/image/URLImageSource;
            1   36     1    is  Ljava/io/InputStream;
            2   36     2  type  Ljava/lang/String;
            3   36     3     c  Ljava/net/URLConnection;
            7   14     4     u  Ljava/net/URL;
           25   36     4    id  Lsun/awt/image/ImageDecoder;
      Exception table:
        from    to  target  type
           3    14      15  Class java.io.IOException
          17    18      19  Class java.io.IOException
          29    30      31  Class java.io.IOException
}
SourceFile: "URLImageSource.java"