public final class com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor extends com.oracle.truffle.api.nodes.Node
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor
  super_class: com.oracle.truffle.api.nodes.Node
{
  private static final com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor UNCACHED;
    descriptor: Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode readIsMatchNode;
    descriptor: Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadBooleanMemberNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.runtime.util.TRegexUtil$InvokeGetGroupBoundariesMethodNode getStartNode;
    descriptor: Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.runtime.util.TRegexUtil$InvokeGetGroupBoundariesMethodNode getEndNode;
    descriptor: Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 681
            new com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor
            dup
            iconst_0
            invokespecial com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.<init>:(Z)V
            putstatic com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.UNCACHED:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
         0: .line 58
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import com.oracle.truffle.js.runtime.util.TRegexUtilFactory cannot be resolved\n\tThe import com.oracle.truffle.js.runtime.util.TRegexUtilFactory cannot be resolved\n\tThe import com.oracle.truffle.js.runtime.util.TRegexUtilFactory cannot be resolved\n\tThe import com.oracle.truffle.js.runtime.util.TRegexUtilFactory cannot be resolved\n\tThe import com.oracle.truffle.js.runtime.util.TRegexUtilFactory cannot be resolved\n\tThe import com.oracle.truffle.js.runtime.util.TRegexUtilFactory cannot be resolved\n\tThe import com.oracle.truffle.js.runtime.util.TRegexUtilFactory cannot be resolved\n\tThe import com.oracle.truffle.js.runtime.util.TRegexUtilFactory cannot be resolved\n\tThe import com.oracle.truffle.js.runtime.util.TRegexUtilFactory cannot be resolved\n\tThe import com.oracle.truffle.js.runtime.util.TRegexUtilFactory cannot be resolved\n\tInteropIsNullNodeGen cannot be resolved\n\tInteropIsNullNodeGen cannot be resolved\n\tInteropIsMemberReadableNodeGen cannot be resolved\n\tInteropReadMemberNodeGen cannot be resolved\n\tInteropReadMemberNodeGen cannot be resolved\n\tInteropReadIntMemberNodeGen cannot be resolved\n\tInteropReadIntMemberNodeGen cannot be resolved\n\tInteropReadBooleanMemberNodeGen cannot be resolved\n\tInteropReadBooleanMemberNodeGen cannot be resolved\n\tInteropReadStringMemberNodeGen cannot be resolved\n\tInteropReadStringMemberNodeGen cannot be resolved\n\tInvokeExecMethodNodeGen cannot be resolved\n\tInvokeExecMethodNodeGen cannot be resolved\n\tInvokeGetGroupBoundariesMethodNodeGen cannot be resolved\n\tInvokeGetGroupBoundariesMethodNodeGen cannot be resolved\n\tCompileRegexNodeGen cannot be resolved\n\tCompileRegexNodeGen cannot be resolved\n\tValidateRegexNodeGen cannot be resolved\n\tValidateRegexNodeGen cannot be resolved\n\tInteropReadBooleanMemberNodeGen cannot be resolved\n\tInvokeGetGroupBoundariesMethodNodeGen cannot be resolved\n\tInvokeGetGroupBoundariesMethodNodeGen cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
    MethodParameters:
        Name  Flags
      cached  

  public static com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor create();
    descriptor: ()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 696
            new com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor
            dup
            iconst_1
            invokespecial com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.<init>:(Z)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor getUncached();
    descriptor: ()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 700
            getstatic com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.UNCACHED:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isMatch(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
        start local 1 // java.lang.Object regexResultObject
         0: .line 704
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.getReadIsMatchNode:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadBooleanMemberNode;
            aload 1 /* regexResultObject */
            ldc "isMatch"
            invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode.execute:(Ljava/lang/Object;Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.Object regexResultObject
        end local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
            0    1     1  regexResultObject  Ljava/lang/Object;
    MethodParameters:
                   Name  Flags
      regexResultObject  

  public int captureGroupStart(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
        start local 1 // java.lang.Object regexResultObject
        start local 2 // int i
         0: .line 708
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.getGetStartNode:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
            aload 1 /* regexResultObject */
            ldc "getStart"
            iload 2 /* i */
            invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$InvokeGetGroupBoundariesMethodNode.execute:(Ljava/lang/Object;Ljava/lang/String;I)I
            ireturn
        end local 2 // int i
        end local 1 // java.lang.Object regexResultObject
        end local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
            0    1     1  regexResultObject  Ljava/lang/Object;
            0    1     2                  i  I
    MethodParameters:
                   Name  Flags
      regexResultObject  
      i                  

  public int captureGroupEnd(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
        start local 1 // java.lang.Object regexResultObject
        start local 2 // int i
         0: .line 712
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.getGetEndNode:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
            aload 1 /* regexResultObject */
            ldc "getEnd"
            iload 2 /* i */
            invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$InvokeGetGroupBoundariesMethodNode.execute:(Ljava/lang/Object;Ljava/lang/String;I)I
            ireturn
        end local 2 // int i
        end local 1 // java.lang.Object regexResultObject
        end local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
            0    1     1  regexResultObject  Ljava/lang/Object;
            0    1     2                  i  I
    MethodParameters:
                   Name  Flags
      regexResultObject  
      i                  

  public int captureGroupLength(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
        start local 1 // java.lang.Object regexResultObject
        start local 2 // int i
         0: .line 716
            aload 0 /* this */
            aload 1 /* regexResultObject */
            iload 2 /* i */
            invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.captureGroupEnd:(Ljava/lang/Object;I)I
            aload 0 /* this */
            aload 1 /* regexResultObject */
            iload 2 /* i */
            invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.captureGroupStart:(Ljava/lang/Object;I)I
            isub
            ireturn
        end local 2 // int i
        end local 1 // java.lang.Object regexResultObject
        end local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
            0    1     1  regexResultObject  Ljava/lang/Object;
            0    1     2                  i  I
    MethodParameters:
                   Name  Flags
      regexResultObject  
      i                  

  private com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode getReadIsMatchNode();
    descriptor: ()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadBooleanMemberNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
         0: .line 720
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.readIsMatchNode:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadBooleanMemberNode;
            ifnonnull 3
         1: .line 721
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 722
            aload 0 /* this */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode.create:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadBooleanMemberNode;
            invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode
            putfield com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.readIsMatchNode:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadBooleanMemberNode;
         3: .line 724
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.readIsMatchNode:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadBooleanMemberNode;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;

  private com.oracle.truffle.js.runtime.util.TRegexUtil$InvokeGetGroupBoundariesMethodNode getGetStartNode();
    descriptor: ()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
         0: .line 728
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.getStartNode:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
            ifnonnull 3
         1: .line 729
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 730
            aload 0 /* this */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.util.TRegexUtil$InvokeGetGroupBoundariesMethodNode.create:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
            invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.runtime.util.TRegexUtil$InvokeGetGroupBoundariesMethodNode
            putfield com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.getStartNode:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
         3: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.getStartNode:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;

  private com.oracle.truffle.js.runtime.util.TRegexUtil$InvokeGetGroupBoundariesMethodNode getGetEndNode();
    descriptor: ()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
         0: .line 736
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.getEndNode:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
            ifnonnull 3
         1: .line 737
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 738
            aload 0 /* this */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.util.TRegexUtil$InvokeGetGroupBoundariesMethodNode.create:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
            invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.runtime.util.TRegexUtil$InvokeGetGroupBoundariesMethodNode
            putfield com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.getEndNode:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
         3: .line 740
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor.getEndNode:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InvokeGetGroupBoundariesMethodNode;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.util.TRegexUtil$TRegexResultAccessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/runtime/util/TRegexUtil$TRegexResultAccessor;
}
SourceFile: "TRegexUtil.java"
NestHost: com.oracle.truffle.js.runtime.util.TRegexUtil
InnerClasses:
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
  public abstract InteropReadBooleanMemberNode = com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode of com.oracle.truffle.js.runtime.util.TRegexUtil
  public abstract InvokeGetGroupBoundariesMethodNode = com.oracle.truffle.js.runtime.util.TRegexUtil$InvokeGetGroupBoundariesMethodNode 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