public class org.eclipse.jetty.util.SearchPattern
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jetty.util.SearchPattern
super_class: java.lang.Object
{
static final int alphabetSize;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 256
private int[] table;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private byte[] pattern;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
public static org.eclipse.jetty.util.SearchPattern compile(byte[]);
descriptor: ([B)Lorg/eclipse/jetty/util/SearchPattern;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.eclipse.jetty.util.SearchPattern
dup
aload 0
aload 0
arraylength
invokestatic java.util.Arrays.copyOf:([BI)[B
invokespecial org.eclipse.jetty.util.SearchPattern.<init>:([B)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pattern [B
MethodParameters:
Name Flags
pattern
public static org.eclipse.jetty.util.SearchPattern compile(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/eclipse/jetty/util/SearchPattern;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.eclipse.jetty.util.SearchPattern
dup
aload 0
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokespecial org.eclipse.jetty.util.SearchPattern.<init>:([B)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pattern Ljava/lang/String;
MethodParameters:
Name Flags
pattern
private void <init>(byte[]);
descriptor: ([B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.eclipse.jetty.util.SearchPattern.pattern:[B
2: aload 1
arraylength
ifne 4
3: new java.lang.IllegalArgumentException
dup
ldc "Empty Pattern"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.eclipse.jetty.util.SearchPattern byte[]
StackMap stack:
aload 0
sipush 256
newarray 10
putfield org.eclipse.jetty.util.SearchPattern.table:[I
5: iconst_0
istore 2
start local 2 6: goto 9
7: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.SearchPattern.table:[I
iload 2
aload 1
arraylength
iastore
8: iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 0
getfield org.eclipse.jetty.util.SearchPattern.table:[I
arraylength
if_icmplt 7
end local 2 10: iconst_0
istore 2
start local 2 11: goto 14
12: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.SearchPattern.table:[I
sipush 255
aload 1
iload 2
baload
iand
aload 1
arraylength
iconst_1
isub
iload 2
isub
iastore
13: iinc 2 1
StackMap locals:
StackMap stack:
14: iload 2
aload 1
arraylength
iconst_1
isub
if_icmplt 12
end local 2 15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/eclipse/jetty/util/SearchPattern;
0 16 1 pattern [B
6 10 2 i I
11 15 2 i I
MethodParameters:
Name Flags
pattern
public int match(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokevirtual org.eclipse.jetty.util.SearchPattern.validate:([BII)V
1: iload 2
istore 4
start local 4 2: goto 10
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.SearchPattern.pattern:[B
arraylength
iconst_1
isub
istore 5
start local 5 4: goto 8
5: StackMap locals: int
StackMap stack:
iload 5
ifne 7
6: iload 4
ireturn
7: StackMap locals:
StackMap stack:
iinc 5 -1
StackMap locals:
StackMap stack:
8: aload 1
iload 4
iload 5
iadd
baload
aload 0
getfield org.eclipse.jetty.util.SearchPattern.pattern:[B
iload 5
baload
if_icmpeq 5
end local 5 9: iload 4
aload 0
getfield org.eclipse.jetty.util.SearchPattern.table:[I
sipush 255
aload 1
iload 4
aload 0
getfield org.eclipse.jetty.util.SearchPattern.pattern:[B
arraylength
iadd
iconst_1
isub
baload
iand
iaload
iadd
istore 4
10: StackMap locals:
StackMap stack:
iload 4
iload 2
iload 3
iadd
aload 0
getfield org.eclipse.jetty.util.SearchPattern.pattern:[B
arraylength
isub
if_icmple 3
11: iconst_m1
ireturn
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 Lorg/eclipse/jetty/util/SearchPattern;
0 12 1 data [B
0 12 2 offset I
0 12 3 length I
2 12 4 skip I
4 9 5 i I
MethodParameters:
Name Flags
data
offset
length
public int endsWith(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokevirtual org.eclipse.jetty.util.SearchPattern.validate:([BII)V
1: aload 0
getfield org.eclipse.jetty.util.SearchPattern.pattern:[B
arraylength
iload 3
if_icmpgt 2
iload 2
iload 3
iadd
aload 0
getfield org.eclipse.jetty.util.SearchPattern.pattern:[B
arraylength
isub
goto 3
StackMap locals:
StackMap stack:
2: iload 2
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: goto 14
5: StackMap locals: int
StackMap stack:
iload 2
iload 3
iadd
iconst_1
isub
iload 4
isub
istore 5
start local 5 6: goto 10
7: StackMap locals: int
StackMap stack:
iload 5
ifne 9
8: iload 2
iload 3
iadd
iload 4
isub
ireturn
9: StackMap locals:
StackMap stack:
iinc 5 -1
StackMap locals:
StackMap stack:
10: aload 1
iload 4
iload 5
iadd
baload
aload 0
getfield org.eclipse.jetty.util.SearchPattern.pattern:[B
iload 5
baload
if_icmpeq 7
end local 5 11: iload 4
aload 0
getfield org.eclipse.jetty.util.SearchPattern.pattern:[B
arraylength
iadd
iconst_1
isub
aload 1
arraylength
if_icmpge 13
12: iload 4
aload 0
getfield org.eclipse.jetty.util.SearchPattern.table:[I
sipush 255
aload 1
iload 4
aload 0
getfield org.eclipse.jetty.util.SearchPattern.pattern:[B
arraylength
iadd
iconst_1
isub
baload
iand
iaload
iadd
istore 4
goto 14
13: StackMap locals:
StackMap stack:
iinc 4 1
14: StackMap locals:
StackMap stack:
iload 4
iload 2
iload 3
iadd
if_icmplt 5
15: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/eclipse/jetty/util/SearchPattern;
0 16 1 data [B
0 16 2 offset I
0 16 3 length I
4 16 4 skip I
6 11 5 i I
MethodParameters:
Name Flags
data
offset
length
public int startsWith(byte[], int, int, int);
descriptor: ([BIII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
iload 3
invokevirtual org.eclipse.jetty.util.SearchPattern.validate:([BII)V
1: iconst_0
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 8
4: StackMap locals: int int
StackMap stack:
aload 1
iload 2
iload 6
iadd
baload
aload 0
getfield org.eclipse.jetty.util.SearchPattern.pattern:[B
iload 6
iload 4
iadd
baload
if_icmpne 6
5: iinc 5 1
goto 7
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
aload 0
getfield org.eclipse.jetty.util.SearchPattern.pattern:[B
arraylength
iload 4
isub
if_icmpge 9
iload 6
iload 3
if_icmplt 4
end local 6 9: StackMap locals:
StackMap stack:
iload 4
iload 5
iadd
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 10 0 this Lorg/eclipse/jetty/util/SearchPattern;
0 10 1 data [B
0 10 2 offset I
0 10 3 length I
0 10 4 matched I
2 10 5 matchedCount I
3 9 6 i I
MethodParameters:
Name Flags
data
offset
length
matched
private void validate(byte[], int, int);
descriptor: ([BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifge 2
1: new java.lang.IllegalArgumentException
dup
ldc "offset was negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 3
ifge 4
3: new java.lang.IllegalArgumentException
dup
ldc "length was negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
iload 3
iadd
aload 1
arraylength
if_icmple 6
5: new java.lang.IllegalArgumentException
dup
ldc "(offset+length) out of bounds of data[]"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jetty/util/SearchPattern;
0 7 1 data [B
0 7 2 offset I
0 7 3 length I
MethodParameters:
Name Flags
data
offset
length
public int getLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.SearchPattern.pattern:[B
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/util/SearchPattern;
}
SourceFile: "SearchPattern.java"