public class com.oracle.truffle.js.test.regress.GR17510
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.js.test.regress.GR17510
  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.regress.GR17510 this
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.js.test.regress.GR17510 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/test/regress/GR17510;

  private static void testRequireObjectCoercibleInMemberExpression(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.lang.String target
         0: .line 55
            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;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
            astore 3 /* context */
        start local 3 // org.graalvm.polyglot.Context context
         2: .line 56
            new java.lang.StringBuilder
            dup
            ldc "var passed = true;\ntry {\n  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 58
            aload 0 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "[{ toString() { passed = false; } }];\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 59
            ldc "  passed = false;\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 60
            ldc "} catch (e) {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 61
            ldc "  passed = passed && e instanceof TypeError;\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 62
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 63
            ldc "passed;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 56
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* jscode */
        start local 4 // java.lang.String jscode
        10: .line 64
            aload 3 /* context */
            ldc "js"
            aload 4 /* jscode */
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            astore 5 /* result */
        start local 5 // org.graalvm.polyglot.Value result
        11: .line 65
            aload 5 /* result */
            invokevirtual org.graalvm.polyglot.Value.isBoolean:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        12: .line 66
            aload 5 /* result */
            invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 5 // org.graalvm.polyglot.Value result
        end local 4 // java.lang.String jscode
        13: .line 67
            aload 3 /* context */
            ifnull 19
            aload 3 /* context */
            invokevirtual org.graalvm.polyglot.Context.close:()V
            goto 19
      StackMap locals: java.lang.String java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
      StackMap stack: java.lang.Throwable
        14: astore 1
            aload 3 /* context */
            ifnull 15
            aload 3 /* context */
            invokevirtual org.graalvm.polyglot.Context.close:()V
        end local 3 // org.graalvm.polyglot.Context context
      StackMap locals:
      StackMap stack:
        15: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 2
            aload 1
            ifnonnull 17
            aload 2
            astore 1
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 1
            aload 2
            if_acmpeq 18
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 1
            athrow
        19: .line 68
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String target
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0   target  Ljava/lang/String;
            2   15     3  context  Lorg/graalvm/polyglot/Context;
           10   13     4   jscode  Ljava/lang/String;
           11   13     5   result  Lorg/graalvm/polyglot/Value;
      Exception table:
        from    to  target  type
           2    13      14  any
           1    16      16  any
    MethodParameters:
        Name  Flags
      target  

  public void testRequireObjectCoercibleInMemberExpressionForUndefined();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.regress.GR17510 this
         0: .line 72
            ldc "undefined"
            invokestatic com.oracle.truffle.js.test.regress.GR17510.testRequireObjectCoercibleInMemberExpression:(Ljava/lang/String;)V
         1: .line 73
            return
        end local 0 // com.oracle.truffle.js.test.regress.GR17510 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/regress/GR17510;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testRequireObjectCoercibleInMemberExpressionForNull();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.regress.GR17510 this
         0: .line 77
            ldc "null"
            invokestatic com.oracle.truffle.js.test.regress.GR17510.testRequireObjectCoercibleInMemberExpression:(Ljava/lang/String;)V
         1: .line 78
            return
        end local 0 // com.oracle.truffle.js.test.regress.GR17510 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/test/regress/GR17510;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "GR17510.java"
InnerClasses:
  public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context