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