class sun.nio.fs.WindowsFileSystemProvider extends sun.nio.fs.AbstractFileSystemProvider
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.fs.WindowsFileSystemProvider
super_class: sun.nio.fs.AbstractFileSystemProvider
{
private static final jdk.internal.misc.Unsafe unsafe;
descriptor: Ljdk/internal/misc/Unsafe;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final sun.nio.fs.WindowsFileSystem theFileSystem;
descriptor: Lsun/nio/fs/WindowsFileSystem;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$java$nio$file$AccessMode;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
putstatic sun.nio.fs.WindowsFileSystemProvider.unsafe:Ljdk/internal/misc/Unsafe;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.nio.fs.AbstractFileSystemProvider.<init>:()V
1: aload 0
new sun.nio.fs.WindowsFileSystem
dup
aload 0
invokestatic jdk.internal.util.StaticProperty.userDir:()Ljava/lang/String;
invokespecial sun.nio.fs.WindowsFileSystem.<init>:(Lsun/nio/fs/WindowsFileSystemProvider;Ljava/lang/String;)V
putfield sun.nio.fs.WindowsFileSystemProvider.theFileSystem:Lsun/nio/fs/WindowsFileSystem;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/fs/WindowsFileSystemProvider;
sun.nio.fs.WindowsFileSystem theFileSystem();
descriptor: ()Lsun/nio/fs/WindowsFileSystem;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.nio.fs.WindowsFileSystemProvider.theFileSystem:Lsun/nio/fs/WindowsFileSystem;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/fs/WindowsFileSystemProvider;
public java.lang.String getScheme();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "file"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/fs/WindowsFileSystemProvider;
private void checkUri(java.net.URI);
descriptor: (Ljava/net/URI;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
aload 0
invokevirtual sun.nio.fs.WindowsFileSystemProvider.getScheme:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "URI does not match this provider"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.net.URI.getRawAuthority:()Ljava/lang/String;
ifnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "Authority component present"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
astore 2
start local 2 5: aload 2
ifnonnull 7
6: new java.lang.IllegalArgumentException
dup
ldc "Path component is undefined"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.String
StackMap stack:
aload 2
ldc "/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
8: new java.lang.IllegalArgumentException
dup
ldc "Path component should be '/'"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.net.URI.getRawQuery:()Ljava/lang/String;
ifnull 11
10: new java.lang.IllegalArgumentException
dup
ldc "Query component present"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.net.URI.getRawFragment:()Ljava/lang/String;
ifnull 13
12: new java.lang.IllegalArgumentException
dup
ldc "Fragment component present"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 14 1 uri Ljava/net/URI;
5 14 2 path Ljava/lang/String;
MethodParameters:
Name Flags
uri
public java.nio.file.FileSystem newFileSystem(java.net.URI, java.util.Map<java.lang.String, ?>);
descriptor: (Ljava/net/URI;Ljava/util/Map;)Ljava/nio/file/FileSystem;
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
invokevirtual sun.nio.fs.WindowsFileSystemProvider.checkUri:(Ljava/net/URI;)V
1: new java.nio.file.FileSystemAlreadyExistsException
dup
invokespecial java.nio.file.FileSystemAlreadyExistsException.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 2 1 uri Ljava/net/URI;
0 2 2 env Ljava/util/Map<Ljava/lang/String;*>;
Exceptions:
throws java.io.IOException
Signature: (Ljava/net/URI;Ljava/util/Map<Ljava/lang/String;*>;)Ljava/nio/file/FileSystem;
MethodParameters:
Name Flags
uri
env
public final java.nio.file.FileSystem getFileSystem(java.net.URI);
descriptor: (Ljava/net/URI;)Ljava/nio/file/FileSystem;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.nio.fs.WindowsFileSystemProvider.checkUri:(Ljava/net/URI;)V
1: aload 0
getfield sun.nio.fs.WindowsFileSystemProvider.theFileSystem:Lsun/nio/fs/WindowsFileSystem;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 2 1 uri Ljava/net/URI;
MethodParameters:
Name Flags
uri
public java.nio.file.Path getPath(java.net.URI);
descriptor: (Ljava/net/URI;)Ljava/nio/file/Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.fs.WindowsFileSystemProvider.theFileSystem:Lsun/nio/fs/WindowsFileSystem;
aload 1
invokestatic sun.nio.fs.WindowsUriSupport.fromUri:(Lsun/nio/fs/WindowsFileSystem;Ljava/net/URI;)Lsun/nio/fs/WindowsPath;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 1 1 uri Ljava/net/URI;
MethodParameters:
Name Flags
uri
public java.nio.channels.FileChannel newFileChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/FileChannel;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof sun.nio.fs.WindowsPath
ifne 4
3: new java.nio.file.ProviderMismatchException
dup
invokespecial java.nio.file.ProviderMismatchException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 1
checkcast sun.nio.fs.WindowsPath
astore 4
start local 4 5: aload 3
invokestatic sun.nio.fs.WindowsSecurityDescriptor.fromAttribute:([Ljava/nio/file/attribute/FileAttribute;)Lsun/nio/fs/WindowsSecurityDescriptor;
astore 5
start local 5 6: aload 4
invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
7: aload 4
invokevirtual sun.nio.fs.WindowsPath.getPathForPermissionCheck:()Ljava/lang/String;
8: aload 2
9: aload 5
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.address:()J
10: invokestatic sun.nio.fs.WindowsChannelFactory.newFileChannel:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;J)Ljava/nio/channels/FileChannel;
astore 8
11: aload 5
ifnull 13
12: aload 5
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
13: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.util.Set java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.fs.WindowsSecurityDescriptor top top java.nio.channels.FileChannel
StackMap stack:
aload 8
areturn
14: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.util.Set java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.fs.WindowsSecurityDescriptor
StackMap stack: sun.nio.fs.WindowsException
astore 6
start local 6 15: aload 6
aload 4
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
16: aload 5
ifnull 18
17: aload 5
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
18: StackMap locals: sun.nio.fs.WindowsException
StackMap stack:
aconst_null
areturn
end local 6 19: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.util.Set java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.fs.WindowsSecurityDescriptor
StackMap stack: java.lang.Throwable
astore 7
20: aload 5
ifnull 22
21: aload 5
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
22: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.util.Set java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.fs.WindowsSecurityDescriptor top java.lang.Throwable
StackMap stack:
aload 7
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 23 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 23 1 path Ljava/nio/file/Path;
0 23 2 options Ljava/util/Set<+Ljava/nio/file/OpenOption;>;
0 23 3 attrs [Ljava/nio/file/attribute/FileAttribute;
5 23 4 file Lsun/nio/fs/WindowsPath;
6 23 5 sd Lsun/nio/fs/WindowsSecurityDescriptor;
15 19 6 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
6 11 14 Class sun.nio.fs.WindowsException
6 11 19 any
14 16 19 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/util/Set<+Ljava/nio/file/OpenOption;>;[Ljava/nio/file/attribute/FileAttribute<*>;)Ljava/nio/channels/FileChannel;
MethodParameters:
Name Flags
path
options
attrs
public java.nio.channels.AsynchronousFileChannel newAsynchronousFileChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.util.concurrent.ExecutorService, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Ljava/nio/file/Path;Ljava/util/Set;Ljava/util/concurrent/ExecutorService;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/AsynchronousFileChannel;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=6, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof sun.nio.fs.WindowsPath
ifne 4
3: new java.nio.file.ProviderMismatchException
dup
invokespecial java.nio.file.ProviderMismatchException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 1
checkcast sun.nio.fs.WindowsPath
astore 5
start local 5 5: aload 3
ifnonnull 6
aconst_null
goto 7
StackMap locals: sun.nio.fs.WindowsPath
StackMap stack:
6: aload 3
iconst_0
invokestatic sun.nio.ch.ThreadPool.wrap:(Ljava/util/concurrent/ExecutorService;I)Lsun/nio/ch/ThreadPool;
StackMap locals:
StackMap stack: sun.nio.ch.ThreadPool
7: astore 6
start local 6 8: aload 4
invokestatic sun.nio.fs.WindowsSecurityDescriptor.fromAttribute:([Ljava/nio/file/attribute/FileAttribute;)Lsun/nio/fs/WindowsSecurityDescriptor;
9: astore 7
start local 7 10: aload 5
invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
11: aload 5
invokevirtual sun.nio.fs.WindowsPath.getPathForPermissionCheck:()Ljava/lang/String;
12: aload 2
13: aload 7
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.address:()J
14: aload 6
15: invokestatic sun.nio.fs.WindowsChannelFactory.newAsynchronousFileChannel:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;JLsun/nio/ch/ThreadPool;)Ljava/nio/channels/AsynchronousFileChannel;
astore 10
16: aload 7
ifnull 18
17: aload 7
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
18: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.util.Set java.util.concurrent.ExecutorService java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.ch.ThreadPool sun.nio.fs.WindowsSecurityDescriptor top top java.nio.channels.AsynchronousFileChannel
StackMap stack:
aload 10
areturn
19: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.util.Set java.util.concurrent.ExecutorService java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.ch.ThreadPool sun.nio.fs.WindowsSecurityDescriptor
StackMap stack: sun.nio.fs.WindowsException
astore 8
start local 8 20: aload 8
aload 5
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
21: aload 7
ifnull 23
22: aload 7
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
23: StackMap locals: sun.nio.fs.WindowsException
StackMap stack:
aconst_null
areturn
end local 8 24: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.util.Set java.util.concurrent.ExecutorService java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.ch.ThreadPool sun.nio.fs.WindowsSecurityDescriptor
StackMap stack: java.lang.Throwable
astore 9
25: aload 7
ifnull 27
26: aload 7
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
27: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.util.Set java.util.concurrent.ExecutorService java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.ch.ThreadPool sun.nio.fs.WindowsSecurityDescriptor top java.lang.Throwable
StackMap stack:
aload 9
athrow
end local 7 end local 6 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 28 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 28 1 path Ljava/nio/file/Path;
0 28 2 options Ljava/util/Set<+Ljava/nio/file/OpenOption;>;
0 28 3 executor Ljava/util/concurrent/ExecutorService;
0 28 4 attrs [Ljava/nio/file/attribute/FileAttribute;
5 28 5 file Lsun/nio/fs/WindowsPath;
8 28 6 pool Lsun/nio/ch/ThreadPool;
10 28 7 sd Lsun/nio/fs/WindowsSecurityDescriptor;
20 24 8 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
10 16 19 Class sun.nio.fs.WindowsException
10 16 24 any
19 21 24 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/util/Set<+Ljava/nio/file/OpenOption;>;Ljava/util/concurrent/ExecutorService;[Ljava/nio/file/attribute/FileAttribute<*>;)Ljava/nio/channels/AsynchronousFileChannel;
MethodParameters:
Name Flags
path
options
executor
attrs
public <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, java.lang.Class<V>, java.nio.file.LinkOption[]);
descriptor: (Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 4
start local 4 1: aload 2
ifnonnull 3
2: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
3: StackMap locals: sun.nio.fs.WindowsPath
StackMap stack:
aload 3
invokestatic sun.nio.fs.Util.followLinks:([Ljava/nio/file/LinkOption;)Z
istore 5
start local 5 4: aload 2
ldc Ljava/nio/file/attribute/BasicFileAttributeView;
if_acmpne 6
5: aload 4
iload 5
invokestatic sun.nio.fs.WindowsFileAttributeViews.createBasicView:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributeViews$Basic;
areturn
6: StackMap locals: int
StackMap stack:
aload 2
ldc Ljava/nio/file/attribute/DosFileAttributeView;
if_acmpne 8
7: aload 4
iload 5
invokestatic sun.nio.fs.WindowsFileAttributeViews.createDosView:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributeViews$Dos;
areturn
8: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/nio/file/attribute/AclFileAttributeView;
if_acmpne 10
9: new sun.nio.fs.WindowsAclFileAttributeView
dup
aload 4
iload 5
invokespecial sun.nio.fs.WindowsAclFileAttributeView.<init>:(Lsun/nio/fs/WindowsPath;Z)V
areturn
10: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/nio/file/attribute/FileOwnerAttributeView;
if_acmpne 14
11: new sun.nio.fs.FileOwnerAttributeViewImpl
dup
12: new sun.nio.fs.WindowsAclFileAttributeView
dup
aload 4
iload 5
invokespecial sun.nio.fs.WindowsAclFileAttributeView.<init>:(Lsun/nio/fs/WindowsPath;Z)V
13: invokespecial sun.nio.fs.FileOwnerAttributeViewImpl.<init>:(Ljava/nio/file/attribute/AclFileAttributeView;)V
areturn
14: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/nio/file/attribute/UserDefinedFileAttributeView;
if_acmpne 16
15: new sun.nio.fs.WindowsUserDefinedFileAttributeView
dup
aload 4
iload 5
invokespecial sun.nio.fs.WindowsUserDefinedFileAttributeView.<init>:(Lsun/nio/fs/WindowsPath;Z)V
areturn
16: StackMap locals:
StackMap stack:
aconst_null
areturn
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 17 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 17 1 obj Ljava/nio/file/Path;
0 17 2 view Ljava/lang/Class<TV;>;
0 17 3 options [Ljava/nio/file/LinkOption;
1 17 4 file Lsun/nio/fs/WindowsPath;
4 17 5 followLinks Z
Signature: <V::Ljava/nio/file/attribute/FileAttributeView;>(Ljava/nio/file/Path;Ljava/lang/Class<TV;>;[Ljava/nio/file/LinkOption;)TV;
MethodParameters:
Name Flags
obj
view
options
public <A extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path, java.lang.Class<A>, java.nio.file.LinkOption[]);
descriptor: (Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ldc Ljava/nio/file/attribute/BasicFileAttributes;
if_acmpne 3
1: ldc Ljava/nio/file/attribute/BasicFileAttributeView;
astore 4
start local 4 2: goto 9
end local 4 3: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/nio/file/attribute/DosFileAttributes;
if_acmpne 6
4: ldc Ljava/nio/file/attribute/DosFileAttributeView;
astore 4
start local 4 5: goto 9
end local 4 6: StackMap locals:
StackMap stack:
aload 2
ifnonnull 8
7: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
start local 4 9: StackMap locals: java.lang.Class
StackMap stack:
aload 0
aload 1
aload 4
aload 3
invokevirtual sun.nio.fs.WindowsFileSystemProvider.getFileAttributeView:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
checkcast java.nio.file.attribute.BasicFileAttributeView
invokeinterface java.nio.file.attribute.BasicFileAttributeView.readAttributes:()Ljava/nio/file/attribute/BasicFileAttributes;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 10 1 file Ljava/nio/file/Path;
0 10 2 type Ljava/lang/Class<TA;>;
0 10 3 options [Ljava/nio/file/LinkOption;
2 3 4 view Ljava/lang/Class<+Ljava/nio/file/attribute/BasicFileAttributeView;>;
5 6 4 view Ljava/lang/Class<+Ljava/nio/file/attribute/BasicFileAttributeView;>;
9 10 4 view Ljava/lang/Class<+Ljava/nio/file/attribute/BasicFileAttributeView;>;
Exceptions:
throws java.io.IOException
Signature: <A::Ljava/nio/file/attribute/BasicFileAttributes;>(Ljava/nio/file/Path;Ljava/lang/Class<TA;>;[Ljava/nio/file/LinkOption;)TA;
MethodParameters:
Name Flags
file
type
options
public sun.nio.fs.DynamicFileAttributeView getFileAttributeView(java.nio.file.Path, java.lang.String, java.nio.file.LinkOption[]);
descriptor: (Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Lsun/nio/fs/DynamicFileAttributeView;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 4
start local 4 1: aload 3
invokestatic sun.nio.fs.Util.followLinks:([Ljava/nio/file/LinkOption;)Z
istore 5
start local 5 2: aload 2
ldc "basic"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 4
iload 5
invokestatic sun.nio.fs.WindowsFileAttributeViews.createBasicView:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributeViews$Basic;
areturn
4: StackMap locals: sun.nio.fs.WindowsPath int
StackMap stack:
aload 2
ldc "dos"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 4
iload 5
invokestatic sun.nio.fs.WindowsFileAttributeViews.createDosView:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributeViews$Dos;
areturn
6: StackMap locals:
StackMap stack:
aload 2
ldc "acl"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: new sun.nio.fs.WindowsAclFileAttributeView
dup
aload 4
iload 5
invokespecial sun.nio.fs.WindowsAclFileAttributeView.<init>:(Lsun/nio/fs/WindowsPath;Z)V
areturn
8: StackMap locals:
StackMap stack:
aload 2
ldc "owner"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
9: new sun.nio.fs.FileOwnerAttributeViewImpl
dup
10: new sun.nio.fs.WindowsAclFileAttributeView
dup
aload 4
iload 5
invokespecial sun.nio.fs.WindowsAclFileAttributeView.<init>:(Lsun/nio/fs/WindowsPath;Z)V
11: invokespecial sun.nio.fs.FileOwnerAttributeViewImpl.<init>:(Ljava/nio/file/attribute/AclFileAttributeView;)V
areturn
12: StackMap locals:
StackMap stack:
aload 2
ldc "user"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
13: new sun.nio.fs.WindowsUserDefinedFileAttributeView
dup
aload 4
iload 5
invokespecial sun.nio.fs.WindowsUserDefinedFileAttributeView.<init>:(Lsun/nio/fs/WindowsPath;Z)V
areturn
14: StackMap locals:
StackMap stack:
aconst_null
areturn
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 15 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 15 1 obj Ljava/nio/file/Path;
0 15 2 name Ljava/lang/String;
0 15 3 options [Ljava/nio/file/LinkOption;
1 15 4 file Lsun/nio/fs/WindowsPath;
2 15 5 followLinks Z
MethodParameters:
Name Flags
obj
name
options
public java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 4
start local 4 1: aload 3
invokestatic sun.nio.fs.WindowsSecurityDescriptor.fromAttribute:([Ljava/nio/file/attribute/FileAttribute;)Lsun/nio/fs/WindowsSecurityDescriptor;
2: astore 5
start local 5 3: aload 4
invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
4: aload 4
invokevirtual sun.nio.fs.WindowsPath.getPathForPermissionCheck:()Ljava/lang/String;
5: aload 2
6: aload 5
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.address:()J
7: invokestatic sun.nio.fs.WindowsChannelFactory.newFileChannel:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;J)Ljava/nio/channels/FileChannel;
astore 8
8: aload 5
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
9: aload 8
areturn
10: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.util.Set java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.fs.WindowsSecurityDescriptor
StackMap stack: sun.nio.fs.WindowsException
astore 6
start local 6 11: aload 6
aload 4
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
12: aload 5
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
13: aconst_null
areturn
end local 6 14: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
15: aload 5
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
16: aload 7
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 17 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 17 1 obj Ljava/nio/file/Path;
0 17 2 options Ljava/util/Set<+Ljava/nio/file/OpenOption;>;
0 17 3 attrs [Ljava/nio/file/attribute/FileAttribute;
1 17 4 file Lsun/nio/fs/WindowsPath;
3 17 5 sd Lsun/nio/fs/WindowsSecurityDescriptor;
11 14 6 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
3 8 10 Class sun.nio.fs.WindowsException
3 8 14 any
10 12 14 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/util/Set<+Ljava/nio/file/OpenOption;>;[Ljava/nio/file/attribute/FileAttribute<*>;)Ljava/nio/channels/SeekableByteChannel;
MethodParameters:
Name Flags
obj
options
attrs
boolean implDelete(java.nio.file.Path, boolean);
descriptor: (Ljava/nio/file/Path;Z)Z
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 3
start local 3 1: aload 3
invokevirtual sun.nio.fs.WindowsPath.checkDelete:()V
2: aconst_null
astore 4
start local 4 3: aload 3
iconst_0
invokestatic sun.nio.fs.WindowsFileAttributes.get:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributes;
astore 4
4: aload 4
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifne 5
aload 4
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectoryLink:()Z
ifeq 7
5: StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsFileAttributes
StackMap stack:
aload 3
invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
invokestatic sun.nio.fs.WindowsNativeDispatcher.RemoveDirectory:(Ljava/lang/String;)V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
invokestatic sun.nio.fs.WindowsNativeDispatcher.DeleteFile:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
iconst_1
ireturn
9: StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
astore 5
start local 5 10: iload 2
ifne 14
11: aload 5
invokevirtual sun.nio.fs.WindowsException.lastError:()I
iconst_2
if_icmpeq 13
12: aload 5
invokevirtual sun.nio.fs.WindowsException.lastError:()I
iconst_3
if_icmpne 14
StackMap locals: sun.nio.fs.WindowsException
StackMap stack:
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
aload 4
ifnull 20
aload 4
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifeq 20
15: aload 5
invokevirtual sun.nio.fs.WindowsException.lastError:()I
sipush 145
if_icmpeq 17
16: aload 5
invokevirtual sun.nio.fs.WindowsException.lastError:()I
sipush 183
if_icmpne 20
17: StackMap locals:
StackMap stack:
new java.nio.file.DirectoryNotEmptyException
dup
18: aload 3
invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
19: invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 5
aload 3
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
21: iconst_0
ireturn
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 22 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 22 1 obj Ljava/nio/file/Path;
0 22 2 failIfNotExists Z
1 22 3 file Lsun/nio/fs/WindowsPath;
3 22 4 attrs Lsun/nio/fs/WindowsFileAttributes;
10 22 5 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
3 8 9 Class sun.nio.fs.WindowsException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
failIfNotExists
public void copy(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption[]);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
1: aload 2
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
2: aload 3
3: invokestatic sun.nio.fs.WindowsFileCopy.copy:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;[Ljava/nio/file/CopyOption;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 5 1 source Ljava/nio/file/Path;
0 5 2 target Ljava/nio/file/Path;
0 5 3 options [Ljava/nio/file/CopyOption;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
target
options
public void move(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption[]);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
1: aload 2
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
2: aload 3
3: invokestatic sun.nio.fs.WindowsFileCopy.move:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;[Ljava/nio/file/CopyOption;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 5 1 source Ljava/nio/file/Path;
0 5 2 target Ljava/nio/file/Path;
0 5 3 options [Ljava/nio/file/CopyOption;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
target
options
private static boolean hasDesiredAccess(sun.nio.fs.WindowsPath, int);
descriptor: (Lsun/nio/fs/WindowsPath;I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
iconst_1
invokestatic sun.nio.fs.WindowsLinkSupport.getFinalPath:(Lsun/nio/fs/WindowsPath;Z)Ljava/lang/String;
astore 3
start local 3 2: aload 3
3: bipush 7
4: invokestatic sun.nio.fs.WindowsAclFileAttributeView.getFileSecurity:(Ljava/lang/String;I)Lsun/nio/fs/NativeBuffer;
5: astore 4
start local 4 6: aload 4
invokevirtual sun.nio.fs.NativeBuffer.address:()J
iload 1
7: ldc 1179785
8: ldc 1179926
9: ldc 1179808
10: ldc 2032127
11: invokestatic sun.nio.fs.WindowsSecurity.checkAccessMask:(JIIIII)Z
istore 2
12: goto 19
StackMap locals: sun.nio.fs.WindowsPath int int java.lang.String sun.nio.fs.NativeBuffer
StackMap stack: sun.nio.fs.WindowsException
13: astore 5
start local 5 14: aload 5
aload 0
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 5 15: aload 4
invokevirtual sun.nio.fs.NativeBuffer.release:()V
goto 20
16: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
17: aload 4
invokevirtual sun.nio.fs.NativeBuffer.release:()V
18: aload 6
athrow
19: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.nio.fs.NativeBuffer.release:()V
20: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 file Lsun/nio/fs/WindowsPath;
0 21 1 rights I
1 21 2 hasRights Z
2 21 3 target Ljava/lang/String;
6 21 4 aclBuffer Lsun/nio/fs/NativeBuffer;
14 15 5 exc Lsun/nio/fs/WindowsException;
Exception table:
from to target type
6 12 13 Class sun.nio.fs.WindowsException
6 15 16 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
rights
private void checkReadAccess(sun.nio.fs.WindowsPath);
descriptor: (Lsun/nio/fs/WindowsPath;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
astore 2
start local 2 1: aload 1
invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
2: aload 1
invokevirtual sun.nio.fs.WindowsPath.getPathForPermissionCheck:()Ljava/lang/String;
3: aload 2
4: lconst_0
5: invokestatic sun.nio.fs.WindowsChannelFactory.newFileChannel:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;J)Ljava/nio/channels/FileChannel;
6: astore 3
start local 3 7: aload 3
invokevirtual java.nio.channels.FileChannel.close:()V
end local 3 end local 2 8: goto 14
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
9: astore 2
start local 2 10: new sun.nio.fs.WindowsDirectoryStream
dup
aload 1
aconst_null
invokespecial sun.nio.fs.WindowsDirectoryStream.<init>:(Lsun/nio/fs/WindowsPath;Ljava/nio/file/DirectoryStream$Filter;)V
invokevirtual sun.nio.fs.WindowsDirectoryStream.close:()V
11: goto 14
StackMap locals: sun.nio.fs.WindowsFileSystemProvider sun.nio.fs.WindowsPath sun.nio.fs.WindowsException
StackMap stack: java.io.IOException
12: pop
13: aload 2
aload 1
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 2 14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 15 1 file Lsun/nio/fs/WindowsPath;
1 8 2 opts Ljava/util/Set<Ljava/nio/file/OpenOption;>;
7 8 3 fc Ljava/nio/channels/FileChannel;
10 14 2 exc Lsun/nio/fs/WindowsException;
Exception table:
from to target type
0 8 9 Class sun.nio.fs.WindowsException
10 11 12 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
public void checkAccess(java.nio.file.Path, java.nio.file.AccessMode[]);
descriptor: (Ljava/nio/file/Path;[Ljava/nio/file/AccessMode;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: aload 2
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 12
StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.AccessMode[] sun.nio.fs.WindowsPath int int int top int int java.nio.file.AccessMode[]
StackMap stack:
5: aload 10
iload 8
aaload
astore 7
start local 7 6: invokestatic sun.nio.fs.WindowsFileSystemProvider.$SWITCH_TABLE$java$nio$file$AccessMode:()[I
aload 7
invokevirtual java.nio.file.AccessMode.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 7
2: 8
3: 9
default: 10
}
7: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.AccessMode[] sun.nio.fs.WindowsPath int int int java.nio.file.AccessMode int int java.nio.file.AccessMode[]
StackMap stack:
iconst_1
istore 4
goto 11
8: StackMap locals:
StackMap stack:
iconst_1
istore 5
goto 11
9: StackMap locals:
StackMap stack:
iconst_1
istore 6
goto 11
10: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
ldc "Should not get here"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 7 11: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.AccessMode[] sun.nio.fs.WindowsPath int int int top int int java.nio.file.AccessMode[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
12: iload 8
iload 9
if_icmplt 5
13: iload 5
ifne 16
iload 6
ifne 16
14: aload 0
aload 3
invokevirtual sun.nio.fs.WindowsFileSystemProvider.checkReadAccess:(Lsun/nio/fs/WindowsPath;)V
15: return
16: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.AccessMode[] sun.nio.fs.WindowsPath int int int
StackMap stack:
iconst_0
istore 7
start local 7 17: iload 4
ifeq 20
18: aload 3
invokevirtual sun.nio.fs.WindowsPath.checkRead:()V
19: iload 7
iconst_1
ior
istore 7
20: StackMap locals: int
StackMap stack:
iload 5
ifeq 23
21: aload 3
invokevirtual sun.nio.fs.WindowsPath.checkWrite:()V
22: iload 7
iconst_2
ior
istore 7
23: StackMap locals:
StackMap stack:
iload 6
ifeq 28
24: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 8
start local 8 25: aload 8
ifnull 27
26: aload 8
aload 3
invokevirtual sun.nio.fs.WindowsPath.getPathForPermissionCheck:()Ljava/lang/String;
invokevirtual java.lang.SecurityManager.checkExec:(Ljava/lang/String;)V
27: StackMap locals: java.lang.SecurityManager
StackMap stack:
iload 7
bipush 32
ior
istore 7
end local 8 28: StackMap locals:
StackMap stack:
aload 3
iload 7
invokestatic sun.nio.fs.WindowsFileSystemProvider.hasDesiredAccess:(Lsun/nio/fs/WindowsPath;I)Z
ifne 33
29: new java.nio.file.AccessDeniedException
dup
30: aload 3
invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
aconst_null
31: ldc "Permissions does not allow requested access"
32: invokespecial java.nio.file.AccessDeniedException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
33: StackMap locals:
StackMap stack:
iload 5
ifeq 46
34: aload 3
iconst_1
invokestatic sun.nio.fs.WindowsFileAttributes.get:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributes;
astore 8
start local 8 35: aload 8
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifne 42
aload 8
invokevirtual sun.nio.fs.WindowsFileAttributes.isReadOnly:()Z
ifeq 42
36: new java.nio.file.AccessDeniedException
dup
37: aload 3
invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
aconst_null
38: ldc "DOS readonly attribute is set"
39: invokespecial java.nio.file.AccessDeniedException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 8 40: StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
astore 8
start local 8 41: aload 8
aload 3
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 8 42: StackMap locals:
StackMap stack:
aload 3
invokestatic sun.nio.fs.WindowsFileStore.create:(Lsun/nio/fs/WindowsPath;)Lsun/nio/fs/WindowsFileStore;
invokevirtual sun.nio.fs.WindowsFileStore.isReadOnly:()Z
ifeq 46
43: new java.nio.file.AccessDeniedException
dup
44: aload 3
invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
aconst_null
ldc "Read-only file system"
45: invokespecial java.nio.file.AccessDeniedException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
46: StackMap locals:
StackMap stack:
return
end local 7 end local 6 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 47 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 47 1 obj Ljava/nio/file/Path;
0 47 2 modes [Ljava/nio/file/AccessMode;
1 47 3 file Lsun/nio/fs/WindowsPath;
2 47 4 r Z
3 47 5 w Z
4 47 6 x Z
6 11 7 mode Ljava/nio/file/AccessMode;
17 47 7 mask I
25 28 8 sm Ljava/lang/SecurityManager;
35 40 8 attrs Lsun/nio/fs/WindowsFileAttributes;
41 42 8 exc Lsun/nio/fs/WindowsException;
Exception table:
from to target type
34 40 40 Class sun.nio.fs.WindowsException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
modes
public boolean isSameFile(java.nio.file.Path, java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 3
start local 3 1: aload 3
aload 2
invokevirtual sun.nio.fs.WindowsPath.equals:(Ljava/lang/Object;)Z
ifeq 3
2: iconst_1
ireturn
3: StackMap locals: sun.nio.fs.WindowsPath
StackMap stack:
aload 2
ifnonnull 5
4: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 2
instanceof sun.nio.fs.WindowsPath
ifne 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 2
checkcast sun.nio.fs.WindowsPath
astore 4
start local 4 8: aload 3
invokevirtual sun.nio.fs.WindowsPath.checkRead:()V
9: aload 4
invokevirtual sun.nio.fs.WindowsPath.checkRead:()V
10: lconst_0
lstore 5
start local 5 11: aload 3
iconst_1
invokevirtual sun.nio.fs.WindowsPath.openForReadAttributeAccess:(Z)J
lstore 5
12: goto 15
StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.Path sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath long
StackMap stack: sun.nio.fs.WindowsException
13: astore 7
start local 7 14: aload 7
aload 3
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 7 15: StackMap locals:
StackMap stack:
aconst_null
astore 7
start local 7 16: lload 5
invokestatic sun.nio.fs.WindowsFileAttributes.readAttributes:(J)Lsun/nio/fs/WindowsFileAttributes;
astore 7
17: goto 20
StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.Path sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath long sun.nio.fs.WindowsFileAttributes
StackMap stack: sun.nio.fs.WindowsException
18: astore 8
start local 8 19: aload 8
aload 3
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 8 20: StackMap locals:
StackMap stack:
lconst_0
lstore 8
start local 8 21: aload 4
iconst_1
invokevirtual sun.nio.fs.WindowsPath.openForReadAttributeAccess:(Z)J
lstore 8
22: goto 25
StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.Path sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath long sun.nio.fs.WindowsFileAttributes long
StackMap stack: sun.nio.fs.WindowsException
23: astore 10
start local 10 24: aload 10
aload 4
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 10 25: StackMap locals:
StackMap stack:
aconst_null
astore 10
start local 10 26: lload 8
invokestatic sun.nio.fs.WindowsFileAttributes.readAttributes:(J)Lsun/nio/fs/WindowsFileAttributes;
astore 10
27: goto 30
StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.Path sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath long sun.nio.fs.WindowsFileAttributes long sun.nio.fs.WindowsFileAttributes
StackMap stack: sun.nio.fs.WindowsException
28: astore 11
start local 11 29: aload 11
aload 4
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 11 30: StackMap locals:
StackMap stack:
aload 7
aload 10
invokestatic sun.nio.fs.WindowsFileAttributes.isSameFile:(Lsun/nio/fs/WindowsFileAttributes;Lsun/nio/fs/WindowsFileAttributes;)Z
istore 13
31: lload 8
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
32: lload 5
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
33: iload 13
ireturn
end local 10 34: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.Path sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath long sun.nio.fs.WindowsFileAttributes long
StackMap stack: java.lang.Throwable
astore 12
35: lload 8
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
36: aload 12
athrow
end local 8 end local 7 37: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.Path sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath long
StackMap stack: java.lang.Throwable
astore 14
38: lload 5
invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
39: aload 14
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 40 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 40 1 obj1 Ljava/nio/file/Path;
0 40 2 obj2 Ljava/nio/file/Path;
1 40 3 file1 Lsun/nio/fs/WindowsPath;
8 40 4 file2 Lsun/nio/fs/WindowsPath;
11 40 5 h1 J
14 15 7 x Lsun/nio/fs/WindowsException;
16 37 7 attrs1 Lsun/nio/fs/WindowsFileAttributes;
19 20 8 x Lsun/nio/fs/WindowsException;
21 37 8 h2 J
24 25 10 x Lsun/nio/fs/WindowsException;
26 34 10 attrs2 Lsun/nio/fs/WindowsFileAttributes;
29 30 11 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
11 12 13 Class sun.nio.fs.WindowsException
16 17 18 Class sun.nio.fs.WindowsException
21 22 23 Class sun.nio.fs.WindowsException
26 27 28 Class sun.nio.fs.WindowsException
25 31 34 any
15 32 37 any
34 37 37 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj1
obj2
public boolean isHidden(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 2
start local 2 1: aload 2
invokevirtual sun.nio.fs.WindowsPath.checkRead:()V
2: aconst_null
astore 3
start local 3 3: aload 2
iconst_1
invokestatic sun.nio.fs.WindowsFileAttributes.get:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributes;
astore 3
4: goto 7
StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path sun.nio.fs.WindowsPath sun.nio.fs.WindowsFileAttributes
StackMap stack: sun.nio.fs.WindowsException
5: astore 4
start local 4 6: aload 4
aload 2
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 4 7: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifeq 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.nio.fs.WindowsFileAttributes.isHidden:()Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 10 1 obj Ljava/nio/file/Path;
1 10 2 file Lsun/nio/fs/WindowsPath;
3 10 3 attrs Lsun/nio/fs/WindowsFileAttributes;
6 7 4 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
3 4 5 Class sun.nio.fs.WindowsException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
public java.nio.file.FileStore getFileStore(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/FileStore;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 2
start local 2 1: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 2: aload 3
ifnull 5
3: aload 3
new java.lang.RuntimePermission
dup
ldc "getFileStoreAttributes"
invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
4: aload 2
invokevirtual sun.nio.fs.WindowsPath.checkRead:()V
5: StackMap locals: sun.nio.fs.WindowsPath java.lang.SecurityManager
StackMap stack:
aload 2
invokestatic sun.nio.fs.WindowsFileStore.create:(Lsun/nio/fs/WindowsPath;)Lsun/nio/fs/WindowsFileStore;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 6 1 obj Ljava/nio/file/Path;
1 6 2 file Lsun/nio/fs/WindowsPath;
2 6 3 sm Ljava/lang/SecurityManager;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
public void createDirectory(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 3
start local 3 1: aload 3
invokevirtual sun.nio.fs.WindowsPath.checkWrite:()V
2: aload 2
invokestatic sun.nio.fs.WindowsSecurityDescriptor.fromAttribute:([Ljava/nio/file/attribute/FileAttribute;)Lsun/nio/fs/WindowsSecurityDescriptor;
astore 4
start local 4 3: aload 3
invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
aload 4
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.address:()J
invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateDirectory:(Ljava/lang/String;J)V
4: goto 15
StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.fs.WindowsSecurityDescriptor
StackMap stack: sun.nio.fs.WindowsException
5: astore 5
start local 5 6: aload 5
invokevirtual sun.nio.fs.WindowsException.lastError:()I
iconst_5
if_icmpne 10
7: aload 3
iconst_0
invokestatic sun.nio.fs.WindowsFileAttributes.get:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributes;
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifeq 10
8: new java.nio.file.FileAlreadyExistsException
dup
aload 3
invokevirtual sun.nio.fs.WindowsPath.toString:()Ljava/lang/String;
invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.fs.WindowsSecurityDescriptor sun.nio.fs.WindowsException
StackMap stack: sun.nio.fs.WindowsException
pop
10: StackMap locals:
StackMap stack:
aload 5
aload 3
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 5 11: aload 4
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
goto 16
12: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.fs.WindowsSecurityDescriptor
StackMap stack: java.lang.Throwable
astore 6
13: aload 4
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
14: aload 6
athrow
15: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
16: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 17 1 obj Ljava/nio/file/Path;
0 17 2 attrs [Ljava/nio/file/attribute/FileAttribute;
1 17 3 dir Lsun/nio/fs/WindowsPath;
3 17 4 sd Lsun/nio/fs/WindowsSecurityDescriptor;
6 11 5 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
3 4 5 Class sun.nio.fs.WindowsException
7 9 9 Class sun.nio.fs.WindowsException
3 11 12 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute<*>;)V
MethodParameters:
Name Flags
obj
attrs
public java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path, java.nio.file.DirectoryStream$Filter<? super java.nio.file.Path>);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 3
start local 3 1: aload 3
invokevirtual sun.nio.fs.WindowsPath.checkRead:()V
2: aload 2
ifnonnull 4
3: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
4: StackMap locals: sun.nio.fs.WindowsPath
StackMap stack:
new sun.nio.fs.WindowsDirectoryStream
dup
aload 3
aload 2
invokespecial sun.nio.fs.WindowsDirectoryStream.<init>:(Lsun/nio/fs/WindowsPath;Ljava/nio/file/DirectoryStream$Filter;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 5 1 obj Ljava/nio/file/Path;
0 5 2 filter Ljava/nio/file/DirectoryStream$Filter<-Ljava/nio/file/Path;>;
1 5 3 dir Lsun/nio/fs/WindowsPath;
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter<-Ljava/nio/file/Path;>;)Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
obj
filter
public void createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 4
start local 4 1: aload 2
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 5
start local 5 2: aload 3
arraylength
ifle 5
3: aload 3
invokestatic sun.nio.fs.WindowsSecurityDescriptor.fromAttribute:([Ljava/nio/file/attribute/FileAttribute;)Lsun/nio/fs/WindowsSecurityDescriptor;
pop
4: new java.lang.UnsupportedOperationException
dup
ldc "Initial file attributesnot supported when creating symbolic link"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 6
start local 6 6: aload 6
ifnull 9
7: aload 6
new java.nio.file.LinkPermission
dup
ldc "symbolic"
invokespecial java.nio.file.LinkPermission.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
8: aload 4
invokevirtual sun.nio.fs.WindowsPath.checkWrite:()V
9: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 5
invokevirtual sun.nio.fs.WindowsPath.type:()Lsun/nio/fs/WindowsPathType;
getstatic sun.nio.fs.WindowsPathType.DRIVE_RELATIVE:Lsun/nio/fs/WindowsPathType;
if_acmpne 11
10: new java.io.IOException
dup
ldc "Cannot create symbolic link to working directory relative target"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.nio.fs.WindowsPath.type:()Lsun/nio/fs/WindowsPathType;
getstatic sun.nio.fs.WindowsPathType.RELATIVE:Lsun/nio/fs/WindowsPathType;
if_acmpne 17
12: aload 4
invokevirtual sun.nio.fs.WindowsPath.getParent:()Lsun/nio/fs/WindowsPath;
astore 8
start local 8 13: aload 8
ifnonnull 14
aload 5
goto 15
StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.Path java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.lang.SecurityManager top sun.nio.fs.WindowsPath
StackMap stack:
14: aload 8
aload 5
invokevirtual sun.nio.fs.WindowsPath.resolve:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
StackMap locals:
StackMap stack: sun.nio.fs.WindowsPath
15: astore 7
end local 8 start local 7 16: goto 18
end local 7 17: StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.Path java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.lang.SecurityManager
StackMap stack:
aload 4
aload 5
invokevirtual sun.nio.fs.WindowsPath.resolve:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 7
start local 7 18: StackMap locals: sun.nio.fs.WindowsPath
StackMap stack:
iconst_0
istore 8
start local 8 19: aload 7
iconst_0
invokestatic sun.nio.fs.WindowsFileAttributes.get:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributes;
astore 9
start local 9 20: aload 9
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
ifne 21
aload 9
invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectoryLink:()Z
ifeq 24
21: StackMap locals: int sun.nio.fs.WindowsFileAttributes
StackMap stack:
iload 8
iconst_1
ior
istore 8
end local 9 22: goto 24
StackMap locals: sun.nio.fs.WindowsFileSystemProvider java.nio.file.Path java.nio.file.Path java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.lang.SecurityManager sun.nio.fs.WindowsPath int
StackMap stack: sun.nio.fs.WindowsException
23: pop
24: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
25: aload 5
invokevirtual sun.nio.fs.WindowsPath.toString:()Ljava/lang/String;
invokestatic sun.nio.fs.WindowsPath.addPrefixIfNeeded:(Ljava/lang/String;)Ljava/lang/String;
26: iload 8
27: invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateSymbolicLink:(Ljava/lang/String;Ljava/lang/String;I)V
28: goto 34
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
29: astore 9
start local 9 30: aload 9
invokevirtual sun.nio.fs.WindowsException.lastError:()I
sipush 4392
if_icmpne 33
31: aload 9
aload 4
aload 5
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;)V
32: goto 34
33: StackMap locals: sun.nio.fs.WindowsException
StackMap stack:
aload 9
aload 4
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 9 34: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 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 35 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 35 1 obj1 Ljava/nio/file/Path;
0 35 2 obj2 Ljava/nio/file/Path;
0 35 3 attrs [Ljava/nio/file/attribute/FileAttribute;
1 35 4 link Lsun/nio/fs/WindowsPath;
2 35 5 target Lsun/nio/fs/WindowsPath;
6 35 6 sm Ljava/lang/SecurityManager;
16 17 7 resolvedTarget Lsun/nio/fs/WindowsPath;
18 35 7 resolvedTarget Lsun/nio/fs/WindowsPath;
13 16 8 parent Lsun/nio/fs/WindowsPath;
19 35 8 flags I
20 22 9 wattrs Lsun/nio/fs/WindowsFileAttributes;
30 34 9 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
19 22 23 Class sun.nio.fs.WindowsException
24 28 29 Class sun.nio.fs.WindowsException
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute<*>;)V
MethodParameters:
Name Flags
obj1
obj2
attrs
public void createLink(java.nio.file.Path, java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;Ljava/nio/file/Path;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 3
start local 3 1: aload 2
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 4
start local 4 2: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 5
start local 5 3: aload 5
ifnull 7
4: aload 5
new java.nio.file.LinkPermission
dup
ldc "hard"
invokespecial java.nio.file.LinkPermission.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
5: aload 3
invokevirtual sun.nio.fs.WindowsPath.checkWrite:()V
6: aload 4
invokevirtual sun.nio.fs.WindowsPath.checkWrite:()V
7: StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.lang.SecurityManager
StackMap stack:
aload 3
invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
8: aload 4
invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
9: invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateHardLink:(Ljava/lang/String;Ljava/lang/String;)V
10: goto 13
StackMap locals:
StackMap stack: sun.nio.fs.WindowsException
11: astore 6
start local 6 12: aload 6
aload 3
aload 4
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;)V
end local 6 13: StackMap locals:
StackMap stack:
return
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 14 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 14 1 obj1 Ljava/nio/file/Path;
0 14 2 obj2 Ljava/nio/file/Path;
1 14 3 link Lsun/nio/fs/WindowsPath;
2 14 4 existing Lsun/nio/fs/WindowsPath;
3 14 5 sm Ljava/lang/SecurityManager;
12 13 6 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
7 10 11 Class sun.nio.fs.WindowsException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj1
obj2
public java.nio.file.Path readSymbolicLink(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokestatic sun.nio.fs.WindowsPath.toWindowsPath:(Ljava/nio/file/Path;)Lsun/nio/fs/WindowsPath;
astore 2
start local 2 1: aload 2
invokevirtual sun.nio.fs.WindowsPath.getFileSystem:()Lsun/nio/fs/WindowsFileSystem;
astore 3
start local 3 2: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 4
start local 4 3: aload 4
ifnull 8
4: new java.io.FilePermission
dup
aload 2
invokevirtual sun.nio.fs.WindowsPath.getPathForPermissionCheck:()Ljava/lang/String;
5: ldc "readlink"
6: invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 5
start local 5 7: aload 4
aload 5
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
end local 5 8: StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsFileSystem java.lang.SecurityManager
StackMap stack:
aload 2
invokestatic sun.nio.fs.WindowsLinkSupport.readLink:(Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
astore 5
start local 5 9: aload 3
aload 5
invokestatic sun.nio.fs.WindowsPath.createFromNormalizedPath:(Lsun/nio/fs/WindowsFileSystem;Ljava/lang/String;)Lsun/nio/fs/WindowsPath;
areturn
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 10 0 this Lsun/nio/fs/WindowsFileSystemProvider;
0 10 1 obj1 Ljava/nio/file/Path;
1 10 2 link Lsun/nio/fs/WindowsPath;
2 10 3 fs Lsun/nio/fs/WindowsFileSystem;
3 10 4 sm Ljava/lang/SecurityManager;
7 8 5 perm Ljava/io/FilePermission;
9 10 5 target Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj1
static int[] $SWITCH_TABLE$java$nio$file$AccessMode();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic sun.nio.fs.WindowsFileSystemProvider.$SWITCH_TABLE$java$nio$file$AccessMode:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic java.nio.file.AccessMode.values:()[Ljava/nio/file/AccessMode;
arraylength
newarray 10
astore 0
2: aload 0
getstatic java.nio.file.AccessMode.EXECUTE:Ljava/nio/file/AccessMode;
invokevirtual java.nio.file.AccessMode.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic java.nio.file.AccessMode.READ:Ljava/nio/file/AccessMode;
invokevirtual java.nio.file.AccessMode.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic java.nio.file.AccessMode.WRITE:Ljava/nio/file/AccessMode;
invokevirtual java.nio.file.AccessMode.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic sun.nio.fs.WindowsFileSystemProvider.$SWITCH_TABLE$java$nio$file$AccessMode:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
SourceFile: "WindowsFileSystemProvider.java"
InnerClasses:
public abstract Filter = java.nio.file.DirectoryStream$Filter of java.nio.file.DirectoryStream
Dos = sun.nio.fs.WindowsFileAttributeViews$Dos of sun.nio.fs.WindowsFileAttributeViews
private Basic = sun.nio.fs.WindowsFileAttributeViews$Basic of sun.nio.fs.WindowsFileAttributeViews