class sun.nio.fs.WindowsUriSupport
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.fs.WindowsUriSupport
super_class: java.lang.Object
{
private static final java.lang.String IPV6_LITERAL_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ".ipv6-literal.net"
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/fs/WindowsUriSupport;
private static java.net.URI toUri(java.lang.String, boolean, boolean);
descriptor: (Ljava/lang/String;ZZ)Ljava/net/URI;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 11
1: aload 0
bipush 92
iconst_2
invokevirtual java.lang.String.indexOf:(II)I
istore 5
start local 5 2: aload 0
iconst_2
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 3: aload 0
iload 5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
bipush 92
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 4
start local 4 4: aload 3
ldc ".ipv6-literal.net"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 13
5: aload 3
6: iconst_0
aload 3
invokevirtual java.lang.String.length:()I
ldc ".ipv6-literal.net"
invokevirtual java.lang.String.length:()I
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
7: bipush 45
bipush 58
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
8: bipush 115
bipush 37
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
9: astore 3
end local 5 10: goto 13
end local 4 end local 3 11: StackMap locals:
StackMap stack:
ldc ""
astore 3
start local 3 12: new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
bipush 92
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 13: StackMap locals: java.lang.String java.lang.String
StackMap stack:
iload 2
ifeq 15
14: new java.lang.StringBuilder
dup
aload 4
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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
15: StackMap locals:
StackMap stack:
new java.net.URI
dup
ldc "file"
aload 3
aload 4
aconst_null
invokespecial java.net.URI.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
16: areturn
17: StackMap locals:
StackMap stack: java.net.URISyntaxException
astore 5
start local 5 18: iload 1
ifne 20
19: new java.lang.AssertionError
dup
aload 5
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 5 20: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "//"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
bipush 92
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
21: iload 2
ifeq 23
22: new java.lang.StringBuilder
dup
aload 4
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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
23: StackMap locals:
StackMap stack:
new java.net.URI
dup
ldc "file"
aconst_null
aload 4
aconst_null
invokespecial java.net.URI.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
24: areturn
25: StackMap locals:
StackMap stack: java.net.URISyntaxException
astore 5
start local 5 26: new java.lang.AssertionError
dup
aload 5
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 path Ljava/lang/String;
0 27 1 isUnc Z
0 27 2 addSlash Z
3 11 3 uriHost Ljava/lang/String;
12 27 3 uriHost Ljava/lang/String;
4 11 4 uriPath Ljava/lang/String;
13 27 4 uriPath Ljava/lang/String;
2 10 5 slash I
18 20 5 x Ljava/net/URISyntaxException;
26 27 5 x Ljava/net/URISyntaxException;
Exception table:
from to target type
15 16 17 Class java.net.URISyntaxException
23 24 25 Class java.net.URISyntaxException
MethodParameters:
Name Flags
path
isUnc
addSlash
static java.net.URI toUri(sun.nio.fs.WindowsPath);
descriptor: (Lsun/nio/fs/WindowsPath;)Ljava/net/URI;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual sun.nio.fs.WindowsPath.toAbsolutePath:()Lsun/nio/fs/WindowsPath;
astore 0
1: aload 0
invokevirtual sun.nio.fs.WindowsPath.toString:()Ljava/lang/String;
astore 1
start local 1 2: iconst_0
istore 2
start local 2 3: aload 1
ldc "\\"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 7
4: aload 0
iconst_1
invokestatic sun.nio.fs.WindowsFileAttributes.get:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributes;
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
istore 2
5: goto 7
StackMap locals: sun.nio.fs.WindowsPath java.lang.String int
StackMap stack: sun.nio.fs.WindowsException
6: pop
7: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual sun.nio.fs.WindowsPath.isUnc:()Z
iload 2
invokestatic sun.nio.fs.WindowsUriSupport.toUri:(Ljava/lang/String;ZZ)Ljava/net/URI;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 path Lsun/nio/fs/WindowsPath;
2 8 1 s Ljava/lang/String;
3 8 2 addSlash Z
Exception table:
from to target type
4 5 6 Class sun.nio.fs.WindowsException
MethodParameters:
Name Flags
path
static sun.nio.fs.WindowsPath fromUri(sun.nio.fs.WindowsFileSystem, java.net.URI);
descriptor: (Lsun/nio/fs/WindowsFileSystem;Ljava/net/URI;)Lsun/nio/fs/WindowsPath;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.net.URI.isAbsolute:()Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "URI is not absolute"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.net.URI.isOpaque:()Z
ifeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "URI is not hierarchical"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
astore 2
start local 2 5: aload 2
ifnull 6
aload 2
ldc "file"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 7
6: StackMap locals: java.lang.String
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "URI scheme is not \"file\""
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.net.URI.getFragment:()Ljava/lang/String;
ifnull 9
8: new java.lang.IllegalArgumentException
dup
ldc "URI has a fragment component"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.net.URI.getQuery:()Ljava/lang/String;
ifnull 11
10: new java.lang.IllegalArgumentException
dup
ldc "URI has a query component"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
astore 3
start local 3 12: aload 3
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
13: new java.lang.IllegalArgumentException
dup
ldc "URI path component is empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual java.net.URI.getAuthority:()Ljava/lang/String;
astore 4
start local 4 15: aload 4
ifnull 31
aload 4
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 31
16: aload 1
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
astore 5
start local 5 17: aload 5
ifnonnull 19
18: new java.lang.IllegalArgumentException
dup
ldc "URI authority component has undefined host"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 1
invokevirtual java.net.URI.getUserInfo:()Ljava/lang/String;
ifnull 21
20: new java.lang.IllegalArgumentException
dup
ldc "URI authority component has user-info"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.net.URI.getPort:()I
iconst_m1
if_icmpeq 23
22: new java.lang.IllegalArgumentException
dup
ldc "URI authority component has port number"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 5
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 29
24: aload 5
iconst_1
aload 5
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
25: bipush 58
bipush 45
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
26: bipush 37
bipush 115
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
27: astore 5
28: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".ipv6-literal.net"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
29: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "\\\\"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
end local 5 30: goto 33
31: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.String.length:()I
iconst_2
if_icmple 33
aload 3
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 58
if_icmpne 33
32: aload 3
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
33: StackMap locals:
StackMap stack:
aload 0
aload 3
invokestatic sun.nio.fs.WindowsPath.parse:(Lsun/nio/fs/WindowsFileSystem;Ljava/lang/String;)Lsun/nio/fs/WindowsPath;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 fs Lsun/nio/fs/WindowsFileSystem;
0 34 1 uri Ljava/net/URI;
5 34 2 scheme Ljava/lang/String;
12 34 3 path Ljava/lang/String;
15 34 4 auth Ljava/lang/String;
17 30 5 host Ljava/lang/String;
MethodParameters:
Name Flags
fs
uri
}
SourceFile: "WindowsUriSupport.java"