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=5, 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 21
         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 21
         6: .line 50
            aload 2 /* sm */
            aload 3 /* perm */
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         7: .line 51
            goto 21
      StackMap locals: sun.awt.image.URLImageSource java.net.URL java.lang.SecurityManager java.security.Permission
      StackMap stack: java.lang.SecurityException
         8: astore 4 /* se */
        start local 4 // java.lang.SecurityException se
         9: .line 54
            aload 3 /* perm */
            instanceof java.io.FilePermission
            ifeq 13
        10: .line 55
            aload 3 /* perm */
            invokevirtual java.security.Permission.getActions:()Ljava/lang/String;
            ldc "read"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 13
        11: .line 56
            aload 2 /* sm */
            aload 3 /* perm */
            invokevirtual java.security.Permission.getName:()Ljava/lang/String;
            invokevirtual java.lang.SecurityManager.checkRead:(Ljava/lang/String;)V
        12: .line 57
            goto 21
      StackMap locals: java.lang.SecurityException
      StackMap stack:
        13: aload 3 /* perm */
            instanceof java.net.SocketPermission
        14: .line 58
            ifeq 18
        15: .line 59
            aload 3 /* perm */
            invokevirtual java.security.Permission.getActions:()Ljava/lang/String;
            ldc "connect"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 18
        16: .line 60
            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
        17: .line 61
            goto 21
        18: .line 62
      StackMap locals:
      StackMap stack:
            aload 4 /* se */
            athrow
        end local 4 // java.lang.SecurityException se
        end local 3 // java.security.Permission perm
        19: .line 66
      StackMap locals: sun.awt.image.URLImageSource java.net.URL java.lang.SecurityManager
      StackMap stack: java.io.IOException
            pop
        20: .line 67
            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
        21: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* u */
            putfield sun.awt.image.URLImageSource.url:Ljava/net/URL;
        22: .line 72
            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   23     0  this  Lsun/awt/image/URLImageSource;
            0   23     1     u  Ljava/net/URL;
            2   23     2    sm  Ljava/lang/SecurityManager;
            5   19     3  perm  Ljava/security/Permission;
            9   19     4    se  Ljava/lang/SecurityException;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.SecurityException
           3    19      19  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 75
            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 76
            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 79
            aload 0 /* this */
            aload 1 /* u */
            invokespecial sun.awt.image.URLImageSource.<init>:(Ljava/net/URL;)V
         1: .line 80
            aload 0 /* this */
            aload 2 /* uc */
            putfield sun.awt.image.URLImageSource.conn:Ljava/net/URLConnection;
         2: .line 81
            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 84
            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 85
            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 94
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.actualHost:Ljava/lang/String;
            ifnull 9
         1: .line 96
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* security */
        start local 3 // java.lang.SecurityManager security
         2: .line 97
            aload 3 /* security */
            ifnull 9
         3: .line 98
            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 100
            goto 9
      StackMap locals:
      StackMap stack: java.lang.SecurityException
         5: astore 3 /* e */
        start local 3 // java.lang.SecurityException e
         6: .line 101
            iload 2 /* quiet */
            ifne 8
         7: .line 102
            aload 3 /* e */
            athrow
         8: .line 104
      StackMap locals: java.lang.SecurityException
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.SecurityException e
         9: .line 107
      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 112
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.conn:Ljava/net/URLConnection;
            ifnull 4
         1: .line 113
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.conn:Ljava/net/URLConnection;
            astore 1 /* c */
        start local 1 // java.net.URLConnection c
         2: .line 114
            aload 0 /* this */
            aconst_null
            putfield sun.awt.image.URLImageSource.conn:Ljava/net/URLConnection;
         3: .line 115
            goto 5
        end local 1 // java.net.URLConnection c
         4: .line 116
      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 118
      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 122
            aconst_null
            astore 1 /* is */
        start local 1 // java.io.InputStream is
         1: .line 123
            aconst_null
            astore 2 /* type */
        start local 2 // java.lang.String type
         2: .line 124
            aconst_null
            astore 3 /* c */
        start local 3 // java.net.URLConnection c
         3: .line 126
            aload 0 /* this */
            invokevirtual sun.awt.image.URLImageSource.getConnection:()Ljava/net/URLConnection;
            astore 3 /* c */
         4: .line 127
            aload 3 /* c */
            invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
            astore 1 /* is */
         5: .line 128
            aload 3 /* c */
            invokevirtual java.net.URLConnection.getContentType:()Ljava/lang/String;
            astore 2 /* type */
         6: .line 129
            aload 3 /* c */
            invokevirtual java.net.URLConnection.getURL:()Ljava/net/URL;
            astore 4 /* u */
        start local 4 // java.net.URL u
         7: .line 130
            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 131
            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 137
      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 138
            aload 0 /* this */
            getfield sun.awt.image.URLImageSource.actualPort:I
            aload 4 /* u */
            invokevirtual java.net.URL.getPort:()I
            if_icmpeq 12
        11: .line 140
      StackMap locals:
      StackMap stack:
            new java.lang.SecurityException
            dup
            ldc "image moved!"
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 142
      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 143
            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 145
            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 146
            aload 1 /* is */
            ifnull 21
        17: .line 148
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        18: .line 149
            goto 23
      StackMap locals:
      StackMap stack: java.io.IOException
        19: pop
        20: .line 151
            goto 23
      StackMap locals:
      StackMap stack:
        21: aload 3 /* c */
            instanceof java.net.HttpURLConnection
            ifeq 23
        22: .line 152
            aload 3 /* c */
            checkcast java.net.HttpURLConnection
            invokevirtual java.net.HttpURLConnection.disconnect:()V
        23: .line 154
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        24: .line 157
      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 158
            aload 4 /* id */
            ifnonnull 27
        26: .line 159
            aload 0 /* this */
            aload 1 /* is */
            invokevirtual sun.awt.image.URLImageSource.getDecoder:(Ljava/io/InputStream;)Lsun/awt/image/ImageDecoder;
            astore 4 /* id */
        27: .line 162
      StackMap locals: sun.awt.image.ImageDecoder
      StackMap stack:
            aload 4 /* id */
            ifnonnull 35
        28: .line 164
            aload 1 /* is */
            ifnull 33
        29: .line 166
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        30: .line 167
            goto 35
      StackMap locals:
      StackMap stack: java.io.IOException
        31: pop
        32: .line 169
            goto 35
      StackMap locals:
      StackMap stack:
        33: aload 3 /* c */
            instanceof java.net.HttpURLConnection
            ifeq 35
        34: .line 170
            aload 3 /* c */
            checkcast java.net.HttpURLConnection
            invokevirtual java.net.HttpURLConnection.disconnect:()V
        35: .line 173
      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"