class com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier$1 extends com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier$1
  super_class: com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier
{
  private final org.graalvm.polyglot.Context val$context;
    descriptor: Lorg/graalvm/polyglot/Context;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.graalvm.polyglot.tck.ResultVerifier, org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/tck/ResultVerifier;Lorg/graalvm/polyglot/Context;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier$1 this
        start local 1 // org.graalvm.polyglot.tck.ResultVerifier $anonymous0
         0: .line 545
            aload 0 /* this */
            aload 2
            putfield com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier$1.val$context:Lorg/graalvm/polyglot/Context;
            aload 0 /* this */
            aload 1 /* $anonymous0 */
            invokespecial com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier.<init>:(Lorg/graalvm/polyglot/tck/ResultVerifier;)V
            return
        end local 1 // org.graalvm.polyglot.tck.ResultVerifier $anonymous0
        end local 0 // com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier$1 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/js/test/sdk/tck/JavaScriptTCKLanguageProvider$JavaScriptVerifier$1;
            0    1     1  $anonymous0  Lorg/graalvm/polyglot/tck/ResultVerifier;
    MethodParameters:
             Name  Flags
      $anonymous0  
      val$context  final

  public void accept(org.graalvm.polyglot.tck.ResultVerifier$SnippetRun);
    descriptor: (Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier$1 this
        start local 1 // org.graalvm.polyglot.tck.ResultVerifier$SnippetRun snippetRun
         0: .line 548
            aload 1 /* snippetRun */
            invokevirtual org.graalvm.polyglot.tck.ResultVerifier$SnippetRun.getException:()Lorg/graalvm/polyglot/PolyglotException;
            ifnull 11
         1: .line 549
            aload 1 /* snippetRun */
            invokevirtual org.graalvm.polyglot.tck.ResultVerifier$SnippetRun.getParameters:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Value
            astore 2 /* param */
        start local 2 // org.graalvm.polyglot.Value param
         2: .line 550
            aload 0 /* this */
            getfield com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier$1.val$context:Lorg/graalvm/polyglot/Context;
            ldc "js"
            ldc "Object"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            aload 2 /* param */
            invokevirtual org.graalvm.polyglot.Value.isMetaInstance:(Ljava/lang/Object;)Z
            istore 3 /* jsObject */
        start local 3 // boolean jsObject
         3: .line 551
            iconst_0
            istore 4 /* hasIterator */
        start local 4 // boolean hasIterator
         4: .line 553
            aload 0 /* this */
            getfield com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier$1.val$context:Lorg/graalvm/polyglot/Context;
            ldc "js"
            ldc "(function(a) {return a[Symbol.iterator];})"
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* param */
            aastore
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            invokevirtual org.graalvm.polyglot.Value.isNull:()Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals: org.graalvm.polyglot.Value int int
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 4 /* hasIterator */
         7: .line 554
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Exception
         8: pop
         9: .line 556
      StackMap locals:
      StackMap stack:
            iload 3 /* jsObject */
            ifeq 11
            iload 4 /* hasIterator */
            ifne 11
        10: .line 558
            return
        end local 4 // boolean hasIterator
        end local 3 // boolean jsObject
        end local 2 // org.graalvm.polyglot.Value param
        11: .line 561
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* snippetRun */
            invokespecial com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier.accept:(Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V
        12: .line 562
            return
        end local 1 // org.graalvm.polyglot.tck.ResultVerifier$SnippetRun snippetRun
        end local 0 // com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier$1 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lcom/oracle/truffle/js/test/sdk/tck/JavaScriptTCKLanguageProvider$JavaScriptVerifier$1;
            0   13     1   snippetRun  Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;
            2   11     2        param  Lorg/graalvm/polyglot/Value;
            3   11     3     jsObject  Z
            4   11     4  hasIterator  Z
      Exception table:
        from    to  target  type
           4     7       8  Class java.lang.Exception
    Exceptions:
      throws org.graalvm.polyglot.PolyglotException
    MethodParameters:
            Name  Flags
      snippetRun  
}
SourceFile: "JavaScriptTCKLanguageProvider.java"
EnclosingMethod: com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier.foreignOrHasIteratorVerifier:(Lorg/graalvm/polyglot/Context;Lorg/graalvm/polyglot/tck/ResultVerifier;)Lorg/graalvm/polyglot/tck/ResultVerifier;
NestHost: com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider
InnerClasses:
  private JavaScriptVerifier = com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier of com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider
  com.oracle.truffle.js.test.sdk.tck.JavaScriptTCKLanguageProvider$JavaScriptVerifier$1
  public final SnippetRun = org.graalvm.polyglot.tck.ResultVerifier$SnippetRun of org.graalvm.polyglot.tck.ResultVerifier