public class com.oracle.truffle.js.test.builtins.RegExpES5
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.js.test.builtins.RegExpES5
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.RegExpES5 this
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.js.test.builtins.RegExpES5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/test/builtins/RegExpES5;

  private static void test(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String sourceText
         0: .line 61
            aload 0 /* sourceText */
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.testIntl:(Ljava/lang/String;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         1: .line 62
            return
        end local 0 // java.lang.String sourceText
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  sourceText  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      sourceText  

  private static boolean testIntl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.String sourceText
         0: .line 65
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: iconst_0
            anewarray java.lang.String
            invokestatic com.oracle.truffle.js.test.JSTest.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            ldc "js.ecmascript-version"
            ldc "5"
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 3 /* context */
        start local 3 // org.graalvm.polyglot.Context context
         2: .line 66
            aload 3 /* context */
            ldc "js"
            aload 0 /* sourceText */
            ldc "regexp-es5-test"
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            astore 4 /* result */
        start local 4 // org.graalvm.polyglot.Value result
         3: .line 67
            aload 4 /* result */
            invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
         4: .line 68
            aload 3 /* context */
            ifnull 5
            aload 3 /* context */
            invokevirtual org.graalvm.polyglot.Context.close:()V
         5: .line 67
      StackMap locals: java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context org.graalvm.polyglot.Value
      StackMap stack: int
            ireturn
        end local 4 // org.graalvm.polyglot.Value result
      StackMap locals: java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
         6: astore 1
         7: .line 68
            aload 3 /* context */
            ifnull 8
            aload 3 /* context */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context context
      StackMap locals:
      StackMap stack:
         8: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 2
            aload 1
            ifnonnull 10
            aload 2
            astore 1
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 1
            aload 2
            if_acmpeq 11
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 1
            athrow
        end local 0 // java.lang.String sourceText
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0  sourceText  Ljava/lang/String;
            2    8     3     context  Lorg/graalvm/polyglot/Context;
            3    6     4      result  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           2     4       6  any
           1     5       9  any
           6     9       9  any
    MethodParameters:
            Name  Flags
      sourceText  

  public void testSplitES5();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.RegExpES5 this
         0: .line 73
            ldc "'ab_cd_ef'.split(/_/).length === 3"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         1: .line 74
            ldc "'abcdef'.split(/_/).length === 1"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         2: .line 76
            ldc "'ab_cd_ef'.split('_').length === 3"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         3: .line 77
            ldc "'ab_cd_ef'.split().length === 1"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         4: .line 78
            return
        end local 0 // com.oracle.truffle.js.test.builtins.RegExpES5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/js/test/builtins/RegExpES5;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMatchES5();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.RegExpES5 this
         0: .line 82
            ldc "'ab_cd_ef'.match(/_/).length === 1"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         1: .line 83
            ldc "'ab_cd_ef'.match(/_/g).length === 2"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         2: .line 84
            ldc "'abcdef'.match(/_/) === null"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         3: .line 86
            ldc "'ab_cd_ef'.match('_').length === 1"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         4: .line 87
            ldc "'ab_cd_ef'.match().length === 1"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         5: .line 88
            ldc "'abcdef'.match('X') === null"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         6: .line 89
            return
        end local 0 // com.oracle.truffle.js.test.builtins.RegExpES5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/truffle/js/test/builtins/RegExpES5;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testSearchES5();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.RegExpES5 this
         0: .line 93
            ldc "'ab_cd_ef'.search(/_/) === 2"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         1: .line 94
            ldc "'abcdef'.search(/_/) === -1"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         2: .line 95
            ldc "'abcdef'.search() === 0"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         3: .line 96
            return
        end local 0 // com.oracle.truffle.js.test.builtins.RegExpES5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/test/builtins/RegExpES5;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testReplaceES5();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.builtins.RegExpES5 this
         0: .line 100
            ldc "'ab_cd_ef'.replace(/_/, 'X') === 'abXcd_ef'"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         1: .line 101
            ldc "'ab_cd_ef'.replace(/_/g, 'X') === 'abXcdXef'"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         2: .line 102
            ldc "'abcdef'.replace(/_/) === 'abcdef'"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         3: .line 104
            ldc "'ab_cd_ef'.replace('_', 'X') === 'abXcd_ef'"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         4: .line 105
            ldc "'ab_cd_ef'.replace(undefined, 'X') === 'ab_cd_ef'"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         5: .line 106
            ldc "'abcdef'.replace('X', 'X') === 'abcdef'"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         6: .line 109
            ldc "'ab_cd_ef'.replace(/_/, 'X$$') === 'abX$cd_ef'"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         7: .line 110
            ldc "'ab_cd_ef'.replace(/_/, 'X$&') === 'abX_cd_ef'"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         8: .line 111
            ldc "'ab_cd_ef'.replace(/_/, 'X$\\'') === 'abXcd_efcd_ef'"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
         9: .line 112
            ldc "'ab_cd_ef'.replace(/(_)/, 'X$1') === 'abX_cd_ef'"
            invokestatic com.oracle.truffle.js.test.builtins.RegExpES5.test:(Ljava/lang/String;)V
        10: .line 113
            return
        end local 0 // com.oracle.truffle.js.test.builtins.RegExpES5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/oracle/truffle/js/test/builtins/RegExpES5;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "RegExpES5.java"
InnerClasses:
  public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
  public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source