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 start local 1 0: aload 0
invokespecial sun.awt.image.InputStreamImageSource.<init>:()V
1: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 2: aload 2
ifnull 21
3: aload 1
invokestatic sun.net.util.URLUtil.getConnectPermission:(Ljava/net/URL;)Ljava/security/Permission;
4: astore 3
start local 3 5: aload 3
ifnull 21
6: aload 2
aload 3
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
7: 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
start local 4 9: aload 3
instanceof java.io.FilePermission
ifeq 13
10: aload 3
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: aload 2
aload 3
invokevirtual java.security.Permission.getName:()Ljava/lang/String;
invokevirtual java.lang.SecurityManager.checkRead:(Ljava/lang/String;)V
12: goto 21
StackMap locals: java.lang.SecurityException
StackMap stack:
13: aload 3
instanceof java.net.SocketPermission
14: ifeq 18
15: aload 3
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: aload 2
aload 1
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
aload 1
invokevirtual java.net.URL.getPort:()I
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
17: goto 21
18: StackMap locals:
StackMap stack:
aload 4
athrow
end local 4 end local 3 19: StackMap locals: sun.awt.image.URLImageSource java.net.URL java.lang.SecurityManager
StackMap stack: java.io.IOException
pop
20: aload 2
aload 1
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
aload 1
invokevirtual java.net.URL.getPort:()I
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
21: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield sun.awt.image.URLImageSource.url:Ljava/net/URL;
22: return
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
new java.net.URL
dup
aconst_null
aload 1
invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
invokespecial sun.awt.image.URLImageSource.<init>:(Ljava/net/URL;)V
1: return
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
invokespecial sun.awt.image.URLImageSource.<init>:(Ljava/net/URL;)V
1: aload 0
aload 2
putfield sun.awt.image.URLImageSource.conn:Ljava/net/URLConnection;
2: return
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokevirtual java.net.URLConnection.getURL:()Ljava/net/URL;
aload 1
invokespecial sun.awt.image.URLImageSource.<init>:(Ljava/net/URL;Ljava/net/URLConnection;)V
1: return
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield sun.awt.image.URLImageSource.actualHost:Ljava/lang/String;
ifnull 9
1: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 2: aload 3
ifnull 9
3: aload 3
aload 0
getfield sun.awt.image.URLImageSource.actualHost:Ljava/lang/String;
aload 0
getfield sun.awt.image.URLImageSource.actualPort:I
aload 1
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;ILjava/lang/Object;)V
end local 3 4: goto 9
StackMap locals:
StackMap stack: java.lang.SecurityException
5: astore 3
start local 3 6: iload 2
ifne 8
7: aload 3
athrow
8: StackMap locals: java.lang.SecurityException
StackMap stack:
iconst_0
ireturn
end local 3 9: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 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 0: aload 0
getfield sun.awt.image.URLImageSource.conn:Ljava/net/URLConnection;
ifnull 4
1: aload 0
getfield sun.awt.image.URLImageSource.conn:Ljava/net/URLConnection;
astore 1
start local 1 2: aload 0
aconst_null
putfield sun.awt.image.URLImageSource.conn:Ljava/net/URLConnection;
3: goto 5
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.image.URLImageSource.url:Ljava/net/URL;
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
astore 1
start local 1 5: StackMap locals: java.net.URLConnection
StackMap stack:
aload 1
areturn
end local 1 end local 0 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 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: aload 0
invokevirtual sun.awt.image.URLImageSource.getConnection:()Ljava/net/URLConnection;
astore 3
4: aload 3
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
astore 1
5: aload 3
invokevirtual java.net.URLConnection.getContentType:()Ljava/lang/String;
astore 2
6: aload 3
invokevirtual java.net.URLConnection.getURL:()Ljava/net/URL;
astore 4
start local 4 7: aload 4
aload 0
getfield sun.awt.image.URLImageSource.url:Ljava/net/URL;
if_acmpeq 24
aload 4
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
aload 0
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: aload 4
invokevirtual java.net.URL.getPort:()I
aload 0
getfield sun.awt.image.URLImageSource.url:Ljava/net/URL;
invokevirtual java.net.URL.getPort:()I
if_icmpeq 24
9: StackMap locals: sun.awt.image.URLImageSource java.io.InputStream java.lang.String java.net.URLConnection java.net.URL
StackMap stack:
aload 0
getfield sun.awt.image.URLImageSource.actualHost:Ljava/lang/String;
ifnull 12
aload 0
getfield sun.awt.image.URLImageSource.actualHost:Ljava/lang/String;
aload 4
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: aload 0
getfield sun.awt.image.URLImageSource.actualPort:I
aload 4
invokevirtual java.net.URL.getPort:()I
if_icmpeq 12
11: StackMap locals:
StackMap stack:
new java.lang.SecurityException
dup
ldc "image moved!"
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
putfield sun.awt.image.URLImageSource.actualHost:Ljava/lang/String;
13: aload 0
aload 4
invokevirtual java.net.URL.getPort:()I
putfield sun.awt.image.URLImageSource.actualPort:I
end local 4 14: 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: aload 1
ifnull 21
17: aload 1
invokevirtual java.io.InputStream.close:()V
18: goto 23
StackMap locals:
StackMap stack: java.io.IOException
19: pop
20: goto 23
StackMap locals:
StackMap stack:
21: aload 3
instanceof java.net.HttpURLConnection
ifeq 23
22: aload 3
checkcast java.net.HttpURLConnection
invokevirtual java.net.HttpURLConnection.disconnect:()V
23: StackMap locals:
StackMap stack:
aconst_null
areturn
24: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual sun.awt.image.URLImageSource.decoderForType:(Ljava/io/InputStream;Ljava/lang/String;)Lsun/awt/image/ImageDecoder;
astore 4
start local 4 25: aload 4
ifnonnull 27
26: aload 0
aload 1
invokevirtual sun.awt.image.URLImageSource.getDecoder:(Ljava/io/InputStream;)Lsun/awt/image/ImageDecoder;
astore 4
27: StackMap locals: sun.awt.image.ImageDecoder
StackMap stack:
aload 4
ifnonnull 35
28: aload 1
ifnull 33
29: aload 1
invokevirtual java.io.InputStream.close:()V
30: goto 35
StackMap locals:
StackMap stack: java.io.IOException
31: pop
32: goto 35
StackMap locals:
StackMap stack:
33: aload 3
instanceof java.net.HttpURLConnection
ifeq 35
34: aload 3
checkcast java.net.HttpURLConnection
invokevirtual java.net.HttpURLConnection.disconnect:()V
35: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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"