final class org.hsqldb.server.ServerAcl$AclEntry
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.hsqldb.server.ServerAcl$AclEntry
super_class: java.lang.Object
{
private byte[] value;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] mask;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int bitBlockSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public boolean allow;
descriptor: Z
flags: (0x0001) ACC_PUBLIC
public void <init>(byte[], int, boolean);
descriptor: ([BIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aconst_null
astore 4
start local 4 2: aload 1
arraylength
lookupswitch { // 2
4: 3
16: 5
default: 7
}
3: StackMap locals: org.hsqldb.server.ServerAcl$AclEntry byte[] int int byte[]
StackMap stack:
getstatic org.hsqldb.server.ServerAcl.ALL_SET_4BYTES:[B
astore 4
4: goto 10
5: StackMap locals:
StackMap stack:
getstatic org.hsqldb.server.ServerAcl.ALL_SET_16BYTES:[B
astore 4
6: goto 10
7: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
8: new java.lang.StringBuilder
dup
ldc "Only 4 and 16 bytes supported, not "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
iload 2
aload 1
arraylength
bipush 8
imul
if_icmple 17
11: new java.lang.IllegalArgumentException
dup
12: new java.lang.StringBuilder
dup
ldc "Specified "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
13: ldc " significant bits, but value only has "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: aload 1
arraylength
bipush 8
imul
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bits"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield org.hsqldb.server.ServerAcl$AclEntry.bitBlockSize:I
18: aload 0
aload 1
putfield org.hsqldb.server.ServerAcl$AclEntry.value:[B
19: aload 0
aload 4
aload 1
arraylength
bipush 8
imul
iload 2
isub
invokestatic org.hsqldb.map.BitMap.leftShift:([BI)[B
putfield org.hsqldb.server.ServerAcl$AclEntry.mask:[B
20: aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.mask:[B
arraylength
aload 1
arraylength
if_icmpeq 28
21: new java.lang.RuntimeException
dup
22: new java.lang.StringBuilder
dup
ldc "Basic program assertion failed. Generated mask length "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
23: aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.mask:[B
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
24: ldc " (bytes) does not match given value length "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: aload 1
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (bytes)."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
aload 0
iload 3
putfield org.hsqldb.server.ServerAcl$AclEntry.allow:Z
29: aload 0
invokevirtual org.hsqldb.server.ServerAcl$AclEntry.validateMask:()V
30: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/hsqldb/server/ServerAcl$AclEntry;
0 31 1 value [B
0 31 2 bitBlockSize I
0 31 3 allow Z
2 31 4 allOn [B
Exceptions:
throws org.hsqldb.server.ServerAcl$AclFormatException
MethodParameters:
Name Flags
value
bitBlockSize
allow
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Addrs "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.value:[B
arraylength
bipush 16
if_icmpne 3
2: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.value:[B
invokestatic org.hsqldb.server.ServerAcl.colonNotation:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 4
3: StackMap locals: org.hsqldb.server.ServerAcl$AclEntry java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder
aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.value:[B
invokestatic org.hsqldb.server.ServerAcl.dottedNotation:([B)Ljava/lang/String;
4: StackMap locals: org.hsqldb.server.ServerAcl$AclEntry java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 1
new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.bitBlockSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.allow:Z
ifeq 6
ldc "ALLOW"
goto 7
6: StackMap locals: org.hsqldb.server.ServerAcl$AclEntry java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.StringBuilder
ldc "DENY"
StackMap locals: org.hsqldb.server.ServerAcl$AclEntry java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.StringBuilder java.lang.String
7: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/hsqldb/server/ServerAcl$AclEntry;
1 10 1 sb Ljava/lang/StringBuilder;
public boolean matches(byte[]);
descriptor: ([B)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.value:[B
arraylength
aload 1
arraylength
if_icmpeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.value:[B
3: aload 1
4: aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.mask:[B
5: invokestatic org.hsqldb.map.BitMap.and:([B[B)[B
6: invokestatic org.hsqldb.map.BitMap.xor:([B[B)[B
invokestatic org.hsqldb.map.BitMap.hasAnyBitSet:([B)Z
7: ifeq 9
8: iconst_0
goto 10
StackMap locals:
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hsqldb/server/ServerAcl$AclEntry;
0 11 1 candidate [B
MethodParameters:
Name Flags
candidate
public void validateMask();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.value:[B
aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.mask:[B
invokestatic org.hsqldb.map.BitMap.not:([B)[B
invokestatic org.hsqldb.map.BitMap.and:([B[B)[B
invokestatic org.hsqldb.map.BitMap.hasAnyBitSet:([B)Z
ifeq 7
1: new org.hsqldb.server.ServerAcl$AclFormatException
dup
2: new java.lang.StringBuilder
dup
ldc "The base address '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.value:[B
invokestatic org.hsqldb.server.ServerAcl.dottedNotation:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "' is too specific for block-size-spec /"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: aload 0
getfield org.hsqldb.server.ServerAcl$AclEntry.bitBlockSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial org.hsqldb.server.ServerAcl$AclFormatException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/hsqldb/server/ServerAcl$AclEntry;
Exceptions:
throws org.hsqldb.server.ServerAcl$AclFormatException
}
SourceFile: "ServerAcl.java"
NestHost: org.hsqldb.server.ServerAcl
InnerClasses:
private final AclEntry = org.hsqldb.server.ServerAcl$AclEntry of org.hsqldb.server.ServerAcl
public final AclFormatException = org.hsqldb.server.ServerAcl$AclFormatException of org.hsqldb.server.ServerAcl