public final class com.oracle.truffle.regex.RegexObject extends com.oracle.truffle.regex.AbstractConstantKeysObject
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.regex.RegexObject
  super_class: com.oracle.truffle.regex.AbstractConstantKeysObject
{
  static final java.lang.String PROP_EXEC;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "exec"

  static final java.lang.String PROP_EXEC_BYTES;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "execBytes"

  private static final java.lang.String PROP_PATTERN;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "pattern"

  private static final java.lang.String PROP_FLAGS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "flags"

  private static final java.lang.String PROP_GROUP_COUNT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "groupCount"

  private static final java.lang.String PROP_GROUPS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "groups"

  private static final com.oracle.truffle.regex.util.TruffleReadOnlyKeysArray KEYS;
    descriptor: Lcom/oracle/truffle/regex/util/TruffleReadOnlyKeysArray;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final com.oracle.truffle.regex.RegexCompiler compiler;
    descriptor: Lcom/oracle/truffle/regex/RegexCompiler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.regex.RegexSource source;
    descriptor: Lcom/oracle/truffle/regex/RegexSource;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.interop.TruffleObject flags;
    descriptor: Lcom/oracle/truffle/api/interop/TruffleObject;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int numberOfCaptureGroups;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.interop.TruffleObject namedCaptureGroups;
    descriptor: Lcom/oracle/truffle/api/interop/TruffleObject;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.Object compiledRegexObject;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.String N_METHODS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "2"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 119
            new com.oracle.truffle.regex.util.TruffleReadOnlyKeysArray
            dup
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
            ldc "exec"
            aastore
            dup
            iconst_1
            ldc "pattern"
            aastore
            dup
            iconst_2
            ldc "flags"
            aastore
            dup
            iconst_3
            ldc "groupCount"
            aastore
            dup
            iconst_4
            ldc "groups"
            aastore
            invokespecial com.oracle.truffle.regex.util.TruffleReadOnlyKeysArray.<init>:([Ljava/lang/String;)V
            putstatic com.oracle.truffle.regex.RegexObject.KEYS:Lcom/oracle/truffle/regex/util/TruffleReadOnlyKeysArray;
         1: .line 229
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.oracle.truffle.regex.RegexCompiler, com.oracle.truffle.regex.RegexSource, com.oracle.truffle.api.interop.TruffleObject, int, java.util.Map<java.lang.String, java.lang.Integer>);
    descriptor: (Lcom/oracle/truffle/regex/RegexCompiler;Lcom/oracle/truffle/regex/RegexSource;Lcom/oracle/truffle/api/interop/TruffleObject;ILjava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // com.oracle.truffle.regex.RegexObject this
        start local 1 // com.oracle.truffle.regex.RegexCompiler compiler
        start local 2 // com.oracle.truffle.regex.RegexSource source
        start local 3 // com.oracle.truffle.api.interop.TruffleObject flags
        start local 4 // int numberOfCaptureGroups
        start local 5 // java.util.Map namedCaptureGroups
         0: .line 128
            aload 0 /* this */
            invokespecial com.oracle.truffle.regex.AbstractConstantKeysObject.<init>:()V
         1: .line 129
            aload 0 /* this */
            aload 1 /* compiler */
            putfield com.oracle.truffle.regex.RegexObject.compiler:Lcom/oracle/truffle/regex/RegexCompiler;
         2: .line 130
            aload 0 /* this */
            aload 2 /* source */
            putfield com.oracle.truffle.regex.RegexObject.source:Lcom/oracle/truffle/regex/RegexSource;
         3: .line 131
            aload 0 /* this */
            aload 3 /* flags */
            putfield com.oracle.truffle.regex.RegexObject.flags:Lcom/oracle/truffle/api/interop/TruffleObject;
         4: .line 132
            aload 0 /* this */
            iload 4 /* numberOfCaptureGroups */
            putfield com.oracle.truffle.regex.RegexObject.numberOfCaptureGroups:I
         5: .line 133
            aload 0 /* this */
            aload 5 /* namedCaptureGroups */
            ifnull 6
            new com.oracle.truffle.regex.util.TruffleReadOnlyMap
            dup
            aload 5 /* namedCaptureGroups */
            invokespecial com.oracle.truffle.regex.util.TruffleReadOnlyMap.<init>:(Ljava/util/Map;)V
            goto 7
      StackMap locals: com.oracle.truffle.regex.RegexObject com.oracle.truffle.regex.RegexCompiler com.oracle.truffle.regex.RegexSource com.oracle.truffle.api.interop.TruffleObject int java.util.Map
      StackMap stack: com.oracle.truffle.regex.RegexObject
         6: getstatic com.oracle.truffle.regex.util.TruffleNull.INSTANCE:Lcom/oracle/truffle/regex/util/TruffleNull;
      StackMap locals: com.oracle.truffle.regex.RegexObject com.oracle.truffle.regex.RegexCompiler com.oracle.truffle.regex.RegexSource com.oracle.truffle.api.interop.TruffleObject int java.util.Map
      StackMap stack: com.oracle.truffle.regex.RegexObject com.oracle.truffle.regex.AbstractRegexObject
         7: putfield com.oracle.truffle.regex.RegexObject.namedCaptureGroups:Lcom/oracle/truffle/api/interop/TruffleObject;
         8: .line 134
            return
        end local 5 // java.util.Map namedCaptureGroups
        end local 4 // int numberOfCaptureGroups
        end local 3 // com.oracle.truffle.api.interop.TruffleObject flags
        end local 2 // com.oracle.truffle.regex.RegexSource source
        end local 1 // com.oracle.truffle.regex.RegexCompiler compiler
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                   this  Lcom/oracle/truffle/regex/RegexObject;
            0    9     1               compiler  Lcom/oracle/truffle/regex/RegexCompiler;
            0    9     2                 source  Lcom/oracle/truffle/regex/RegexSource;
            0    9     3                  flags  Lcom/oracle/truffle/api/interop/TruffleObject;
            0    9     4  numberOfCaptureGroups  I
            0    9     5     namedCaptureGroups  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
    Signature: (Lcom/oracle/truffle/regex/RegexCompiler;Lcom/oracle/truffle/regex/RegexSource;Lcom/oracle/truffle/api/interop/TruffleObject;ILjava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;)V
    MethodParameters:
                       Name  Flags
      compiler               
      source                 
      flags                  
      numberOfCaptureGroups  
      namedCaptureGroups     

  public com.oracle.truffle.regex.RegexSource getSource();
    descriptor: ()Lcom/oracle/truffle/regex/RegexSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.RegexObject this
         0: .line 137
            aload 0 /* this */
            getfield com.oracle.truffle.regex.RegexObject.source:Lcom/oracle/truffle/regex/RegexSource;
            areturn
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/RegexObject;

  public com.oracle.truffle.api.interop.TruffleObject getFlags();
    descriptor: ()Lcom/oracle/truffle/api/interop/TruffleObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.RegexObject this
         0: .line 141
            aload 0 /* this */
            getfield com.oracle.truffle.regex.RegexObject.flags:Lcom/oracle/truffle/api/interop/TruffleObject;
            areturn
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/RegexObject;

  public int getNumberOfCaptureGroups();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.RegexObject this
         0: .line 145
            aload 0 /* this */
            getfield com.oracle.truffle.regex.RegexObject.numberOfCaptureGroups:I
            ireturn
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/RegexObject;

  public com.oracle.truffle.api.interop.TruffleObject getNamedCaptureGroups();
    descriptor: ()Lcom/oracle/truffle/api/interop/TruffleObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.RegexObject this
         0: .line 149
            aload 0 /* this */
            getfield com.oracle.truffle.regex.RegexObject.namedCaptureGroups:Lcom/oracle/truffle/api/interop/TruffleObject;
            areturn
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/RegexObject;

  public java.lang.Object getCompiledRegexObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.RegexObject this
         0: .line 153
            aload 0 /* this */
            getfield com.oracle.truffle.regex.RegexObject.compiledRegexObject:Ljava/lang/Object;
            ifnonnull 2
         1: .line 154
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.regex.RegexObject.source:Lcom/oracle/truffle/regex/RegexSource;
            invokevirtual com.oracle.truffle.regex.RegexObject.compileRegex:(Lcom/oracle/truffle/regex/RegexSource;)Ljava/lang/Object;
            putfield com.oracle.truffle.regex.RegexObject.compiledRegexObject:Ljava/lang/Object;
         2: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.regex.RegexObject.compiledRegexObject:Ljava/lang/Object;
            areturn
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/regex/RegexObject;

  private java.lang.Object compileRegex(com.oracle.truffle.regex.RegexSource);
    descriptor: (Lcom/oracle/truffle/regex/RegexSource;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.regex.RegexObject this
        start local 1 // com.oracle.truffle.regex.RegexSource src
         0: .line 161
            aload 0 /* this */
            getfield com.oracle.truffle.regex.RegexObject.compiler:Lcom/oracle/truffle/regex/RegexCompiler;
            aload 1 /* src */
            invokeinterface com.oracle.truffle.regex.RegexCompiler.compile:(Lcom/oracle/truffle/regex/RegexSource;)Ljava/lang/Object;
            areturn
        end local 1 // com.oracle.truffle.regex.RegexSource src
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/RegexObject;
            0    1     1   src  Lcom/oracle/truffle/regex/RegexSource;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      src   

  public void setCompiledRegexObject(com.oracle.truffle.api.interop.TruffleObject);
    descriptor: (Lcom/oracle/truffle/api/interop/TruffleObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.regex.RegexObject this
        start local 1 // com.oracle.truffle.api.interop.TruffleObject compiledRegexObject
         0: .line 165
            aload 0 /* this */
            aload 1 /* compiledRegexObject */
            putfield com.oracle.truffle.regex.RegexObject.compiledRegexObject:Ljava/lang/Object;
         1: .line 166
            return
        end local 1 // com.oracle.truffle.api.interop.TruffleObject compiledRegexObject
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lcom/oracle/truffle/regex/RegexObject;
            0    2     1  compiledRegexObject  Lcom/oracle/truffle/api/interop/TruffleObject;
    MethodParameters:
                     Name  Flags
      compiledRegexObject  

  public com.oracle.truffle.regex.RegexObject$RegexObjectExecMethod getExecMethod();
    descriptor: ()Lcom/oracle/truffle/regex/RegexObject$RegexObjectExecMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.RegexObject this
         0: .line 170
            new com.oracle.truffle.regex.RegexObject$RegexObjectExecMethod
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.regex.RegexObject$RegexObjectExecMethod.<init>:(Lcom/oracle/truffle/regex/RegexObject;)V
            areturn
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/RegexObject;

  public com.oracle.truffle.regex.RegexObject$RegexObjectExecUTF8Method getExecUTF8Method();
    descriptor: ()Lcom/oracle/truffle/regex/RegexObject$RegexObjectExecUTF8Method;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.RegexObject this
         0: .line 175
            new com.oracle.truffle.regex.RegexObject$RegexObjectExecUTF8Method
            dup
            aload 0 /* this */
            invokespecial com.oracle.truffle.regex.RegexObject$RegexObjectExecUTF8Method.<init>:(Lcom/oracle/truffle/regex/RegexObject;)V
            areturn
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/RegexObject;

  public com.oracle.truffle.regex.util.TruffleReadOnlyKeysArray getKeys();
    descriptor: ()Lcom/oracle/truffle/regex/util/TruffleReadOnlyKeysArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.RegexObject this
         0: .line 180
            getstatic com.oracle.truffle.regex.RegexObject.KEYS:Lcom/oracle/truffle/regex/util/TruffleReadOnlyKeysArray;
            areturn
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/RegexObject;

  public java.lang.Object readMemberImpl(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.regex.RegexObject this
        start local 1 // java.lang.String symbol
         0: .line 185
            aload 1 /* symbol */
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 6
          -1237460524: 1
          -1137915302: 2
           -791090288: 3
              3127441: 4
             97513095: 5
           1256497616: 6
              default: 13
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 2
            ldc "groups"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            goto 13
      StackMap locals:
      StackMap stack:
         2: aload 2
            ldc "execBytes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            goto 13
      StackMap locals:
      StackMap stack:
         3: aload 2
            ldc "pattern"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 13
      StackMap locals:
      StackMap stack:
         4: aload 2
            ldc "exec"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 13
      StackMap locals:
      StackMap stack:
         5: aload 2
            ldc "flags"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 13
      StackMap locals:
      StackMap stack:
         6: aload 2
            ldc "groupCount"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 13
         7: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.RegexObject.getExecMethod:()Lcom/oracle/truffle/regex/RegexObject$RegexObjectExecMethod;
            areturn
         8: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.RegexObject.getExecUTF8Method:()Lcom/oracle/truffle/regex/RegexObject$RegexObjectExecUTF8Method;
            areturn
         9: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.RegexObject.getSource:()Lcom/oracle/truffle/regex/RegexSource;
            invokevirtual com.oracle.truffle.regex.RegexSource.getPattern:()Ljava/lang/String;
            areturn
        10: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.RegexObject.getFlags:()Lcom/oracle/truffle/api/interop/TruffleObject;
            areturn
        11: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.RegexObject.getNumberOfCaptureGroups:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        12: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.RegexObject.getNamedCaptureGroups:()Lcom/oracle/truffle/api/interop/TruffleObject;
            areturn
        13: .line 199
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
        14: .line 200
            aload 1 /* symbol */
            invokestatic com.oracle.truffle.api.interop.UnknownIdentifierException.create:(Ljava/lang/String;)Lcom/oracle/truffle/api/interop/UnknownIdentifierException;
            athrow
        end local 1 // java.lang.String symbol
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lcom/oracle/truffle/regex/RegexObject;
            0   15     1  symbol  Ljava/lang/String;
    Exceptions:
      throws com.oracle.truffle.api.interop.UnknownIdentifierException
    MethodParameters:
        Name  Flags
      symbol  

  boolean isMemberInvocable(java.lang.String, com.oracle.truffle.regex.RegexObject$IsInvocableCacheNode);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/regex/RegexObject$IsInvocableCacheNode;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.regex.RegexObject this
        start local 1 // java.lang.String member
        start local 2 // com.oracle.truffle.regex.RegexObject$IsInvocableCacheNode cache
         0: .line 208
            aload 2 /* cache */
            aload 1 /* member */
            invokevirtual com.oracle.truffle.regex.RegexObject$IsInvocableCacheNode.execute:(Ljava/lang/String;)Z
            ireturn
        end local 2 // com.oracle.truffle.regex.RegexObject$IsInvocableCacheNode cache
        end local 1 // java.lang.String member
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/regex/RegexObject;
            0    1     1  member  Ljava/lang/String;
            0    1     2   cache  Lcom/oracle/truffle/regex/RegexObject$IsInvocableCacheNode;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.Cached()
    MethodParameters:
        Name  Flags
      member  
      cache   

  java.lang.Object invokeMember(java.lang.String, java.lang.Object[], com.oracle.truffle.regex.runtime.nodes.ToLongNode, com.oracle.truffle.regex.RegexObject$GetCompiledRegexNode, com.oracle.truffle.regex.RegexObject$InvokeCacheNode);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;Lcom/oracle/truffle/regex/runtime/nodes/ToLongNode;Lcom/oracle/truffle/regex/RegexObject$GetCompiledRegexNode;Lcom/oracle/truffle/regex/RegexObject$InvokeCacheNode;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // com.oracle.truffle.regex.RegexObject this
        start local 1 // java.lang.String member
        start local 2 // java.lang.Object[] args
        start local 3 // com.oracle.truffle.regex.runtime.nodes.ToLongNode toLongNode
        start local 4 // com.oracle.truffle.regex.RegexObject$GetCompiledRegexNode getCompiledRegexNode
        start local 5 // com.oracle.truffle.regex.RegexObject$InvokeCacheNode invokeCache
         0: .line 217
            aload 2 /* args */
            arraylength
            iconst_2
            if_icmpeq 3
         1: .line 218
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 219
            iconst_2
            aload 2 /* args */
            arraylength
            invokestatic com.oracle.truffle.api.interop.ArityException.create:(II)Lcom/oracle/truffle/api/interop/ArityException;
            athrow
         3: .line 221
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            iconst_0
            aaload
            astore 6 /* input */
        start local 6 // java.lang.Object input
         4: .line 222
            aload 3 /* toLongNode */
            aload 2 /* args */
            iconst_1
            aaload
            invokevirtual com.oracle.truffle.regex.runtime.nodes.ToLongNode.execute:(Ljava/lang/Object;)J
            lstore 7 /* fromIndex */
        start local 7 // long fromIndex
         5: .line 223
            lload 7 /* fromIndex */
            ldc 2147483647
            lcmp
            ifle 7
         6: .line 224
            invokestatic com.oracle.truffle.regex.result.NoMatchResult.getInstance:()Lcom/oracle/truffle/regex/result/NoMatchResult;
            areturn
         7: .line 226
      StackMap locals: java.lang.Object long
      StackMap stack:
            aload 5 /* invokeCache */
            aload 1 /* member */
            aload 4 /* getCompiledRegexNode */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.regex.RegexObject$GetCompiledRegexNode.execute:(Lcom/oracle/truffle/regex/RegexObject;)Ljava/lang/Object;
            aload 6 /* input */
            lload 7 /* fromIndex */
            l2i
            invokevirtual com.oracle.truffle.regex.RegexObject$InvokeCacheNode.execute:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;I)Ljava/lang/Object;
            areturn
        end local 7 // long fromIndex
        end local 6 // java.lang.Object input
        end local 5 // com.oracle.truffle.regex.RegexObject$InvokeCacheNode invokeCache
        end local 4 // com.oracle.truffle.regex.RegexObject$GetCompiledRegexNode getCompiledRegexNode
        end local 3 // com.oracle.truffle.regex.runtime.nodes.ToLongNode toLongNode
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String member
        end local 0 // com.oracle.truffle.regex.RegexObject this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Lcom/oracle/truffle/regex/RegexObject;
            0    8     1                member  Ljava/lang/String;
            0    8     2                  args  [Ljava/lang/Object;
            0    8     3            toLongNode  Lcom/oracle/truffle/regex/runtime/nodes/ToLongNode;
            0    8     4  getCompiledRegexNode  Lcom/oracle/truffle/regex/RegexObject$GetCompiledRegexNode;
            0    8     5           invokeCache  Lcom/oracle/truffle/regex/RegexObject$InvokeCacheNode;
            4    8     6                 input  Ljava/lang/Object;
            5    8     7             fromIndex  J
    Exceptions:
      throws com.oracle.truffle.api.interop.UnknownIdentifierException, com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnsupportedTypeException, com.oracle.truffle.api.interop.UnsupportedMessageException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
        com.oracle.truffle.api.dsl.Cached()
      3:
        com.oracle.truffle.api.dsl.Cached()
      4:
        com.oracle.truffle.api.dsl.Cached()
    MethodParameters:
                      Name  Flags
      member                
      args                  
      toLongNode            
      getCompiledRegexNode  
      invokeCache           
}
SourceFile: "RegexObject.java"
NestMembers:
  com.oracle.truffle.regex.RegexObject$ExecCompiledRegexNode  com.oracle.truffle.regex.RegexObject$GetCompiledRegexNode  com.oracle.truffle.regex.RegexObject$InvokeCacheNode  com.oracle.truffle.regex.RegexObject$IsInvocableCacheNode  com.oracle.truffle.regex.RegexObject$RegexObjectExecMethod  com.oracle.truffle.regex.RegexObject$RegexObjectExecUTF8Method
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  abstract ExecCompiledRegexNode = com.oracle.truffle.regex.RegexObject$ExecCompiledRegexNode of com.oracle.truffle.regex.RegexObject
  abstract GetCompiledRegexNode = com.oracle.truffle.regex.RegexObject$GetCompiledRegexNode of com.oracle.truffle.regex.RegexObject
  abstract InvokeCacheNode = com.oracle.truffle.regex.RegexObject$InvokeCacheNode of com.oracle.truffle.regex.RegexObject
  abstract IsInvocableCacheNode = com.oracle.truffle.regex.RegexObject$IsInvocableCacheNode of com.oracle.truffle.regex.RegexObject
  public final RegexObjectExecMethod = com.oracle.truffle.regex.RegexObject$RegexObjectExecMethod of com.oracle.truffle.regex.RegexObject
  public final RegexObjectExecUTF8Method = com.oracle.truffle.regex.RegexObject$RegexObjectExecUTF8Method of com.oracle.truffle.regex.RegexObject
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/interop/InteropLibrary;)