public class sun.net.util.URLUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.net.util.URLUtil
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/util/URLUtil;
public static java.lang.String urlNoFragString(java.net.URL);
descriptor: (Ljava/net/URL;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
ifnull 6
3: aload 2
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 2
4: aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 1
ldc "://"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: StackMap locals: java.lang.StringBuilder java.lang.String
StackMap stack:
aload 0
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
astore 3
start local 3 7: aload 3
ifnull 15
8: aload 3
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 3
9: aload 1
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: aload 0
invokevirtual java.net.URL.getPort:()I
istore 4
start local 4 11: iload 4
iconst_m1
if_icmpne 13
12: aload 0
invokevirtual java.net.URL.getDefaultPort:()I
istore 4
13: StackMap locals: java.lang.String int
StackMap stack:
iload 4
iconst_m1
if_icmpeq 15
14: aload 1
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
end local 4 15: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.URL.getFile:()Ljava/lang/String;
astore 4
start local 4 16: aload 4
ifnull 18
17: aload 1
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 url Ljava/net/URL;
1 19 1 strForm Ljava/lang/StringBuilder;
2 19 2 protocol Ljava/lang/String;
7 19 3 host Ljava/lang/String;
11 15 4 port I
16 19 4 file Ljava/lang/String;
MethodParameters:
Name Flags
url
public static java.security.Permission getConnectPermission(java.net.URL);
descriptor: (Ljava/net/URL;)Ljava/security/Permission;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.net.URL.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
ldc "http:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 2
aload 1
ldc "https:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
2: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokestatic sun.net.util.URLUtil.getURLConnectPermission:(Ljava/net/URL;)Ljava/security/Permission;
areturn
3: StackMap locals:
StackMap stack:
aload 1
ldc "jar:http:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 4
aload 1
ldc "jar:https:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.URL.toString:()Ljava/lang/String;
astore 2
start local 2 5: aload 2
ldc "!/"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 3
start local 3 6: aload 2
iconst_4
iload 3
iconst_m1
if_icmple 7
iload 3
goto 8
StackMap locals: java.net.URL java.lang.String java.lang.String int
StackMap stack: java.lang.String int
7: aload 2
invokevirtual java.lang.String.length:()I
StackMap locals: java.net.URL java.lang.String java.lang.String int
StackMap stack: java.lang.String int int
8: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
9: new java.net.URL
dup
aload 2
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 4
start local 4 10: aload 4
invokestatic sun.net.util.URLUtil.getURLConnectPermission:(Ljava/net/URL;)Ljava/security/Permission;
areturn
end local 4 end local 3 end local 2 11: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
invokevirtual java.net.URLConnection.getPermission:()Ljava/security/Permission;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 url Ljava/net/URL;
1 12 1 urlStringLowerCase Ljava/lang/String;
5 11 2 urlString Ljava/lang/String;
6 11 3 bangPos I
10 11 4 u Ljava/net/URL;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
url
private static java.security.Permission getURLConnectPermission(java.net.URL);
descriptor: (Ljava/net/URL;)Ljava/security/Permission;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.net.URL.getProtocol:()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
invokevirtual java.net.URL.getAuthority:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.net.URL.getPath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
start local 1 1: new java.net.URLPermission
dup
aload 1
invokespecial java.net.URLPermission.<init>:(Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 url Ljava/net/URL;
1 2 1 urlString Ljava/lang/String;
MethodParameters:
Name Flags
url
}
SourceFile: "URLUtil.java"