class sun.nio.fs.WindowsSecurityDescriptor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.fs.WindowsSecurityDescriptor
super_class: java.lang.Object
{
private static final jdk.internal.misc.Unsafe unsafe;
descriptor: Ljdk/internal/misc/Unsafe;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final short SIZEOF_ACL;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final short SIZEOF_ACCESS_ALLOWED_ACE;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final short SIZEOF_ACCESS_DENIED_ACE;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final short SIZEOF_SECURITY_DESCRIPTOR;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private static final short OFFSETOF_TYPE;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final short OFFSETOF_FLAGS;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final short OFFSETOF_ACCESS_MASK;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final short OFFSETOF_SID;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final sun.nio.fs.WindowsSecurityDescriptor NULL_DESCRIPTOR;
descriptor: Lsun/nio/fs/WindowsSecurityDescriptor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.List<java.lang.Long> sidList;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/Long;>;
private final sun.nio.fs.NativeBuffer aclBuffer;
descriptor: Lsun/nio/fs/NativeBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.nio.fs.NativeBuffer sdBuffer;
descriptor: Lsun/nio/fs/NativeBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
putstatic sun.nio.fs.WindowsSecurityDescriptor.unsafe:Ljdk/internal/misc/Unsafe;
1: new sun.nio.fs.WindowsSecurityDescriptor
dup
invokespecial sun.nio.fs.WindowsSecurityDescriptor.<init>:()V
2: putstatic sun.nio.fs.WindowsSecurityDescriptor.NULL_DESCRIPTOR:Lsun/nio/fs/WindowsSecurityDescriptor;
3: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.nio.fs.WindowsSecurityDescriptor.sidList:Ljava/util/List;
2: aload 0
aconst_null
putfield sun.nio.fs.WindowsSecurityDescriptor.aclBuffer:Lsun/nio/fs/NativeBuffer;
3: aload 0
aconst_null
putfield sun.nio.fs.WindowsSecurityDescriptor.sdBuffer:Lsun/nio/fs/NativeBuffer;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/nio/fs/WindowsSecurityDescriptor;
private void <init>(java.util.List<java.nio.file.attribute.AclEntry>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iconst_0
istore 2
start local 2 2: new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 1
3: aload 0
new java.util.ArrayList
dup
aload 1
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
putfield sun.nio.fs.WindowsSecurityDescriptor.sidList:Ljava/util/List;
4: bipush 8
istore 3
start local 3 5: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 21
StackMap locals: sun.nio.fs.WindowsSecurityDescriptor java.util.List int int top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.attribute.AclEntry
astore 4
start local 4 7: aload 4
invokevirtual java.nio.file.attribute.AclEntry.principal:()Ljava/nio/file/attribute/UserPrincipal;
astore 6
start local 6 8: aload 6
instanceof sun.nio.fs.WindowsUserPrincipals$User
ifne 10
9: new java.nio.file.ProviderMismatchException
dup
invokespecial java.nio.file.ProviderMismatchException.<init>:()V
athrow
10: StackMap locals: sun.nio.fs.WindowsSecurityDescriptor java.util.List int int java.nio.file.attribute.AclEntry java.util.Iterator java.nio.file.attribute.UserPrincipal
StackMap stack:
aload 6
checkcast sun.nio.fs.WindowsUserPrincipals$User
invokevirtual sun.nio.fs.WindowsUserPrincipals$User.sidString:()Ljava/lang/String;
astore 7
start local 7 11: aload 7
invokestatic sun.nio.fs.WindowsNativeDispatcher.ConvertStringSidToSid:(Ljava/lang/String;)J
lstore 8
start local 8 12: aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.sidList:Ljava/util/List;
lload 8
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: iload 3
lload 8
invokestatic sun.nio.fs.WindowsNativeDispatcher.GetLengthSid:(J)I
14: bipush 12
bipush 12
invokestatic java.lang.Math.max:(II)I
15: iadd
iadd
istore 3
end local 8 16: goto 21
StackMap locals: sun.nio.fs.WindowsSecurityDescriptor java.util.List int int java.nio.file.attribute.AclEntry java.util.Iterator java.nio.file.attribute.UserPrincipal java.lang.String
StackMap stack: sun.nio.fs.WindowsException
17: astore 8
start local 8 18: 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 6
invokeinterface java.nio.file.attribute.UserPrincipal.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
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;
20: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 end local 6 end local 4 21: StackMap locals: sun.nio.fs.WindowsSecurityDescriptor java.util.List int int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
22: aload 0
iload 3
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
putfield sun.nio.fs.WindowsSecurityDescriptor.aclBuffer:Lsun/nio/fs/NativeBuffer;
23: aload 0
bipush 20
invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
putfield sun.nio.fs.WindowsSecurityDescriptor.sdBuffer:Lsun/nio/fs/NativeBuffer;
24: aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.aclBuffer:Lsun/nio/fs/NativeBuffer;
invokevirtual sun.nio.fs.NativeBuffer.address:()J
iload 3
invokestatic sun.nio.fs.WindowsNativeDispatcher.InitializeAcl:(JI)V
25: iconst_0
istore 4
start local 4 26: goto 36
27: StackMap locals: sun.nio.fs.WindowsSecurityDescriptor java.util.List int int int
StackMap stack:
aload 1
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.nio.file.attribute.AclEntry
astore 5
start local 5 28: aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.sidList:Ljava/util/List;
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lstore 6
start local 6 29: aload 5
lload 6
aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.aclBuffer:Lsun/nio/fs/NativeBuffer;
invokevirtual sun.nio.fs.NativeBuffer.address:()J
invokestatic sun.nio.fs.WindowsSecurityDescriptor.encode:(Ljava/nio/file/attribute/AclEntry;JJ)V
30: goto 35
StackMap locals: sun.nio.fs.WindowsSecurityDescriptor java.util.List int int int java.nio.file.attribute.AclEntry long
StackMap stack: sun.nio.fs.WindowsException
31: astore 8
start local 8 32: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Failed to encode ACE: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
33: aload 8
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;
34: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 8 35: StackMap locals:
StackMap stack:
iinc 4 1
end local 6 end local 5 36: StackMap locals:
StackMap stack:
iload 4
aload 1
invokeinterface java.util.List.size:()I
if_icmplt 27
37: aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.sdBuffer:Lsun/nio/fs/NativeBuffer;
invokevirtual sun.nio.fs.NativeBuffer.address:()J
invokestatic sun.nio.fs.WindowsNativeDispatcher.InitializeSecurityDescriptor:(J)V
38: aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.sdBuffer:Lsun/nio/fs/NativeBuffer;
invokevirtual sun.nio.fs.NativeBuffer.address:()J
aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.aclBuffer:Lsun/nio/fs/NativeBuffer;
invokevirtual sun.nio.fs.NativeBuffer.address:()J
invokestatic sun.nio.fs.WindowsNativeDispatcher.SetSecurityDescriptorDacl:(JJ)V
39: iconst_1
istore 2
end local 4 end local 3 40: goto 47
StackMap locals: sun.nio.fs.WindowsSecurityDescriptor java.util.List int
StackMap stack: sun.nio.fs.WindowsException
41: astore 3
start local 3 42: new java.io.IOException
dup
aload 3
invokevirtual sun.nio.fs.WindowsException.getMessage:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 3 43: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
44: iload 2
ifne 46
45: aload 0
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
46: StackMap locals: sun.nio.fs.WindowsSecurityDescriptor java.util.List int top top top top top top top java.lang.Throwable
StackMap stack:
aload 10
athrow
47: StackMap locals: sun.nio.fs.WindowsSecurityDescriptor java.util.List int
StackMap stack:
iload 2
ifne 49
48: aload 0
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
49: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Lsun/nio/fs/WindowsSecurityDescriptor;
0 50 1 acl Ljava/util/List<Ljava/nio/file/attribute/AclEntry;>;
2 50 2 initialized Z
5 40 3 size I
7 21 4 entry Ljava/nio/file/attribute/AclEntry;
8 21 6 user Ljava/nio/file/attribute/UserPrincipal;
11 21 7 sidString Ljava/lang/String;
12 16 8 pSid J
18 21 8 x Lsun/nio/fs/WindowsException;
26 40 4 i I
28 36 5 entry Ljava/nio/file/attribute/AclEntry;
29 36 6 pSid J
32 35 8 x Lsun/nio/fs/WindowsException;
42 43 3 x Lsun/nio/fs/WindowsException;
Exception table:
from to target type
11 16 17 Class sun.nio.fs.WindowsException
29 30 31 Class sun.nio.fs.WindowsException
4 40 41 Class sun.nio.fs.WindowsException
4 43 43 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/List<Ljava/nio/file/attribute/AclEntry;>;)V
MethodParameters:
Name Flags
acl
void release();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.sdBuffer:Lsun/nio/fs/NativeBuffer;
ifnull 2
1: aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.sdBuffer:Lsun/nio/fs/NativeBuffer;
invokevirtual sun.nio.fs.NativeBuffer.release:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.aclBuffer:Lsun/nio/fs/NativeBuffer;
ifnull 4
3: aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.aclBuffer:Lsun/nio/fs/NativeBuffer;
invokevirtual sun.nio.fs.NativeBuffer.release:()V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.sidList:Ljava/util/List;
ifnull 9
5: aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.sidList:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 8
StackMap locals: sun.nio.fs.WindowsSecurityDescriptor top java.util.Iterator
StackMap stack:
6: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Long
astore 1
start local 1 7: aload 1
invokevirtual java.lang.Long.longValue:()J
invokestatic sun.nio.fs.WindowsNativeDispatcher.LocalFree:(J)V
end local 1 8: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: StackMap locals: sun.nio.fs.WindowsSecurityDescriptor
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/nio/fs/WindowsSecurityDescriptor;
7 8 1 sid Ljava/lang/Long;
long address();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.sdBuffer:Lsun/nio/fs/NativeBuffer;
ifnonnull 1
lconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield sun.nio.fs.WindowsSecurityDescriptor.sdBuffer:Lsun/nio/fs/NativeBuffer;
invokevirtual sun.nio.fs.NativeBuffer.address:()J
StackMap locals:
StackMap stack: long
2: lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/fs/WindowsSecurityDescriptor;
private static java.nio.file.attribute.AclEntry decode(long);
descriptor: (J)Ljava/nio/file/attribute/AclEntry;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=11, args_size=1
start local 0 0: getstatic sun.nio.fs.WindowsSecurityDescriptor.unsafe:Ljdk/internal/misc/Unsafe;
lload 0
lconst_0
ladd
invokevirtual jdk.internal.misc.Unsafe.getByte:(J)B
istore 2
start local 2 1: iload 2
ifeq 3
iload 2
iconst_1
if_icmpeq 3
2: aconst_null
areturn
3: StackMap locals: int
StackMap stack:
iload 2
ifne 6
4: getstatic java.nio.file.attribute.AclEntryType.ALLOW:Ljava/nio/file/attribute/AclEntryType;
astore 3
start local 3 5: goto 7
end local 3 6: StackMap locals:
StackMap stack:
getstatic java.nio.file.attribute.AclEntryType.DENY:Ljava/nio/file/attribute/AclEntryType;
astore 3
start local 3 7: StackMap locals: java.nio.file.attribute.AclEntryType
StackMap stack:
getstatic sun.nio.fs.WindowsSecurityDescriptor.unsafe:Ljdk/internal/misc/Unsafe;
lload 0
lconst_1
ladd
invokevirtual jdk.internal.misc.Unsafe.getByte:(J)B
istore 4
start local 4 8: ldc Ljava/nio/file/attribute/AclEntryFlag;
invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
astore 5
start local 5 9: iload 4
iconst_1
iand
ifeq 11
10: aload 5
getstatic java.nio.file.attribute.AclEntryFlag.FILE_INHERIT:Ljava/nio/file/attribute/AclEntryFlag;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: StackMap locals: int java.util.Set
StackMap stack:
iload 4
iconst_2
iand
ifeq 13
12: aload 5
getstatic java.nio.file.attribute.AclEntryFlag.DIRECTORY_INHERIT:Ljava/nio/file/attribute/AclEntryFlag;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
13: StackMap locals:
StackMap stack:
iload 4
iconst_4
iand
ifeq 15
14: aload 5
getstatic java.nio.file.attribute.AclEntryFlag.NO_PROPAGATE_INHERIT:Ljava/nio/file/attribute/AclEntryFlag;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
15: StackMap locals:
StackMap stack:
iload 4
bipush 8
iand
ifeq 17
16: aload 5
getstatic java.nio.file.attribute.AclEntryFlag.INHERIT_ONLY:Ljava/nio/file/attribute/AclEntryFlag;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
17: StackMap locals:
StackMap stack:
getstatic sun.nio.fs.WindowsSecurityDescriptor.unsafe:Ljdk/internal/misc/Unsafe;
lload 0
ldc 4
ladd
invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
istore 6
start local 6 18: ldc Ljava/nio/file/attribute/AclEntryPermission;
invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
astore 7
start local 7 19: iload 6
iconst_1
iand
ifle 21
20: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.READ_DATA:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
21: StackMap locals: int java.util.Set
StackMap stack:
iload 6
iconst_2
iand
ifle 23
22: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.WRITE_DATA:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
23: StackMap locals:
StackMap stack:
iload 6
iconst_4
iand
ifle 25
24: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.APPEND_DATA:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
25: StackMap locals:
StackMap stack:
iload 6
bipush 8
iand
ifle 27
26: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.READ_NAMED_ATTRS:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
27: StackMap locals:
StackMap stack:
iload 6
bipush 16
iand
ifle 29
28: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.WRITE_NAMED_ATTRS:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
29: StackMap locals:
StackMap stack:
iload 6
bipush 32
iand
ifle 31
30: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.EXECUTE:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
31: StackMap locals:
StackMap stack:
iload 6
bipush 64
iand
ifle 33
32: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.DELETE_CHILD:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
33: StackMap locals:
StackMap stack:
iload 6
sipush 128
iand
ifle 35
34: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.READ_ATTRIBUTES:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
35: StackMap locals:
StackMap stack:
iload 6
sipush 256
iand
ifle 37
36: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.WRITE_ATTRIBUTES:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
37: StackMap locals:
StackMap stack:
iload 6
ldc 65536
iand
ifle 39
38: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.DELETE:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
39: StackMap locals:
StackMap stack:
iload 6
ldc 131072
iand
ifle 41
40: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.READ_ACL:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
41: StackMap locals:
StackMap stack:
iload 6
ldc 262144
iand
ifle 43
42: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.WRITE_ACL:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
43: StackMap locals:
StackMap stack:
iload 6
ldc 524288
iand
ifle 45
44: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.WRITE_OWNER:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
45: StackMap locals:
StackMap stack:
iload 6
ldc 1048576
iand
ifle 47
46: aload 7
getstatic java.nio.file.attribute.AclEntryPermission.SYNCHRONIZE:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
47: StackMap locals:
StackMap stack:
lload 0
ldc 8
ladd
lstore 8
start local 8 48: lload 8
invokestatic sun.nio.fs.WindowsUserPrincipals.fromSid:(J)Ljava/nio/file/attribute/UserPrincipal;
astore 10
start local 10 49: invokestatic java.nio.file.attribute.AclEntry.newBuilder:()Ljava/nio/file/attribute/AclEntry$Builder;
50: aload 3
invokevirtual java.nio.file.attribute.AclEntry$Builder.setType:(Ljava/nio/file/attribute/AclEntryType;)Ljava/nio/file/attribute/AclEntry$Builder;
51: aload 10
invokevirtual java.nio.file.attribute.AclEntry$Builder.setPrincipal:(Ljava/nio/file/attribute/UserPrincipal;)Ljava/nio/file/attribute/AclEntry$Builder;
52: aload 5
invokevirtual java.nio.file.attribute.AclEntry$Builder.setFlags:(Ljava/util/Set;)Ljava/nio/file/attribute/AclEntry$Builder;
aload 7
invokevirtual java.nio.file.attribute.AclEntry$Builder.setPermissions:(Ljava/util/Set;)Ljava/nio/file/attribute/AclEntry$Builder;
invokevirtual java.nio.file.attribute.AclEntry$Builder.build:()Ljava/nio/file/attribute/AclEntry;
53: areturn
end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 aceAddress J
1 54 2 aceType B
5 6 3 type Ljava/nio/file/attribute/AclEntryType;
7 54 3 type Ljava/nio/file/attribute/AclEntryType;
8 54 4 aceFlags B
9 54 5 flags Ljava/util/Set<Ljava/nio/file/attribute/AclEntryFlag;>;
18 54 6 mask I
19 54 7 perms Ljava/util/Set<Ljava/nio/file/attribute/AclEntryPermission;>;
48 54 8 sidAddress J
49 54 10 user Ljava/nio/file/attribute/UserPrincipal;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
aceAddress
private static void encode(java.nio.file.attribute.AclEntry, long, long);
descriptor: (Ljava/nio/file/attribute/AclEntry;JJ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual java.nio.file.attribute.AclEntry.type:()Ljava/nio/file/attribute/AclEntryType;
getstatic java.nio.file.attribute.AclEntryType.ALLOW:Ljava/nio/file/attribute/AclEntryType;
if_acmpeq 2
aload 0
invokevirtual java.nio.file.attribute.AclEntry.type:()Ljava/nio/file/attribute/AclEntryType;
getstatic java.nio.file.attribute.AclEntryType.DENY:Ljava/nio/file/attribute/AclEntryType;
if_acmpeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.file.attribute.AclEntry.type:()Ljava/nio/file/attribute/AclEntryType;
getstatic java.nio.file.attribute.AclEntryType.ALLOW:Ljava/nio/file/attribute/AclEntryType;
if_acmpne 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 5
start local 5 5: aload 0
invokevirtual java.nio.file.attribute.AclEntry.permissions:()Ljava/util/Set;
astore 6
start local 6 6: iconst_0
istore 7
start local 7 7: aload 6
getstatic java.nio.file.attribute.AclEntryPermission.READ_DATA:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 9
8: iload 7
iconst_1
ior
istore 7
9: StackMap locals: int java.util.Set int
StackMap stack:
aload 6
getstatic java.nio.file.attribute.AclEntryPermission.WRITE_DATA:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 11
10: iload 7
iconst_2
ior
istore 7
11: StackMap locals:
StackMap stack:
aload 6
getstatic java.nio.file.attribute.AclEntryPermission.APPEND_DATA:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 13
12: iload 7
iconst_4
ior
istore 7
13: StackMap locals:
StackMap stack:
aload 6
getstatic java.nio.file.attribute.AclEntryPermission.READ_NAMED_ATTRS:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 15
14: iload 7
bipush 8
ior
istore 7
15: StackMap locals:
StackMap stack:
aload 6
getstatic java.nio.file.attribute.AclEntryPermission.WRITE_NAMED_ATTRS:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 17
16: iload 7
bipush 16
ior
istore 7
17: StackMap locals:
StackMap stack:
aload 6
getstatic java.nio.file.attribute.AclEntryPermission.EXECUTE:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 19
18: iload 7
bipush 32
ior
istore 7
19: StackMap locals:
StackMap stack:
aload 6
getstatic java.nio.file.attribute.AclEntryPermission.DELETE_CHILD:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 21
20: iload 7
bipush 64
ior
istore 7
21: StackMap locals:
StackMap stack:
aload 6
getstatic java.nio.file.attribute.AclEntryPermission.READ_ATTRIBUTES:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 23
22: iload 7
sipush 128
ior
istore 7
23: StackMap locals:
StackMap stack:
aload 6
getstatic java.nio.file.attribute.AclEntryPermission.WRITE_ATTRIBUTES:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 25
24: iload 7
sipush 256
ior
istore 7
25: StackMap locals:
StackMap stack:
aload 6
getstatic java.nio.file.attribute.AclEntryPermission.DELETE:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 27
26: iload 7
ldc 65536
ior
istore 7
27: StackMap locals:
StackMap stack:
aload 6
getstatic java.nio.file.attribute.AclEntryPermission.READ_ACL:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 29
28: iload 7
ldc 131072
ior
istore 7
29: StackMap locals:
StackMap stack:
aload 6
getstatic java.nio.file.attribute.AclEntryPermission.WRITE_ACL:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 31
30: iload 7
ldc 262144
ior
istore 7
31: StackMap locals:
StackMap stack:
aload 6
getstatic java.nio.file.attribute.AclEntryPermission.WRITE_OWNER:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 33
32: iload 7
ldc 524288
ior
istore 7
33: StackMap locals:
StackMap stack:
aload 6
getstatic java.nio.file.attribute.AclEntryPermission.SYNCHRONIZE:Ljava/nio/file/attribute/AclEntryPermission;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 35
34: iload 7
ldc 1048576
ior
istore 7
35: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.file.attribute.AclEntry.flags:()Ljava/util/Set;
astore 8
start local 8 36: iconst_0
istore 9
start local 9 37: aload 8
getstatic java.nio.file.attribute.AclEntryFlag.FILE_INHERIT:Ljava/nio/file/attribute/AclEntryFlag;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 39
38: iload 9
iconst_1
ior
i2b
istore 9
39: StackMap locals: java.util.Set int
StackMap stack:
aload 8
getstatic java.nio.file.attribute.AclEntryFlag.DIRECTORY_INHERIT:Ljava/nio/file/attribute/AclEntryFlag;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 41
40: iload 9
iconst_2
ior
i2b
istore 9
41: StackMap locals:
StackMap stack:
aload 8
getstatic java.nio.file.attribute.AclEntryFlag.NO_PROPAGATE_INHERIT:Ljava/nio/file/attribute/AclEntryFlag;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 43
42: iload 9
iconst_4
ior
i2b
istore 9
43: StackMap locals:
StackMap stack:
aload 8
getstatic java.nio.file.attribute.AclEntryFlag.INHERIT_ONLY:Ljava/nio/file/attribute/AclEntryFlag;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 45
44: iload 9
bipush 8
ior
i2b
istore 9
45: StackMap locals:
StackMap stack:
iload 5
ifeq 48
46: lload 3
iload 9
iload 7
lload 1
invokestatic sun.nio.fs.WindowsNativeDispatcher.AddAccessAllowedAceEx:(JIIJ)V
47: goto 49
48: StackMap locals:
StackMap stack:
lload 3
iload 9
iload 7
lload 1
invokestatic sun.nio.fs.WindowsNativeDispatcher.AddAccessDeniedAceEx:(JIIJ)V
49: StackMap locals:
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 ace Ljava/nio/file/attribute/AclEntry;
0 50 1 sidAddress J
0 50 3 aclAddress J
5 50 5 allow Z
6 50 6 aceMask Ljava/util/Set<Ljava/nio/file/attribute/AclEntryPermission;>;
7 50 7 mask I
36 50 8 aceFlags Ljava/util/Set<Ljava/nio/file/attribute/AclEntryFlag;>;
37 50 9 flags B
Exceptions:
throws sun.nio.fs.WindowsException
MethodParameters:
Name Flags
ace
sidAddress
aclAddress
static sun.nio.fs.WindowsSecurityDescriptor create(java.util.List<java.nio.file.attribute.AclEntry>);
descriptor: (Ljava/util/List;)Lsun/nio/fs/WindowsSecurityDescriptor;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.nio.fs.WindowsSecurityDescriptor
dup
aload 0
invokespecial sun.nio.fs.WindowsSecurityDescriptor.<init>:(Ljava/util/List;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 acl Ljava/util/List<Ljava/nio/file/attribute/AclEntry;>;
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/List<Ljava/nio/file/attribute/AclEntry;>;)Lsun/nio/fs/WindowsSecurityDescriptor;
MethodParameters:
Name Flags
acl
static sun.nio.fs.WindowsSecurityDescriptor fromAttribute(java.nio.file.attribute.FileAttribute<?>[]);
descriptor: ([Ljava/nio/file/attribute/FileAttribute;)Lsun/nio/fs/WindowsSecurityDescriptor;
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=7, args_size=1
start local 0 0: getstatic sun.nio.fs.WindowsSecurityDescriptor.NULL_DESCRIPTOR:Lsun/nio/fs/WindowsSecurityDescriptor;
astore 1
start local 1 1: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 15
StackMap locals: java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsSecurityDescriptor top int int java.nio.file.attribute.FileAttribute[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 1
getstatic sun.nio.fs.WindowsSecurityDescriptor.NULL_DESCRIPTOR:Lsun/nio/fs/WindowsSecurityDescriptor;
if_acmpeq 5
4: aload 1
invokevirtual sun.nio.fs.WindowsSecurityDescriptor.release:()V
5: StackMap locals: java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsSecurityDescriptor java.nio.file.attribute.FileAttribute int int java.nio.file.attribute.FileAttribute[]
StackMap stack:
aload 2
ifnonnull 7
6: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.nio.file.attribute.FileAttribute.name:()Ljava/lang/String;
ldc "acl:acl"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
8: aload 2
invokeinterface java.nio.file.attribute.FileAttribute.value:()Ljava/lang/Object;
checkcast java.util.List
astore 6
start local 6 9: new sun.nio.fs.WindowsSecurityDescriptor
dup
aload 6
invokespecial sun.nio.fs.WindowsSecurityDescriptor.<init>:(Ljava/util/List;)V
astore 1
end local 6 10: goto 14
11: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokeinterface java.nio.file.attribute.FileAttribute.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc "' not supported as initial attribute"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 2 14: StackMap locals: java.nio.file.attribute.FileAttribute[] sun.nio.fs.WindowsSecurityDescriptor top int int java.nio.file.attribute.FileAttribute[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
15: iload 3
iload 4
if_icmplt 2
16: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 attrs [Ljava/nio/file/attribute/FileAttribute;
1 17 1 sd Lsun/nio/fs/WindowsSecurityDescriptor;
3 14 2 attr Ljava/nio/file/attribute/FileAttribute<*>;
9 10 6 acl Ljava/util/List<Ljava/nio/file/attribute/AclEntry;>;
Exceptions:
throws java.io.IOException
Signature: ([Ljava/nio/file/attribute/FileAttribute<*>;)Lsun/nio/fs/WindowsSecurityDescriptor;
MethodParameters:
Name Flags
attrs
static java.util.List<java.nio.file.attribute.AclEntry> getAcl(long);
descriptor: (J)Ljava/util/List;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=10, args_size=1
start local 0 0: lload 0
invokestatic sun.nio.fs.WindowsNativeDispatcher.GetSecurityDescriptorDacl:(J)J
lstore 2
start local 2 1: iconst_0
istore 4
start local 4 2: lload 2
lconst_0
lcmp
ifne 5
3: iconst_0
istore 4
4: goto 7
5: StackMap locals: long int
StackMap stack:
lload 2
invokestatic sun.nio.fs.WindowsNativeDispatcher.GetAclInformation:(J)Lsun/nio/fs/WindowsNativeDispatcher$AclInformation;
astore 5
start local 5 6: aload 5
invokevirtual sun.nio.fs.WindowsNativeDispatcher$AclInformation.aceCount:()I
istore 4
end local 5 7: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
iload 4
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 8: iconst_0
istore 6
start local 6 9: goto 15
10: StackMap locals: java.util.ArrayList int
StackMap stack:
lload 2
iload 6
invokestatic sun.nio.fs.WindowsNativeDispatcher.GetAce:(JI)J
lstore 7
start local 7 11: lload 7
invokestatic sun.nio.fs.WindowsSecurityDescriptor.decode:(J)Ljava/nio/file/attribute/AclEntry;
astore 9
start local 9 12: aload 9
ifnull 14
13: aload 5
aload 9
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 7 14: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
iload 4
if_icmplt 10
end local 6 16: aload 5
areturn
end local 5 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 pSecurityDescriptor J
1 17 2 aclAddress J
2 17 4 aceCount I
6 7 5 aclInfo Lsun/nio/fs/WindowsNativeDispatcher$AclInformation;
8 17 5 result Ljava/util/ArrayList<Ljava/nio/file/attribute/AclEntry;>;
9 16 6 i I
11 14 7 aceAddress J
12 14 9 entry Ljava/nio/file/attribute/AclEntry;
Exceptions:
throws java.io.IOException
Signature: (J)Ljava/util/List<Ljava/nio/file/attribute/AclEntry;>;
MethodParameters:
Name Flags
pSecurityDescriptor
}
SourceFile: "WindowsSecurityDescriptor.java"
InnerClasses:
public final Builder = java.nio.file.attribute.AclEntry$Builder of java.nio.file.attribute.AclEntry
AclInformation = sun.nio.fs.WindowsNativeDispatcher$AclInformation of sun.nio.fs.WindowsNativeDispatcher
User = sun.nio.fs.WindowsUserPrincipals$User of sun.nio.fs.WindowsUserPrincipals