abstract class com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode extends com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultPropertyNode
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode
super_class: com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultPropertyNode
{
void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 // com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode this
start local 1 // com.oracle.truffle.js.runtime.JSContext context
start local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
0: .line 318
aload 0 /* this */
aload 1 /* context */
aload 2 /* builtin */
invokespecial com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultPropertyNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
1: .line 319
return
end local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
end local 1 // com.oracle.truffle.js.runtime.JSContext context
end local 0 // com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/builtins/RegExpBuiltins$JSRegExpStaticResultLastParenNode;
0 2 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 2 2 builtin Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
MethodParameters:
Name Flags
context
builtin
java.lang.String lastParen(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=5, args_size=2
start local 0 // com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 323
aload 0 /* this */
invokevirtual com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 1 /* frame */
invokestatic com.oracle.truffle.js.runtime.JSFrameUtil.getThisObj:(Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Object;
invokestatic com.oracle.truffle.js.builtins.RegExpBuiltins.checkStaticRegexResultPropertyGet:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;)V
1: .line 324
aload 0 /* this */
getfield com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode.getResultNode:Lcom/oracle/truffle/js/builtins/RegExpBuiltins$GetStaticRegExpResultNode;
invokevirtual com.oracle.truffle.js.builtins.RegExpBuiltins$GetStaticRegExpResultNode.execute:()Ljava/lang/Object;
astore 2 /* result */
start local 2 // java.lang.Object result
2: .line 325
aload 0 /* this */
getfield com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode.resultAccessor:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
aload 2 /* result */
invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.isMatch:(Ljava/lang/Object;)Z
ifeq 8
3: .line 326
aload 0 /* this */
getfield com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode.compiledRegexAccessor:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexCompiledRegexAccessor;
aload 0 /* this */
invokevirtual com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getStaticRegexResultCompiledRegex:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexCompiledRegexAccessor.groupCount:(Ljava/lang/Object;)I
iconst_1
isub
istore 3 /* groupNumber */
start local 3 // int groupNumber
4: .line 327
iload 3 /* groupNumber */
ifle 8
5: .line 328
aload 0 /* this */
getfield com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode.resultAccessor:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
aload 2 /* result */
iload 3 /* groupNumber */
invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.captureGroupStart:(Ljava/lang/Object;I)I
istore 4 /* start */
start local 4 // int start
6: .line 329
iload 4 /* start */
iflt 8
7: .line 330
aload 0 /* this */
invokevirtual com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode.getInput:()Ljava/lang/String;
iload 4 /* start */
aload 0 /* this */
getfield com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode.resultAccessor:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
aload 2 /* result */
iload 3 /* groupNumber */
invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.captureGroupEnd:(Ljava/lang/Object;I)I
invokestatic com.oracle.truffle.js.runtime.Boundaries.substring:(Ljava/lang/String;II)Ljava/lang/String;
areturn
end local 4 // int start
end local 3 // int groupNumber
8: .line 334
StackMap locals: java.lang.Object
StackMap stack:
ldc ""
areturn
end local 2 // java.lang.Object result
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/builtins/RegExpBuiltins$JSRegExpStaticResultLastParenNode;
0 9 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
2 9 2 result Ljava/lang/Object;
4 8 3 groupNumber I
6 8 4 start I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
frame
}
SourceFile: "RegExpBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.RegExpBuiltins
InnerClasses:
abstract GetStaticRegExpResultNode = com.oracle.truffle.js.builtins.RegExpBuiltins$GetStaticRegExpResultNode of com.oracle.truffle.js.builtins.RegExpBuiltins
abstract JSRegExpStaticResultLastParenNode = com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultLastParenNode of com.oracle.truffle.js.builtins.RegExpBuiltins
abstract JSRegExpStaticResultPropertyNode = com.oracle.truffle.js.builtins.RegExpBuiltins$JSRegExpStaticResultPropertyNode of com.oracle.truffle.js.builtins.RegExpBuiltins
public final TRegexCompiledRegexAccessor = com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexCompiledRegexAccessor of com.oracle.truffle.js.runtime.util.TRegexUtil
public final TRegexResultAccessor = com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor of com.oracle.truffle.js.runtime.util.TRegexUtil