class sun.nio.fs.WindowsAclFileAttributeView extends sun.nio.fs.AbstractAclFileAttributeView
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.fs.WindowsAclFileAttributeView
super_class: sun.nio.fs.AbstractAclFileAttributeView
{
private static final short SIZEOF_SECURITY_DESCRIPTOR;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private final sun.nio.fs.WindowsPath file;
descriptor: Lsun/nio/fs/WindowsPath;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean followLinks;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lsun/nio/fs/WindowsAclFileAttributeView;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.nio.fs.WindowsAclFileAttributeView.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.nio.fs.WindowsPath, boolean);
descriptor: (Lsun/nio/fs/WindowsPath;Z)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial sun.nio.fs.AbstractAclFileAttributeView.<init>:()V
1: aload 0
aload 1
putfield sun.nio.fs.WindowsAclFileAttributeView.file:Lsun/nio/fs/WindowsPath;
2: aload 0
iload 2
putfield sun.nio.fs.WindowsAclFileAttributeView.followLinks:Z
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/fs/WindowsAclFileAttributeView;
0 4 1 file Lsun/nio/fs/WindowsPath;
0 4 2 followLinks Z
MethodParameters:
Name Flags
file
followLinks
private void checkAccess(sun.nio.fs.WindowsPath, boolean, boolean);
descriptor: (Lsun/nio/fs/WindowsPath;ZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 4
start local 4 1: aload 4
ifnull 7
2: iload 2
ifeq 4
3: aload 4
aload 1
invokevirtual sun.nio.fs.WindowsPath.getPathForPermissionCheck:()Ljava/lang/String;
invokevirtual java.lang.SecurityManager.checkRead:(Ljava/lang/String;)V
4: StackMap locals: java.lang.SecurityManager
StackMap stack:
iload 3
ifeq 6
5: aload 4
aload 1
invokevirtual sun.nio.fs.WindowsPath.getPathForPermissionCheck:()Ljava/lang/String;
invokevirtual java.lang.SecurityManager.checkWrite:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
aload 4
new java.lang.RuntimePermission
dup
ldc "accessUserInformation"
invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
7: 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 8 0 this Lsun/nio/fs/WindowsAclFileAttributeView;
0 8 1 file Lsun/nio/fs/WindowsPath;
0 8 2 checkRead Z
0 8 3 checkWrite Z
1 8 4 sm Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
file
checkRead
checkWrite
static sun.nio.fs.NativeBuffer getFileSecurity(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Lsun/nio/fs/NativeBuffer;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
iload 1
lconst_0
iconst_0
invokestatic sun.nio.fs.WindowsNativeDispatcher.GetFileSecurity:(Ljava/lang/String;IJI)I
istore 2
2: goto 5
StackMap locals: java.lang.String int int
StackMap stack: sun.nio.fs.WindowsException
3: astore 3
start local 3 4: aload 3
aload 0
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Ljava/lang/String;)V
end local 3 5: StackMap locals:
StackMap stack:
getstatic sun.nio.fs.WindowsAclFileAttributeView.$assertionsDisabled:Z
ifne 6
iload 2
ifgt 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
iload 2
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
astore 3
start local 3 7: StackMap locals: sun.nio.fs.NativeBuffer
StackMap stack:
aload 0
iload 1
aload 3
invokevirtual sun.nio.fs.NativeBuffer.address:()J
iload 2
invokestatic sun.nio.fs.WindowsNativeDispatcher.GetFileSecurity:(Ljava/lang/String;IJI)I
istore 4
start local 4 8: iload 4
iload 2
if_icmpgt 11
9: aload 3
10: areturn
11: StackMap locals: int
StackMap stack:
aload 3
invokevirtual sun.nio.fs.NativeBuffer.release:()V
12: iload 4
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
astore 3
13: iload 4
istore 2
end local 4 14: goto 7
15: StackMap locals: java.lang.String int int sun.nio.fs.NativeBuffer
StackMap stack: sun.nio.fs.WindowsException
astore 4
start local 4 16: aload 3
invokevirtual sun.nio.fs.NativeBuffer.release:()V
17: aload 4
aload 0
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Ljava/lang/String;)V
18: 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 19 0 path Ljava/lang/String;
0 19 1 request I
1 19 2 size I
4 5 3 x Lsun/nio/fs/WindowsException;
7 19 3 buffer Lsun/nio/fs/NativeBuffer;
8 14 4 newSize I
16 19 4 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
1 2 3 Class sun.nio.fs.WindowsException
7 10 15 Class sun.nio.fs.WindowsException
11 15 15 Class sun.nio.fs.WindowsException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
request
public java.nio.file.attribute.UserPrincipal getOwner();
descriptor: ()Ljava/nio/file/attribute/UserPrincipal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.file:Lsun/nio/fs/WindowsPath;
iconst_1
iconst_0
invokevirtual sun.nio.fs.WindowsAclFileAttributeView.checkAccess:(Lsun/nio/fs/WindowsPath;ZZ)V
1: aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.file:Lsun/nio/fs/WindowsPath;
aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.followLinks:Z
invokestatic sun.nio.fs.WindowsLinkSupport.getFinalPath:(Lsun/nio/fs/WindowsPath;Z)Ljava/lang/String;
astore 1
start local 1 2: aload 1
iconst_1
invokestatic sun.nio.fs.WindowsAclFileAttributeView.getFileSecurity:(Ljava/lang/String;I)Lsun/nio/fs/NativeBuffer;
astore 2
start local 2 3: aload 2
invokevirtual sun.nio.fs.NativeBuffer.address:()J
invokestatic sun.nio.fs.WindowsNativeDispatcher.GetSecurityDescriptorOwner:(J)J
lstore 3
start local 3 4: lload 3
lconst_0
lcmp
ifne 6
5: new java.io.IOException
dup
ldc "no owner"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: java.lang.String sun.nio.fs.NativeBuffer long
StackMap stack:
lload 3
invokestatic sun.nio.fs.WindowsUserPrincipals.fromSid:(J)Ljava/nio/file/attribute/UserPrincipal;
astore 6
7: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
8: aload 6
areturn
end local 3 9: StackMap locals: sun.nio.fs.WindowsAclFileAttributeView java.lang.String sun.nio.fs.NativeBuffer
StackMap stack: sun.nio.fs.WindowsException
astore 3
start local 3 10: aload 3
aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.file:Lsun/nio/fs/WindowsPath;
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
11: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
12: aconst_null
areturn
end local 3 13: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
14: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
15: aload 5
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/nio/fs/WindowsAclFileAttributeView;
2 16 1 path Ljava/lang/String;
3 16 2 buffer Lsun/nio/fs/NativeBuffer;
4 9 3 sidAddress J
10 13 3 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
3 7 9 Class sun.nio.fs.WindowsException
3 7 13 any
9 11 13 any
Exceptions:
throws java.io.IOException
public java.util.List<java.nio.file.attribute.AclEntry> getAcl();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.file:Lsun/nio/fs/WindowsPath;
iconst_1
iconst_0
invokevirtual sun.nio.fs.WindowsAclFileAttributeView.checkAccess:(Lsun/nio/fs/WindowsPath;ZZ)V
1: aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.file:Lsun/nio/fs/WindowsPath;
aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.followLinks:Z
invokestatic sun.nio.fs.WindowsLinkSupport.getFinalPath:(Lsun/nio/fs/WindowsPath;Z)Ljava/lang/String;
astore 1
start local 1 2: aload 1
iconst_4
invokestatic sun.nio.fs.WindowsAclFileAttributeView.getFileSecurity:(Ljava/lang/String;I)Lsun/nio/fs/NativeBuffer;
astore 2
start local 2 3: aload 2
invokevirtual sun.nio.fs.NativeBuffer.address:()J
invokestatic sun.nio.fs.WindowsSecurityDescriptor.getAcl:(J)Ljava/util/List;
astore 4
4: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
5: aload 4
areturn
6: StackMap locals: sun.nio.fs.WindowsAclFileAttributeView java.lang.String sun.nio.fs.NativeBuffer
StackMap stack: java.lang.Throwable
astore 3
7: aload 2
invokevirtual sun.nio.fs.NativeBuffer.release:()V
8: aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/nio/fs/WindowsAclFileAttributeView;
2 9 1 path Ljava/lang/String;
3 9 2 buffer Lsun/nio/fs/NativeBuffer;
Exception table:
from to target type
3 4 6 any
Exceptions:
throws java.io.IOException
Signature: ()Ljava/util/List<Ljava/nio/file/attribute/AclEntry;>;
public void setOwner(java.nio.file.attribute.UserPrincipal);
descriptor: (Ljava/nio/file/attribute/UserPrincipal;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "'owner' is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof sun.nio.fs.WindowsUserPrincipals$User
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.WindowsUserPrincipals$User
astore 2
start local 2 5: aload 0
aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.file:Lsun/nio/fs/WindowsPath;
iconst_0
iconst_1
invokevirtual sun.nio.fs.WindowsAclFileAttributeView.checkAccess:(Lsun/nio/fs/WindowsPath;ZZ)V
6: aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.file:Lsun/nio/fs/WindowsPath;
aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.followLinks:Z
invokestatic sun.nio.fs.WindowsLinkSupport.getFinalPath:(Lsun/nio/fs/WindowsPath;Z)Ljava/lang/String;
astore 3
start local 3 7: lconst_0
lstore 4
start local 4 8: aload 2
invokevirtual sun.nio.fs.WindowsUserPrincipals$User.sidString:()Ljava/lang/String;
invokestatic sun.nio.fs.WindowsNativeDispatcher.ConvertStringSidToSid:(Ljava/lang/String;)J
lstore 4
9: goto 14
StackMap locals: sun.nio.fs.WindowsAclFileAttributeView java.nio.file.attribute.UserPrincipal sun.nio.fs.WindowsUserPrincipals$User java.lang.String long
StackMap stack: sun.nio.fs.WindowsException
10: astore 6
start local 6 11: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Failed to get SID for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual sun.nio.fs.WindowsUserPrincipals$User.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual sun.nio.fs.WindowsException.errorString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 6 14: StackMap locals:
StackMap stack:
bipush 20
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
astore 6
start local 6 15: aload 6
invokevirtual sun.nio.fs.NativeBuffer.address:()J
invokestatic sun.nio.fs.WindowsNativeDispatcher.InitializeSecurityDescriptor:(J)V
16: aload 6
invokevirtual sun.nio.fs.NativeBuffer.address:()J
lload 4
invokestatic sun.nio.fs.WindowsNativeDispatcher.SetSecurityDescriptorOwner:(JJ)V
17: ldc "SeRestorePrivilege"
invokestatic sun.nio.fs.WindowsSecurity.enablePrivilege:(Ljava/lang/String;)Lsun/nio/fs/WindowsSecurity$Privilege;
18: astore 7
start local 7 19: aload 3
20: iconst_1
21: aload 6
invokevirtual sun.nio.fs.NativeBuffer.address:()J
22: invokestatic sun.nio.fs.WindowsNativeDispatcher.SetFileSecurity:(Ljava/lang/String;IJ)V
23: goto 27
StackMap locals: sun.nio.fs.WindowsAclFileAttributeView java.nio.file.attribute.UserPrincipal sun.nio.fs.WindowsUserPrincipals$User java.lang.String long sun.nio.fs.NativeBuffer sun.nio.fs.WindowsSecurity$Privilege
StackMap stack: java.lang.Throwable
24: astore 8
25: aload 7
invokeinterface sun.nio.fs.WindowsSecurity$Privilege.drop:()V
26: aload 8
athrow
27: StackMap locals:
StackMap stack:
aload 7
invokeinterface sun.nio.fs.WindowsSecurity$Privilege.drop:()V
end local 7 28: goto 35
StackMap locals: sun.nio.fs.WindowsAclFileAttributeView java.nio.file.attribute.UserPrincipal sun.nio.fs.WindowsUserPrincipals$User java.lang.String long sun.nio.fs.NativeBuffer
StackMap stack: sun.nio.fs.WindowsException
29: astore 7
start local 7 30: aload 7
aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.file:Lsun/nio/fs/WindowsPath;
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 7 31: aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
goto 40
32: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
33: aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
34: aload 9
athrow
35: StackMap locals:
StackMap stack:
aload 6
invokevirtual sun.nio.fs.NativeBuffer.release:()V
end local 6 36: goto 40
StackMap locals: sun.nio.fs.WindowsAclFileAttributeView java.nio.file.attribute.UserPrincipal sun.nio.fs.WindowsUserPrincipals$User java.lang.String long
StackMap stack: java.lang.Throwable
37: astore 10
38: lload 4
invokestatic sun.nio.fs.WindowsNativeDispatcher.LocalFree:(J)V
39: aload 10
athrow
40: StackMap locals:
StackMap stack:
lload 4
invokestatic sun.nio.fs.WindowsNativeDispatcher.LocalFree:(J)V
41: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lsun/nio/fs/WindowsAclFileAttributeView;
0 42 1 obj Ljava/nio/file/attribute/UserPrincipal;
5 42 2 owner Lsun/nio/fs/WindowsUserPrincipals$User;
7 42 3 path Ljava/lang/String;
8 42 4 pOwner J
11 14 6 x Lsun/nio/fs/WindowsException;
15 36 6 buffer Lsun/nio/fs/NativeBuffer;
19 28 7 priv Lsun/nio/fs/WindowsSecurity$Privilege;
30 31 7 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
8 9 10 Class sun.nio.fs.WindowsException
19 24 24 any
15 28 29 Class sun.nio.fs.WindowsException
15 31 32 any
14 37 37 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
public void setAcl(java.util.List<java.nio.file.attribute.AclEntry>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.file:Lsun/nio/fs/WindowsPath;
iconst_0
iconst_1
invokevirtual sun.nio.fs.WindowsAclFileAttributeView.checkAccess:(Lsun/nio/fs/WindowsPath;ZZ)V
1: aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.file:Lsun/nio/fs/WindowsPath;
aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.followLinks:Z
invokestatic sun.nio.fs.WindowsLinkSupport.getFinalPath:(Lsun/nio/fs/WindowsPath;Z)Ljava/lang/String;
astore 2
start local 2 2: aload 1
invokestatic sun.nio.fs.WindowsSecurityDescriptor.create:(Ljava/util/List;)Lsun/nio/fs/WindowsSecurityDescriptor;
astore 3
start local 3 3: aload 2
iconst_4
aload 3
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.address:()J
invokestatic sun.nio.fs.WindowsNativeDispatcher.SetFileSecurity:(Ljava/lang/String;IJ)V
4: goto 11
StackMap locals: sun.nio.fs.WindowsAclFileAttributeView java.util.List java.lang.String sun.nio.fs.WindowsSecurityDescriptor
StackMap stack: sun.nio.fs.WindowsException
5: astore 4
start local 4 6: aload 4
aload 0
getfield sun.nio.fs.WindowsAclFileAttributeView.file:Lsun/nio/fs/WindowsPath;
invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
end local 4 7: aload 3
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
goto 12
8: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
9: aload 3
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
10: aload 5
athrow
11: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/nio/fs/WindowsAclFileAttributeView;
0 13 1 acl Ljava/util/List<Ljava/nio/file/attribute/AclEntry;>;
2 13 2 path Ljava/lang/String;
3 13 3 sd Lsun/nio/fs/WindowsSecurityDescriptor;
6 7 4 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
3 4 5 Class sun.nio.fs.WindowsException
3 7 8 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/List<Ljava/nio/file/attribute/AclEntry;>;)V
MethodParameters:
Name Flags
acl
}
SourceFile: "WindowsAclFileAttributeView.java"
InnerClasses:
abstract Privilege = sun.nio.fs.WindowsSecurity$Privilege of sun.nio.fs.WindowsSecurity
User = sun.nio.fs.WindowsUserPrincipals$User of sun.nio.fs.WindowsUserPrincipals