public final class com.oracle.truffle.regex.result.PreCalculatedResultFactory implements com.oracle.truffle.regex.tregex.util.json.JsonConvertible
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.regex.result.PreCalculatedResultFactory
super_class: java.lang.Object
{
private final int[] indices;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)
private int length;
descriptor: I
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
iconst_2
imul
newarray 10
putfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
2: aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
iconst_m1
invokestatic java.util.Arrays.fill:([II)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 4 1 nGroups I
MethodParameters:
Name Flags
nGroups
private void <init>(int[], int);
descriptor: ([II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
2: aload 0
iload 2
putfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.length:I
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 4 1 indices [I
0 4 2 length I
MethodParameters:
Name Flags
indices
length
public com.oracle.truffle.regex.result.PreCalculatedResultFactory copy();
descriptor: ()Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.regex.result.PreCalculatedResultFactory
dup
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
arraylength
invokestatic java.util.Arrays.copyOf:([II)[I
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.length:I
invokespecial com.oracle.truffle.regex.result.PreCalculatedResultFactory.<init>:([II)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
public int getStart(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
iload 1
iconst_2
imul
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 1 1 groupNr I
MethodParameters:
Name Flags
groupNr
public void setStart(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
iload 1
iconst_2
imul
iload 2
iastore
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 2 1 groupNr I
0 2 2 value I
MethodParameters:
Name Flags
groupNr
value
public int getEnd(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
iload 1
iconst_2
imul
iconst_1
iadd
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 1 1 groupNr I
MethodParameters:
Name Flags
groupNr
public void setEnd(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
iload 1
iconst_2
imul
iconst_1
iadd
iload 2
iastore
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 2 1 groupNr I
0 2 2 value I
MethodParameters:
Name Flags
groupNr
value
public int getLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.length:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
public void setLength(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.length:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 2 1 length I
MethodParameters:
Name Flags
length
public void updateIndices(com.oracle.truffle.regex.util.CompilationFinalBitSet, int);
descriptor: (Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.regex.util.CompilationFinalBitSet.iterator:()Ljava/util/Iterator;
astore 4
goto 3
StackMap locals: com.oracle.truffle.regex.result.PreCalculatedResultFactory com.oracle.truffle.regex.util.CompilationFinalBitSet int top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 3
start local 3 2: aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
iload 3
iload 2
iastore
end local 3 3: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 5 1 updateIndices Lcom/oracle/truffle/regex/util/CompilationFinalBitSet;
0 5 2 index I
2 3 3 i I
MethodParameters:
Name Flags
updateIndices
index
public com.oracle.truffle.regex.result.RegexResult createFromStart(int);
descriptor: (I)Lcom/oracle/truffle/regex/result/RegexResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.oracle.truffle.regex.result.PreCalculatedResultFactory.createFromOffset:(I)Lcom/oracle/truffle/regex/result/RegexResult;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 1 1 start I
MethodParameters:
Name Flags
start
public com.oracle.truffle.regex.result.RegexResult createFromEnd(int);
descriptor: (I)Lcom/oracle/truffle/regex/result/RegexResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.length:I
isub
invokevirtual com.oracle.truffle.regex.result.PreCalculatedResultFactory.createFromOffset:(I)Lcom/oracle/truffle/regex/result/RegexResult;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 1 1 end I
MethodParameters:
Name Flags
end
public int getNumberOfGroups();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
arraylength
iconst_2
idiv
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
private com.oracle.truffle.regex.result.RegexResult createFromOffset(int);
descriptor: (I)Lcom/oracle/truffle/regex/result/RegexResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
arraylength
iconst_2
if_icmpne 2
1: new com.oracle.truffle.regex.result.SingleResult
dup
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
iconst_0
iaload
iload 1
iadd
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
iconst_1
iaload
iload 1
iadd
invokespecial com.oracle.truffle.regex.result.SingleResult.<init>:(II)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
arraylength
newarray 10
astore 2
start local 2 3: aload 0
aload 2
iload 1
invokevirtual com.oracle.truffle.regex.result.PreCalculatedResultFactory.applyOffset:([II)V
4: new com.oracle.truffle.regex.result.SingleIndexArrayResult
dup
aload 2
invokespecial com.oracle.truffle.regex.result.SingleIndexArrayResult.<init>:([I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 5 1 offset I
3 5 2 realIndices [I
MethodParameters:
Name Flags
offset
public void applyRelativeToEnd(int[], int);
descriptor: ([II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.length:I
isub
invokevirtual com.oracle.truffle.regex.result.PreCalculatedResultFactory.applyOffset:([II)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 2 1 target [I
0 2 2 end I
MethodParameters:
Name Flags
target
end
private void applyOffset(int[], int);
descriptor: ([II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
iload 3
iaload
iconst_m1
if_icmpne 5
3: aload 1
iload 3
iconst_m1
iastore
4: goto 6
5: StackMap locals:
StackMap stack:
aload 1
iload 3
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
iload 3
iaload
iload 2
iadd
iastore
6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
arraylength
if_icmplt 2
end local 3 8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 9 1 target [I
0 9 2 offset I
1 8 3 i I
MethodParameters:
Name Flags
target
offset
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.length:I
bipush 31
imul
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
invokestatic java.util.Arrays.hashCode:([I)I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.regex.result.PreCalculatedResultFactory
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.regex.result.PreCalculatedResultFactory
astore 2
start local 2 3: aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.length:I
aload 2
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.length:I
if_icmpne 4
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
aload 2
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
invokestatic java.util.Arrays.equals:([I[I)Z
ifeq 4
iconst_1
ireturn
StackMap locals: com.oracle.truffle.regex.result.PreCalculatedResultFactory
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
0 5 1 obj Ljava/lang/Object;
3 5 2 o Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
MethodParameters:
Name Flags
obj
public com.oracle.truffle.regex.tregex.util.json.JsonValue toJson();
descriptor: ()Lcom/oracle/truffle/regex/tregex/util/json/JsonValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: iconst_2
anewarray com.oracle.truffle.regex.tregex.util.json.JsonObject$JsonObjectProperty
dup
iconst_0
ldc "indices"
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.indices:[I
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.array:([I)Lcom/oracle/truffle/regex/tregex/util/json/JsonValue;
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;Lcom/oracle/truffle/regex/tregex/util/json/JsonConvertible;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
dup
iconst_1
1: ldc "length"
aload 0
getfield com.oracle.truffle.regex.result.PreCalculatedResultFactory.length:I
invokestatic com.oracle.truffle.regex.tregex.util.json.Json.prop:(Ljava/lang/String;I)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;
aastore
2: invokestatic com.oracle.truffle.regex.tregex.util.json.Json.obj:([Lcom/oracle/truffle/regex/tregex/util/json/JsonObject$JsonObjectProperty;)Lcom/oracle/truffle/regex/tregex/util/json/JsonObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/regex/result/PreCalculatedResultFactory;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
}
SourceFile: "PreCalculatedResultFactory.java"
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public JsonObjectProperty = com.oracle.truffle.regex.tregex.util.json.JsonObject$JsonObjectProperty of com.oracle.truffle.regex.tregex.util.json.JsonObject