public abstract class com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode extends com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringOperationWithRegExpArgument
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode
  super_class: com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringOperationWithRegExpArgument
{
  private com.oracle.truffle.js.nodes.CompileRegexNode compileRegexNode;
    descriptor: Lcom/oracle/truffle/js/nodes/CompileRegexNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.intl.CreateRegExpNode createRegExpNode;
    descriptor: Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.IsRegExpNode isRegExpNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/IsRegExpNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.PropertyGetNode getFlagsNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

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

  private final boolean matchAll;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
        start local 3 // boolean matchAll
         0: .line 2112
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* builtin */
            invokespecial com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringOperationWithRegExpArgument.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
         1: .line 2113
            aload 0 /* this */
            iload 3 /* matchAll */
            putfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.matchAll:Z
         2: .line 2114
            aload 0 /* this */
            iload 3 /* matchAll */
            ifeq 3
            invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
            goto 4
      StackMap locals: com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSBuiltin int
      StackMap stack: com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode
         3: aconst_null
      StackMap locals: com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSBuiltin int
      StackMap stack: com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode com.oracle.truffle.api.profiles.BranchProfile
         4: putfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.errorBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
         5: .line 2115
            return
        end local 3 // boolean matchAll
        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.StringPrototypeBuiltins$JSStringMatchNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/oracle/truffle/js/builtins/StringPrototypeBuiltins$JSStringMatchNode;
            0    6     1   context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    6     2   builtin  Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
            0    6     3  matchAll  Z
    MethodParameters:
          Name  Flags
      context   
      builtin   
      matchAll  

  protected java.lang.Object match(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
        start local 1 // java.lang.Object thisObj
        start local 2 // java.lang.Object regex
         0: .line 2119
            aload 0 /* this */
            aload 1 /* thisObj */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.requireObjectCoercible:(Ljava/lang/Object;)V
         1: .line 2120
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.isSpecialProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
            aload 2 /* regex */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 2
            aload 2 /* regex */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 3
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
         2: iconst_0
            goto 4
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
         3: iconst_1
      StackMap locals: com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode java.lang.Object java.lang.Object
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
         4: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 16
         5: .line 2121
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.matchAll:Z
            ifeq 11
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.getIsRegExpNode:()Lcom/oracle/truffle/js/nodes/access/IsRegExpNode;
            aload 2 /* regex */
            invokevirtual com.oracle.truffle.js.nodes.access.IsRegExpNode.executeBoolean:(Ljava/lang/Object;)Z
            ifeq 11
         6: .line 2122
            aload 0 /* this */
            aload 2 /* regex */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.getFlags:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* flags */
        start local 3 // java.lang.Object flags
         7: .line 2123
            aload 0 /* this */
            aload 3 /* flags */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.requireObjectCoercible:(Ljava/lang/Object;)V
         8: .line 2124
            aload 0 /* this */
            aload 3 /* flags */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.toString:(Ljava/lang/Object;)Ljava/lang/String;
            bipush 103
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 11
         9: .line 2125
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.errorBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        10: .line 2126
            ldc "Regular expression passed to matchAll() is missing 'g' flag."
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 3 // java.lang.Object flags
        11: .line 2129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* regex */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.matchSymbol:()Lcom/oracle/truffle/js/runtime/Symbol;
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.getMethod:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* matcher */
        start local 3 // java.lang.Object matcher
        12: .line 2130
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.callSpecialProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
            aload 3 /* matcher */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 13
            iconst_1
            goto 14
      StackMap locals: com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode java.lang.Object java.lang.Object java.lang.Object
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
        13: iconst_0
      StackMap locals: com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode java.lang.Object java.lang.Object java.lang.Object
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
        14: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 16
        15: .line 2131
            aload 0 /* this */
            aload 3 /* matcher */
            aload 2 /* regex */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* thisObj */
            aastore
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.call:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object matcher
        16: .line 2134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* thisObj */
            aload 2 /* regex */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.builtinMatch:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object regex
        end local 1 // java.lang.Object thisObj
        end local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lcom/oracle/truffle/js/builtins/StringPrototypeBuiltins$JSStringMatchNode;
            0   17     1  thisObj  Ljava/lang/Object;
            0   17     2    regex  Ljava/lang/Object;
            7   11     3    flags  Ljava/lang/Object;
           12   16     3  matcher  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    MethodParameters:
         Name  Flags
      thisObj  
      regex    

  private com.oracle.truffle.js.runtime.Symbol matchSymbol();
    descriptor: ()Lcom/oracle/truffle/js/runtime/Symbol;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
         0: .line 2138
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.matchAll:Z
            ifeq 1
            getstatic com.oracle.truffle.js.runtime.Symbol.SYMBOL_MATCH_ALL:Lcom/oracle/truffle/js/runtime/Symbol;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic com.oracle.truffle.js.runtime.Symbol.SYMBOL_MATCH:Lcom/oracle/truffle/js/runtime/Symbol;
      StackMap locals:
      StackMap stack: com.oracle.truffle.js.runtime.Symbol
         2: areturn
        end local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/js/builtins/StringPrototypeBuiltins$JSStringMatchNode;

  private java.lang.Object builtinMatch(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
        start local 1 // java.lang.Object thisObj
        start local 2 // java.lang.Object regex
         0: .line 2142
            aload 0 /* this */
            aload 1 /* thisObj */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.toString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* thisStr */
        start local 3 // java.lang.String thisStr
         1: .line 2143
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.getCompileRegexNode:()Lcom/oracle/truffle/js/nodes/CompileRegexNode;
            aload 2 /* regex */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 2
            ldc ""
            goto 3
      StackMap locals: com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode java.lang.Object java.lang.Object java.lang.String
      StackMap stack: com.oracle.truffle.js.nodes.CompileRegexNode
         2: aload 0 /* this */
            aload 2 /* regex */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.toString:(Ljava/lang/Object;)Ljava/lang/String;
      StackMap locals: com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode java.lang.Object java.lang.Object java.lang.String
      StackMap stack: com.oracle.truffle.js.nodes.CompileRegexNode java.lang.String
         3: aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.matchAll:Z
            ifeq 4
            ldc "g"
            goto 5
      StackMap locals: com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode java.lang.Object java.lang.Object java.lang.String
      StackMap stack: com.oracle.truffle.js.nodes.CompileRegexNode java.lang.String
         4: ldc ""
      StackMap locals: com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode java.lang.Object java.lang.Object java.lang.String
      StackMap stack: com.oracle.truffle.js.nodes.CompileRegexNode java.lang.String java.lang.String
         5: invokevirtual com.oracle.truffle.js.nodes.CompileRegexNode.compile:(Ljava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/Object;
            astore 4 /* cRe */
        start local 4 // java.lang.Object cRe
         6: .line 2144
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.getCreateRegExpNode:()Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
            aload 4 /* cRe */
            invokevirtual com.oracle.truffle.js.nodes.intl.CreateRegExpNode.createRegExp:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* regExp */
        start local 5 // com.oracle.truffle.api.object.DynamicObject regExp
         7: .line 2145
            aload 0 /* this */
            aload 5 /* regExp */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.matchSymbol:()Lcom/oracle/truffle/js/runtime/Symbol;
            aload 3 /* thisStr */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.invoke:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/Symbol;Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 5 // com.oracle.truffle.api.object.DynamicObject regExp
        end local 4 // java.lang.Object cRe
        end local 3 // java.lang.String thisStr
        end local 2 // java.lang.Object regex
        end local 1 // java.lang.Object thisObj
        end local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lcom/oracle/truffle/js/builtins/StringPrototypeBuiltins$JSStringMatchNode;
            0    8     1  thisObj  Ljava/lang/Object;
            0    8     2    regex  Ljava/lang/Object;
            1    8     3  thisStr  Ljava/lang/String;
            6    8     4      cRe  Ljava/lang/Object;
            7    8     5   regExp  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
         Name  Flags
      thisObj  
      regex    

  private com.oracle.truffle.js.nodes.CompileRegexNode getCompileRegexNode();
    descriptor: ()Lcom/oracle/truffle/js/nodes/CompileRegexNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
         0: .line 2149
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.compileRegexNode:Lcom/oracle/truffle/js/nodes/CompileRegexNode;
            ifnonnull 3
         1: .line 2150
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 2151
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.CompileRegexNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/CompileRegexNode;
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.CompileRegexNode
            putfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.compileRegexNode:Lcom/oracle/truffle/js/nodes/CompileRegexNode;
         3: .line 2153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.compileRegexNode:Lcom/oracle/truffle/js/nodes/CompileRegexNode;
            areturn
        end local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/builtins/StringPrototypeBuiltins$JSStringMatchNode;

  private com.oracle.truffle.js.nodes.intl.CreateRegExpNode getCreateRegExpNode();
    descriptor: ()Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
         0: .line 2157
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.createRegExpNode:Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
            ifnonnull 3
         1: .line 2158
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 2159
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.intl.CreateRegExpNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.intl.CreateRegExpNode
            putfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.createRegExpNode:Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
         3: .line 2161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.createRegExpNode:Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
            areturn
        end local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/builtins/StringPrototypeBuiltins$JSStringMatchNode;

  private com.oracle.truffle.js.nodes.access.IsRegExpNode getIsRegExpNode();
    descriptor: ()Lcom/oracle/truffle/js/nodes/access/IsRegExpNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
         0: .line 2165
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.isRegExpNode:Lcom/oracle/truffle/js/nodes/access/IsRegExpNode;
            ifnonnull 3
         1: .line 2166
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 2167
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.access.IsRegExpNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/IsRegExpNode;
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.access.IsRegExpNode
            putfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.isRegExpNode:Lcom/oracle/truffle/js/nodes/access/IsRegExpNode;
         3: .line 2169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.isRegExpNode:Lcom/oracle/truffle/js/nodes/access/IsRegExpNode;
            areturn
        end local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/builtins/StringPrototypeBuiltins$JSStringMatchNode;

  private java.lang.Object getFlags(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
        start local 1 // java.lang.Object regexp
         0: .line 2173
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.getFlagsNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            ifnonnull 3
         1: .line 2174
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 2175
            aload 0 /* this */
            aload 0 /* this */
            ldc "flags"
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.create:(Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            invokevirtual com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode
            putfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.getFlagsNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
         3: .line 2177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode.getFlagsNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            aload 1 /* regexp */
            invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object regexp
        end local 0 // com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/oracle/truffle/js/builtins/StringPrototypeBuiltins$JSStringMatchNode;
            0    4     1  regexp  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      regexp  
}
SourceFile: "StringPrototypeBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.StringPrototypeBuiltins
InnerClasses:
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
  public abstract JSStringMatchNode = com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringMatchNode of com.oracle.truffle.js.builtins.StringPrototypeBuiltins
  public abstract JSStringOperationWithRegExpArgument = com.oracle.truffle.js.builtins.StringPrototypeBuiltins$JSStringOperationWithRegExpArgument of com.oracle.truffle.js.builtins.StringPrototypeBuiltins