public abstract class sun.nio.fs.UnixFileSystemProvider extends sun.nio.fs.AbstractFileSystemProvider
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.nio.fs.UnixFileSystemProvider
super_class: sun.nio.fs.AbstractFileSystemProvider
{
private static final java.lang.String USER_DIR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "user.dir"
private final sun.nio.fs.UnixFileSystem theFileSystem;
descriptor: Lsun/nio/fs/UnixFileSystem;
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
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokespecial sun.nio.fs.AbstractFileSystemProvider.<init>:()V
1: ldc "user.dir"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 2: aload 0
aload 0
aload 1
invokevirtual sun.nio.fs.UnixFileSystemProvider.newFileSystem:(Ljava/lang/String;)Lsun/nio/fs/UnixFileSystem;
putfield sun.nio.fs.UnixFileSystemProvider.theFileSystem:Lsun/nio/fs/UnixFileSystem;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/fs/UnixFileSystemProvider;
2 4 1 userDir Ljava/lang/String;
abstract sun.nio.fs.UnixFileSystem newFileSystem(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/nio/fs/UnixFileSystem;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
dir
public final java.lang.String getScheme();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
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/UnixFileSystemProvider;
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.UnixFileSystemProvider.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/UnixFileSystemProvider;
0 14 1 uri Ljava/net/URI;
5 14 2 path Ljava/lang/String;
MethodParameters:
Name Flags
uri
public final 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: (0x0011) ACC_PUBLIC, ACC_FINAL
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.UnixFileSystemProvider.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/UnixFileSystemProvider;
0 2 1 uri Ljava/net/URI;
0 2 2 env Ljava/util/Map<Ljava/lang/String;*>;
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.UnixFileSystemProvider.checkUri:(Ljava/net/URI;)V
1: aload 0
getfield sun.nio.fs.UnixFileSystemProvider.theFileSystem:Lsun/nio/fs/UnixFileSystem;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/fs/UnixFileSystemProvider;
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.UnixFileSystemProvider.theFileSystem:Lsun/nio/fs/UnixFileSystem;
aload 1
invokestatic sun.nio.fs.UnixUriUtils.fromUri:(Lsun/nio/fs/UnixFileSystem;Ljava/net/URI;)Ljava/nio/file/Path;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 1 1 uri Ljava/net/URI;
MethodParameters:
Name Flags
uri
sun.nio.fs.UnixPath checkPath(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 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.UnixPath
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.UnixPath
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 5 1 obj Ljava/nio/file/Path;
MethodParameters:
Name Flags
obj
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=2, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
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 Ljava/nio/file/attribute/BasicFileAttributeView;
if_acmpne 4
3: aload 4
iload 5
invokestatic sun.nio.fs.UnixFileAttributeViews.createBasicView:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributeViews$Basic;
areturn
4: StackMap locals: sun.nio.fs.UnixPath int
StackMap stack:
aload 2
ldc Ljava/nio/file/attribute/PosixFileAttributeView;
if_acmpne 6
5: aload 4
iload 5
invokestatic sun.nio.fs.UnixFileAttributeViews.createPosixView:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributeViews$Posix;
areturn
6: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/nio/file/attribute/FileOwnerAttributeView;
if_acmpne 8
7: aload 4
iload 5
invokestatic sun.nio.fs.UnixFileAttributeViews.createOwnerView:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/FileOwnerAttributeViewImpl;
areturn
8: StackMap locals:
StackMap stack:
aload 2
ifnonnull 10
9: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
10: 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 11 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 11 1 obj Ljava/nio/file/Path;
0 11 2 type Ljava/lang/Class<TV;>;
0 11 3 options [Ljava/nio/file/LinkOption;
1 11 4 file Lsun/nio/fs/UnixPath;
2 11 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
type
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/PosixFileAttributes;
if_acmpne 6
4: ldc Ljava/nio/file/attribute/PosixFileAttributeView;
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.UnixFileSystemProvider.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/UnixFileSystemProvider;
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
protected 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: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=2, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
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.UnixFileAttributeViews.createBasicView:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributeViews$Basic;
areturn
4: StackMap locals: sun.nio.fs.UnixPath int
StackMap stack:
aload 2
ldc "posix"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 4
iload 5
invokestatic sun.nio.fs.UnixFileAttributeViews.createPosixView:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributeViews$Posix;
areturn
6: StackMap locals:
StackMap stack:
aload 2
ldc "unix"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: aload 4
iload 5
invokestatic sun.nio.fs.UnixFileAttributeViews.createUnixView:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributeViews$Unix;
areturn
8: StackMap locals:
StackMap stack:
aload 2
ldc "owner"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
9: aload 4
iload 5
invokestatic sun.nio.fs.UnixFileAttributeViews.createOwnerView:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/FileOwnerAttributeViewImpl;
areturn
10: 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 11 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 11 1 obj Ljava/nio/file/Path;
0 11 2 name Ljava/lang/String;
0 11 3 options [Ljava/nio/file/LinkOption;
1 11 4 file Lsun/nio/fs/UnixPath;
2 11 5 followLinks Z
MethodParameters:
Name Flags
obj
name
options
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=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual sun.nio.fs.UnixFileSystemProvider.checkPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 4
start local 4 1: sipush 438
aload 3
invokestatic sun.nio.fs.UnixFileModeAttribute.toUnixMode:(I[Ljava/nio/file/attribute/FileAttribute;)I
2: istore 5
start local 5 3: aload 4
aload 2
iload 5
invokestatic sun.nio.fs.UnixChannelFactory.newFileChannel:(Lsun/nio/fs/UnixPath;Ljava/util/Set;I)Ljava/nio/channels/FileChannel;
4: areturn
5: StackMap locals: sun.nio.fs.UnixFileSystemProvider java.nio.file.Path java.util.Set java.nio.file.attribute.FileAttribute[] sun.nio.fs.UnixPath int
StackMap stack: sun.nio.fs.UnixException
astore 6
start local 6 6: aload 6
aload 4
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
7: aconst_null
areturn
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 8 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 8 1 obj Ljava/nio/file/Path;
0 8 2 options Ljava/util/Set<+Ljava/nio/file/OpenOption;>;
0 8 3 attrs [Ljava/nio/file/attribute/FileAttribute;
1 8 4 file Lsun/nio/fs/UnixPath;
3 8 5 mode I
6 8 6 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
3 4 5 Class sun.nio.fs.UnixException
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
obj
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=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokevirtual sun.nio.fs.UnixFileSystemProvider.checkPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 5
start local 5 1: sipush 438
aload 4
invokestatic sun.nio.fs.UnixFileModeAttribute.toUnixMode:(I[Ljava/nio/file/attribute/FileAttribute;)I
2: istore 6
start local 6 3: aload 3
ifnonnull 4
aconst_null
goto 5
StackMap locals: sun.nio.fs.UnixPath int
StackMap stack:
4: 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
5: astore 7
start local 7 6: aload 5
aload 2
iload 6
aload 7
invokestatic sun.nio.fs.UnixChannelFactory.newAsynchronousFileChannel:(Lsun/nio/fs/UnixPath;Ljava/util/Set;ILsun/nio/ch/ThreadPool;)Ljava/nio/channels/AsynchronousFileChannel;
7: areturn
8: StackMap locals: sun.nio.fs.UnixFileSystemProvider java.nio.file.Path java.util.Set java.util.concurrent.ExecutorService java.nio.file.attribute.FileAttribute[] sun.nio.fs.UnixPath int sun.nio.ch.ThreadPool
StackMap stack: sun.nio.fs.UnixException
astore 8
start local 8 9: aload 8
aload 5
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
10: aconst_null
areturn
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 11 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 11 1 obj Ljava/nio/file/Path;
0 11 2 options Ljava/util/Set<+Ljava/nio/file/OpenOption;>;
0 11 3 executor Ljava/util/concurrent/ExecutorService;
0 11 4 attrs [Ljava/nio/file/attribute/FileAttribute;
1 11 5 file Lsun/nio/fs/UnixPath;
3 11 6 mode I
6 11 7 pool Lsun/nio/ch/ThreadPool;
9 11 8 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
6 7 8 Class sun.nio.fs.UnixException
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
obj
options
executor
attrs
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=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 4
start local 4 1: sipush 438
aload 3
invokestatic sun.nio.fs.UnixFileModeAttribute.toUnixMode:(I[Ljava/nio/file/attribute/FileAttribute;)I
2: istore 5
start local 5 3: aload 4
aload 2
iload 5
invokestatic sun.nio.fs.UnixChannelFactory.newFileChannel:(Lsun/nio/fs/UnixPath;Ljava/util/Set;I)Ljava/nio/channels/FileChannel;
4: areturn
5: StackMap locals: sun.nio.fs.UnixFileSystemProvider java.nio.file.Path java.util.Set java.nio.file.attribute.FileAttribute[] sun.nio.fs.UnixPath int
StackMap stack: sun.nio.fs.UnixException
astore 6
start local 6 6: aload 6
aload 4
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
7: aconst_null
areturn
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 8 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 8 1 obj Ljava/nio/file/Path;
0 8 2 options Ljava/util/Set<+Ljava/nio/file/OpenOption;>;
0 8 3 attrs [Ljava/nio/file/attribute/FileAttribute;
1 8 4 file Lsun/nio/fs/UnixPath;
3 8 5 mode I
6 8 6 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
3 4 5 Class sun.nio.fs.UnixException
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.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 3
start local 3 1: aload 3
invokevirtual sun.nio.fs.UnixPath.checkDelete:()V
2: aconst_null
astore 4
start local 4 3: aload 3
iconst_0
invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
astore 4
4: aload 4
invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
ifeq 7
5: aload 3
invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
6: goto 8
7: StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes
StackMap stack:
aload 3
invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
8: StackMap locals:
StackMap stack:
iconst_1
ireturn
9: StackMap locals:
StackMap stack: sun.nio.fs.UnixException
astore 5
start local 5 10: iload 2
ifne 12
aload 5
invokevirtual sun.nio.fs.UnixException.errno:()I
iconst_2
if_icmpne 12
11: iconst_0
ireturn
12: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
aload 4
ifnull 15
aload 4
invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
ifeq 15
13: aload 5
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 17
if_icmpeq 14
aload 5
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 39
if_icmpne 15
14: StackMap locals:
StackMap stack:
new java.nio.file.DirectoryNotEmptyException
dup
aload 3
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 5
aload 3
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
16: 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 17 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 17 1 obj Ljava/nio/file/Path;
0 17 2 failIfNotExists Z
1 17 3 file Lsun/nio/fs/UnixPath;
3 17 4 attrs Lsun/nio/fs/UnixFileAttributes;
10 17 5 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
3 8 9 Class sun.nio.fs.UnixException
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.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
1: aload 2
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
2: aload 3
3: invokestatic sun.nio.fs.UnixCopyFile.copy:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;[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/UnixFileSystemProvider;
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.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
1: aload 2
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
2: aload 3
3: invokestatic sun.nio.fs.UnixCopyFile.move:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;[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/UnixFileSystemProvider;
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 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=3, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
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: iconst_0
istore 7
start local 7 5: aload 2
arraylength
ifne 8
6: iconst_1
istore 4
7: goto 17
8: StackMap locals: sun.nio.fs.UnixFileSystemProvider java.nio.file.Path java.nio.file.AccessMode[] sun.nio.fs.UnixPath int int int int
StackMap stack:
aload 2
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 16
StackMap locals: sun.nio.fs.UnixFileSystemProvider java.nio.file.Path java.nio.file.AccessMode[] sun.nio.fs.UnixPath int int int int top int int java.nio.file.AccessMode[]
StackMap stack:
9: aload 11
iload 9
aaload
astore 8
start local 8 10: invokestatic sun.nio.fs.UnixFileSystemProvider.$SWITCH_TABLE$java$nio$file$AccessMode:()[I
aload 8
invokevirtual java.nio.file.AccessMode.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 11
2: 12
3: 13
default: 14
}
11: StackMap locals: sun.nio.fs.UnixFileSystemProvider java.nio.file.Path java.nio.file.AccessMode[] sun.nio.fs.UnixPath int int int int java.nio.file.AccessMode int int java.nio.file.AccessMode[]
StackMap stack:
iconst_1
istore 5
goto 15
12: StackMap locals:
StackMap stack:
iconst_1
istore 6
goto 15
13: StackMap locals:
StackMap stack:
iconst_1
istore 7
goto 15
14: 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 8 15: StackMap locals: sun.nio.fs.UnixFileSystemProvider java.nio.file.Path java.nio.file.AccessMode[] sun.nio.fs.UnixPath int int int int top int int java.nio.file.AccessMode[]
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
16: iload 9
iload 10
if_icmplt 9
17: StackMap locals: sun.nio.fs.UnixFileSystemProvider java.nio.file.Path java.nio.file.AccessMode[] sun.nio.fs.UnixPath int int int int
StackMap stack:
iconst_0
istore 8
start local 8 18: iload 4
ifne 19
iload 5
ifeq 23
19: StackMap locals: int
StackMap stack:
aload 3
invokevirtual sun.nio.fs.UnixPath.checkRead:()V
20: iload 8
iload 5
ifeq 21
iconst_4
goto 22
StackMap locals:
StackMap stack: int
21: iconst_0
StackMap locals: sun.nio.fs.UnixFileSystemProvider java.nio.file.Path java.nio.file.AccessMode[] sun.nio.fs.UnixPath int int int int int
StackMap stack: int int
22: ior
istore 8
23: StackMap locals:
StackMap stack:
iload 6
ifeq 26
24: aload 3
invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
25: iload 8
iconst_2
ior
istore 8
26: StackMap locals:
StackMap stack:
iload 7
ifeq 31
27: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 9
start local 9 28: aload 9
ifnull 30
29: aload 9
aload 3
invokevirtual sun.nio.fs.UnixPath.getPathForPermissionCheck:()Ljava/lang/String;
invokevirtual java.lang.SecurityManager.checkExec:(Ljava/lang/String;)V
30: StackMap locals: java.lang.SecurityManager
StackMap stack:
iload 8
iconst_1
ior
istore 8
end local 9 31: StackMap locals:
StackMap stack:
aload 3
iload 8
invokestatic sun.nio.fs.UnixNativeDispatcher.access:(Lsun/nio/fs/UnixPath;I)V
32: goto 35
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
33: astore 9
start local 9 34: aload 9
aload 3
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 9 35: 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 36 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 36 1 obj Ljava/nio/file/Path;
0 36 2 modes [Ljava/nio/file/AccessMode;
1 36 3 file Lsun/nio/fs/UnixPath;
2 36 4 e Z
3 36 5 r Z
4 36 6 w Z
5 36 7 x Z
10 15 8 mode Ljava/nio/file/AccessMode;
18 36 8 mode I
28 31 9 sm Ljava/lang/SecurityManager;
34 35 9 exc Lsun/nio/fs/UnixException;
Exception table:
from to target type
31 32 33 Class sun.nio.fs.UnixException
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=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 3
start local 3 1: aload 3
aload 2
invokevirtual sun.nio.fs.UnixPath.equals:(Ljava/lang/Object;)Z
ifeq 3
2: iconst_1
ireturn
3: StackMap locals: sun.nio.fs.UnixPath
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.UnixPath
ifne 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 2
checkcast sun.nio.fs.UnixPath
astore 4
start local 4 8: aload 3
invokevirtual sun.nio.fs.UnixPath.checkRead:()V
9: aload 4
invokevirtual sun.nio.fs.UnixPath.checkRead:()V
10: aload 3
iconst_1
invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
astore 5
start local 5 11: goto 15
end local 5 StackMap locals: sun.nio.fs.UnixFileSystemProvider java.nio.file.Path java.nio.file.Path sun.nio.fs.UnixPath sun.nio.fs.UnixPath
StackMap stack: sun.nio.fs.UnixException
12: astore 7
start local 7 13: aload 7
aload 3
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
14: iconst_0
ireturn
end local 7 start local 5 15: StackMap locals: sun.nio.fs.UnixFileAttributes
StackMap stack:
aload 4
iconst_1
invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
astore 6
start local 6 16: goto 20
end local 6 StackMap locals:
StackMap stack: sun.nio.fs.UnixException
17: astore 7
start local 7 18: aload 7
aload 4
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
19: iconst_0
ireturn
end local 7 start local 6 20: StackMap locals: sun.nio.fs.UnixFileAttributes
StackMap stack:
aload 5
aload 6
invokevirtual sun.nio.fs.UnixFileAttributes.isSameFile:(Lsun/nio/fs/UnixFileAttributes;)Z
ireturn
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 21 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 21 1 obj1 Ljava/nio/file/Path;
0 21 2 obj2 Ljava/nio/file/Path;
1 21 3 file1 Lsun/nio/fs/UnixPath;
8 21 4 file2 Lsun/nio/fs/UnixPath;
11 12 5 attrs1 Lsun/nio/fs/UnixFileAttributes;
15 21 5 attrs1 Lsun/nio/fs/UnixFileAttributes;
16 17 6 attrs2 Lsun/nio/fs/UnixFileAttributes;
20 21 6 attrs2 Lsun/nio/fs/UnixFileAttributes;
13 15 7 x Lsun/nio/fs/UnixException;
18 20 7 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
10 11 12 Class sun.nio.fs.UnixException
15 16 17 Class sun.nio.fs.UnixException
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=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 2
start local 2 1: aload 2
invokevirtual sun.nio.fs.UnixPath.checkRead:()V
2: aload 2
invokevirtual sun.nio.fs.UnixPath.getFileName:()Lsun/nio/fs/UnixPath;
astore 3
start local 3 3: aload 3
ifnonnull 5
4: iconst_0
ireturn
5: StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixPath
StackMap stack:
aload 3
invokevirtual sun.nio.fs.UnixPath.asByteArray:()[B
iconst_0
baload
bipush 46
if_icmpne 6
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 7 1 obj Ljava/nio/file/Path;
1 7 2 file Lsun/nio/fs/UnixPath;
3 7 3 name Lsun/nio/fs/UnixPath;
MethodParameters:
Name Flags
obj
abstract java.nio.file.FileStore getFileStore(sun.nio.fs.UnixPath);
descriptor: (Lsun/nio/fs/UnixPath;)Ljava/nio/file/FileStore;
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
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.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
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.UnixPath.checkRead:()V
5: StackMap locals: sun.nio.fs.UnixPath java.lang.SecurityManager
StackMap stack:
aload 0
aload 2
invokevirtual sun.nio.fs.UnixFileSystemProvider.getFileStore:(Lsun/nio/fs/UnixPath;)Ljava/nio/file/FileStore;
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/UnixFileSystemProvider;
0 6 1 obj Ljava/nio/file/Path;
1 6 2 file Lsun/nio/fs/UnixPath;
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=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 3
start local 3 1: aload 3
invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
2: sipush 511
aload 2
invokestatic sun.nio.fs.UnixFileModeAttribute.toUnixMode:(I[Ljava/nio/file/attribute/FileAttribute;)I
istore 4
start local 4 3: aload 3
iload 4
invokestatic sun.nio.fs.UnixNativeDispatcher.mkdir:(Lsun/nio/fs/UnixPath;I)V
4: goto 9
StackMap locals: sun.nio.fs.UnixFileSystemProvider java.nio.file.Path java.nio.file.attribute.FileAttribute[] sun.nio.fs.UnixPath int
StackMap stack: sun.nio.fs.UnixException
5: astore 5
start local 5 6: aload 5
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 21
if_icmpne 8
7: new java.nio.file.FileAlreadyExistsException
dup
aload 3
invokevirtual sun.nio.fs.UnixPath.toString:()Ljava/lang/String;
invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
aload 5
aload 3
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 5 9: 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 10 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 10 1 obj Ljava/nio/file/Path;
0 10 2 attrs [Ljava/nio/file/attribute/FileAttribute;
1 10 3 dir Lsun/nio/fs/UnixPath;
3 10 4 mode I
6 9 5 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
3 4 5 Class sun.nio.fs.UnixException
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=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 3
start local 3 1: aload 3
invokevirtual sun.nio.fs.UnixPath.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.UnixPath
StackMap stack:
invokestatic sun.nio.fs.UnixNativeDispatcher.openatSupported:()Z
ifne 12
5: aload 3
invokestatic sun.nio.fs.UnixNativeDispatcher.opendir:(Lsun/nio/fs/UnixPath;)J
lstore 4
start local 4 6: new sun.nio.fs.UnixDirectoryStream
dup
aload 3
lload 4
aload 2
invokespecial sun.nio.fs.UnixDirectoryStream.<init>:(Lsun/nio/fs/UnixPath;JLjava/nio/file/DirectoryStream$Filter;)V
7: areturn
end local 4 8: StackMap locals:
StackMap stack: sun.nio.fs.UnixException
astore 4
start local 4 9: aload 4
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 20
if_icmpne 11
10: new java.nio.file.NotDirectoryException
dup
aload 3
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
invokespecial java.nio.file.NotDirectoryException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
aload 4
aload 3
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 4 12: StackMap locals:
StackMap stack:
iconst_m1
istore 4
start local 4 13: iconst_m1
istore 5
start local 5 14: lconst_0
lstore 6
start local 6 15: aload 3
iconst_0
iconst_0
invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
istore 4
16: iload 4
invokestatic sun.nio.fs.UnixNativeDispatcher.dup:(I)I
istore 5
17: iload 4
invokestatic sun.nio.fs.UnixNativeDispatcher.fdopendir:(I)J
lstore 6
18: goto 27
StackMap locals: sun.nio.fs.UnixFileSystemProvider java.nio.file.Path java.nio.file.DirectoryStream$Filter sun.nio.fs.UnixPath int int long
StackMap stack: sun.nio.fs.UnixException
19: astore 8
start local 8 20: iload 4
iconst_m1
if_icmpeq 22
21: iload 4
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
22: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
iload 5
iconst_m1
if_icmpeq 24
23: iload 5
invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
24: StackMap locals:
StackMap stack:
aload 8
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 20
if_icmpne 26
25: new java.nio.file.NotDirectoryException
dup
aload 3
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
invokespecial java.nio.file.NotDirectoryException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
aload 8
aload 3
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 8 27: StackMap locals:
StackMap stack:
new sun.nio.fs.UnixSecureDirectoryStream
dup
aload 3
lload 6
iload 5
aload 2
invokespecial sun.nio.fs.UnixSecureDirectoryStream.<init>:(Lsun/nio/fs/UnixPath;JILjava/nio/file/DirectoryStream$Filter;)V
areturn
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/UnixFileSystemProvider;
0 28 1 obj Ljava/nio/file/Path;
0 28 2 filter Ljava/nio/file/DirectoryStream$Filter<-Ljava/nio/file/Path;>;
1 28 3 dir Lsun/nio/fs/UnixPath;
6 8 4 ptr J
9 12 4 x Lsun/nio/fs/UnixException;
13 28 4 dfd1 I
14 28 5 dfd2 I
15 28 6 dp J
20 27 8 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
5 7 8 Class sun.nio.fs.UnixException
15 18 19 Class sun.nio.fs.UnixException
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=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 4
start local 4 1: aload 2
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 5
start local 5 2: aload 3
arraylength
ifle 5
3: iconst_0
aload 3
invokestatic sun.nio.fs.UnixFileModeAttribute.toUnixMode:(I[Ljava/nio/file/attribute/FileAttribute;)I
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.UnixPath sun.nio.fs.UnixPath
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.UnixPath.checkWrite:()V
9: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 5
invokevirtual sun.nio.fs.UnixPath.asByteArray:()[B
aload 4
invokestatic sun.nio.fs.UnixNativeDispatcher.symlink:([BLsun/nio/fs/UnixPath;)V
10: goto 13
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
11: astore 7
start local 7 12: aload 7
aload 4
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
end local 7 13: StackMap locals:
StackMap stack:
return
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 14 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 14 1 obj1 Ljava/nio/file/Path;
0 14 2 obj2 Ljava/nio/file/Path;
0 14 3 attrs [Ljava/nio/file/attribute/FileAttribute;
1 14 4 link Lsun/nio/fs/UnixPath;
2 14 5 target Lsun/nio/fs/UnixPath;
6 14 6 sm Ljava/lang/SecurityManager;
12 13 7 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
9 10 11 Class sun.nio.fs.UnixException
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.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 3
start local 3 1: aload 2
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
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.UnixPath.checkWrite:()V
6: aload 4
invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
7: StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixPath java.lang.SecurityManager
StackMap stack:
aload 4
aload 3
invokestatic sun.nio.fs.UnixNativeDispatcher.link:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
8: goto 11
StackMap locals:
StackMap stack: sun.nio.fs.UnixException
9: astore 6
start local 6 10: aload 6
aload 3
aload 4
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
end local 6 11: 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 12 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 12 1 obj1 Ljava/nio/file/Path;
0 12 2 obj2 Ljava/nio/file/Path;
1 12 3 link Lsun/nio/fs/UnixPath;
2 12 4 existing Lsun/nio/fs/UnixPath;
3 12 5 sm Ljava/lang/SecurityManager;
10 11 6 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
7 8 9 Class sun.nio.fs.UnixException
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=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 2
start local 2 1: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 2: aload 3
ifnull 7
3: new java.io.FilePermission
dup
aload 2
invokevirtual sun.nio.fs.UnixPath.getPathForPermissionCheck:()Ljava/lang/String;
4: ldc "readlink"
5: invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 4
start local 4 6: aload 3
aload 4
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
end local 4 7: StackMap locals: sun.nio.fs.UnixPath java.lang.SecurityManager
StackMap stack:
aload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.readlink:(Lsun/nio/fs/UnixPath;)[B
astore 4
start local 4 8: new sun.nio.fs.UnixPath
dup
aload 2
invokevirtual sun.nio.fs.UnixPath.getFileSystem:()Lsun/nio/fs/UnixFileSystem;
aload 4
invokespecial sun.nio.fs.UnixPath.<init>:(Lsun/nio/fs/UnixFileSystem;[B)V
9: areturn
end local 4 10: StackMap locals:
StackMap stack: sun.nio.fs.UnixException
astore 4
start local 4 11: aload 4
invokevirtual sun.nio.fs.UnixException.errno:()I
bipush 22
if_icmpne 13
12: new java.nio.file.NotLinkException
dup
aload 2
invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
invokespecial java.nio.file.NotLinkException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: sun.nio.fs.UnixException
StackMap stack:
aload 4
aload 2
invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
14: aconst_null
areturn
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/UnixFileSystemProvider;
0 15 1 obj1 Ljava/nio/file/Path;
1 15 2 link Lsun/nio/fs/UnixPath;
2 15 3 sm Ljava/lang/SecurityManager;
6 7 4 perm Ljava/io/FilePermission;
8 10 4 target [B
11 15 4 x Lsun/nio/fs/UnixException;
Exception table:
from to target type
7 9 10 Class sun.nio.fs.UnixException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj1
public final boolean isDirectory(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 2
start local 2 1: aload 2
invokevirtual sun.nio.fs.UnixPath.checkRead:()V
2: aload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.stat:(Lsun/nio/fs/UnixPath;)I
istore 3
start local 3 3: iload 3
ldc 61440
iand
sipush 16384
if_icmpne 4
iconst_1
ireturn
StackMap locals: sun.nio.fs.UnixPath int
StackMap stack:
4: iconst_0
ireturn
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/UnixFileSystemProvider;
0 5 1 obj Ljava/nio/file/Path;
1 5 2 file Lsun/nio/fs/UnixPath;
3 5 3 mode I
MethodParameters:
Name Flags
obj
public final boolean isRegularFile(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 2
start local 2 1: aload 2
invokevirtual sun.nio.fs.UnixPath.checkRead:()V
2: aload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.stat:(Lsun/nio/fs/UnixPath;)I
istore 3
start local 3 3: iload 3
ldc 61440
iand
ldc 32768
if_icmpne 4
iconst_1
ireturn
StackMap locals: sun.nio.fs.UnixPath int
StackMap stack:
4: iconst_0
ireturn
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/UnixFileSystemProvider;
0 5 1 obj Ljava/nio/file/Path;
1 5 2 file Lsun/nio/fs/UnixPath;
3 5 3 mode I
MethodParameters:
Name Flags
obj
public final boolean exists(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic sun.nio.fs.UnixPath.toUnixPath:(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
astore 2
start local 2 1: aload 2
invokevirtual sun.nio.fs.UnixPath.checkRead:()V
2: aload 2
invokestatic sun.nio.fs.UnixNativeDispatcher.exists:(Lsun/nio/fs/UnixPath;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 3 1 obj Ljava/nio/file/Path;
1 3 2 file Lsun/nio/fs/UnixPath;
MethodParameters:
Name Flags
obj
java.nio.file.spi.FileTypeDetector getFileTypeDetector();
descriptor: ()Ljava/nio/file/spi/FileTypeDetector;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.nio.fs.UnixFileSystemProvider$1
dup
aload 0
invokespecial sun.nio.fs.UnixFileSystemProvider$1.<init>:(Lsun/nio/fs/UnixFileSystemProvider;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/fs/UnixFileSystemProvider;
final java.nio.file.spi.FileTypeDetector chain(sun.nio.fs.AbstractFileTypeDetector[]);
descriptor: ([Lsun/nio/fs/AbstractFileTypeDetector;)Ljava/nio/file/spi/FileTypeDetector;
flags: (0x0090) ACC_FINAL, ACC_VARARGS
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new sun.nio.fs.UnixFileSystemProvider$2
dup
aload 0
aload 1
invokespecial sun.nio.fs.UnixFileSystemProvider$2.<init>:(Lsun/nio/fs/UnixFileSystemProvider;[Lsun/nio/fs/AbstractFileTypeDetector;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/fs/UnixFileSystemProvider;
0 1 1 detectors [Lsun/nio/fs/AbstractFileTypeDetector;
MethodParameters:
Name Flags
detectors final
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.UnixFileSystemProvider.$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.UnixFileSystemProvider.$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: "UnixFileSystemProvider.java"
NestMembers:
sun.nio.fs.UnixFileSystemProvider$1 sun.nio.fs.UnixFileSystemProvider$2
InnerClasses:
public abstract Filter = java.nio.file.DirectoryStream$Filter of java.nio.file.DirectoryStream
Basic = sun.nio.fs.UnixFileAttributeViews$Basic of sun.nio.fs.UnixFileAttributeViews
sun.nio.fs.UnixFileSystemProvider$1
sun.nio.fs.UnixFileSystemProvider$2
private Posix = sun.nio.fs.UnixFileAttributeViews$Posix of sun.nio.fs.UnixFileAttributeViews
private Unix = sun.nio.fs.UnixFileAttributeViews$Unix of sun.nio.fs.UnixFileAttributeViews