public class com.oracle.truffle.tck.tests.ErrorTypeTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.tck.tests.ErrorTypeTest
  super_class: java.lang.Object
{
  private static final com.oracle.truffle.tck.tests.TestUtil$CollectingMatcher<com.oracle.truffle.tck.tests.TestRun> TEST_RESULT_MATCHER;
    descriptor: Lcom/oracle/truffle/tck/tests/TestUtil$CollectingMatcher;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/oracle/truffle/tck/tests/TestUtil$CollectingMatcher<Lcom/oracle/truffle/tck/tests/TestRun;>;

  private static com.oracle.truffle.tck.tests.TestContext context;
    descriptor: Lcom/oracle/truffle/tck/tests/TestContext;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final com.oracle.truffle.tck.tests.TestRun testRun;
    descriptor: Lcom/oracle/truffle/tck/tests/TestRun;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 69
            invokestatic com.oracle.truffle.tck.tests.TestUtil.createTooManyFailuresMatcher:()Lcom/oracle/truffle/tck/tests/TestUtil$CollectingMatcher;
            putstatic com.oracle.truffle.tck.tests.ErrorTypeTest.TEST_RESULT_MATCHER:Lcom/oracle/truffle/tck/tests/TestUtil$CollectingMatcher;
         1: .line 70
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.util.Collection<? extends com.oracle.truffle.tck.tests.TestRun> createErrorTypeTests();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=0
         0: .line 75
            new com.oracle.truffle.tck.tests.TestContext
            dup
            ldc Lcom/oracle/truffle/tck/tests/ErrorTypeTest;
            invokespecial com.oracle.truffle.tck.tests.TestContext.<init>:(Ljava/lang/Class;)V
            putstatic com.oracle.truffle.tck.tests.ErrorTypeTest.context:Lcom/oracle/truffle/tck/tests/TestContext;
         1: .line 76
            getstatic com.oracle.truffle.tck.tests.ErrorTypeTest.context:Lcom/oracle/truffle/tck/tests/TestContext;
            invokestatic com.oracle.truffle.tck.tests.TestUtil.getRequiredLanguages:(Lcom/oracle/truffle/tck/tests/TestContext;)Ljava/util/Set;
            astore 0 /* requiredLanguages */
        start local 0 // java.util.Set requiredLanguages
         2: .line 77
            new java.util.TreeSet
            dup
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  com/oracle/truffle/tck/tests/ErrorTypeTest.lambda$0(Lcom/oracle/truffle/tck/tests/TestRun;Lcom/oracle/truffle/tck/tests/TestRun;)I (6)
                  (Lcom/oracle/truffle/tck/tests/TestRun;Lcom/oracle/truffle/tck/tests/TestRun;)I
            invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
            astore 1 /* testRuns */
        start local 1 // java.util.Collection testRuns
         3: .line 78
            aload 0 /* requiredLanguages */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 11
      StackMap locals: java.util.Set java.util.Collection top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* snippetLanguage */
        start local 2 // java.lang.String snippetLanguage
         5: .line 79
            getstatic com.oracle.truffle.tck.tests.ErrorTypeTest.context:Lcom/oracle/truffle/tck/tests/TestContext;
            aconst_null
            aconst_null
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* snippetLanguage */
            aastore
            invokevirtual com.oracle.truffle.tck.tests.TestContext.getExpressions:(Lorg/graalvm/polyglot/tck/TypeDescriptor;Ljava/util/List;[Ljava/lang/String;)Ljava/util/Collection;
            astore 4 /* snippets */
        start local 4 // java.util.Collection snippets
         6: .line 80
            aload 4 /* snippets */
            invokestatic com.oracle.truffle.tck.tests.ErrorTypeTest.computeOverloads:(Ljava/util/Collection;)Ljava/util/Map;
            astore 5 /* overloads */
        start local 5 // java.util.Map overloads
         7: .line 81
            aload 2 /* snippetLanguage */
            aload 4 /* snippets */
            aload 5 /* overloads */
            aload 1 /* testRuns */
            invokestatic com.oracle.truffle.tck.tests.ErrorTypeTest.computeSnippets:(Ljava/lang/String;Ljava/util/Collection;Ljava/util/Map;Ljava/util/Collection;)V
         8: .line 82
            getstatic com.oracle.truffle.tck.tests.ErrorTypeTest.context:Lcom/oracle/truffle/tck/tests/TestContext;
            aconst_null
            aconst_null
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* snippetLanguage */
            aastore
            invokevirtual com.oracle.truffle.tck.tests.TestContext.getStatements:(Lorg/graalvm/polyglot/tck/TypeDescriptor;Ljava/util/List;[Ljava/lang/String;)Ljava/util/Collection;
            astore 4 /* snippets */
         9: .line 83
            aload 4 /* snippets */
            invokestatic com.oracle.truffle.tck.tests.ErrorTypeTest.computeOverloads:(Ljava/util/Collection;)Ljava/util/Map;
            astore 5 /* overloads */
        10: .line 84
            aload 2 /* snippetLanguage */
            aload 4 /* snippets */
            aload 5 /* overloads */
            aload 1 /* testRuns */
            invokestatic com.oracle.truffle.tck.tests.ErrorTypeTest.computeSnippets:(Ljava/lang/String;Ljava/util/Collection;Ljava/util/Map;Ljava/util/Collection;)V
        end local 5 // java.util.Map overloads
        end local 4 // java.util.Collection snippets
        end local 2 // java.lang.String snippetLanguage
        11: .line 78
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        12: .line 86
            aload 1 /* testRuns */
            areturn
        end local 1 // java.util.Collection testRuns
        end local 0 // java.util.Set requiredLanguages
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            2   13     0  requiredLanguages  Ljava/util/Set<+Ljava/lang/String;>;
            3   13     1           testRuns  Ljava/util/Collection<Lcom/oracle/truffle/tck/tests/TestRun;>;
            5   11     2    snippetLanguage  Ljava/lang/String;
            6   11     4           snippets  Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;
            7   11     5          overloads  Ljava/util/Map<Ljava/lang/String;Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;>;
    Signature: ()Ljava/util/Collection<+Lcom/oracle/truffle/tck/tests/TestRun;>;
    RuntimeVisibleAnnotations: 
      org.junit.runners.Parameterized$Parameters(name = "{0}")

  public static void afterClass();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 91
            getstatic com.oracle.truffle.tck.tests.ErrorTypeTest.context:Lcom/oracle/truffle/tck/tests/TestContext;
            invokevirtual com.oracle.truffle.tck.tests.TestContext.close:()V
         1: .line 92
            aconst_null
            putstatic com.oracle.truffle.tck.tests.ErrorTypeTest.context:Lcom/oracle/truffle/tck/tests/TestContext;
         2: .line 93
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      org.junit.AfterClass()

  private static void computeSnippets(java.lang.String, java.util.Collection<? extends org.graalvm.polyglot.tck.Snippet>, java.util.Map<java.lang.String, java.util.Collection<? extends org.graalvm.polyglot.tck.Snippet>>, java.util.Collection<? super com.oracle.truffle.tck.tests.TestRun>);
    descriptor: (Ljava/lang/String;Ljava/util/Collection;Ljava/util/Map;Ljava/util/Collection;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=12, args_size=4
        start local 0 // java.lang.String snippetLanguage
        start local 1 // java.util.Collection snippets
        start local 2 // java.util.Map overloads
        start local 3 // java.util.Collection collector
         0: .line 100
            getstatic com.oracle.truffle.tck.tests.ErrorTypeTest.context:Lcom/oracle/truffle/tck/tests/TestContext;
            invokestatic com.oracle.truffle.tck.tests.TestUtil.getRequiredValueLanguages:(Lcom/oracle/truffle/tck/tests/TestContext;)Ljava/util/Set;
            astore 4 /* requiredValueLanguages */
        start local 4 // java.util.Set requiredValueLanguages
         1: .line 101
            aload 1 /* snippets */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 23
      StackMap locals: java.lang.String java.util.Collection java.util.Map java.util.Collection java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.tck.Snippet
            astore 5 /* snippet */
        start local 5 // org.graalvm.polyglot.tck.Snippet snippet
         3: .line 102
            aload 4 /* requiredValueLanguages */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 22
      StackMap locals: java.lang.String java.util.Collection java.util.Map java.util.Collection java.util.Set org.graalvm.polyglot.tck.Snippet java.util.Iterator top java.util.Iterator
      StackMap stack:
         4: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* parLanguage */
        start local 7 // java.lang.String parLanguage
         5: .line 103
            aload 0 /* snippetLanguage */
            aload 7 /* parLanguage */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 104
            goto 22
         7: .line 106
      StackMap locals: java.lang.String java.util.Collection java.util.Map java.util.Collection java.util.Set org.graalvm.polyglot.tck.Snippet java.util.Iterator java.lang.String java.util.Iterator
      StackMap stack:
            new java.util.TreeSet
            dup
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  com/oracle/truffle/tck/tests/ErrorTypeTest.lambda$1(Ljava/util/Map$Entry;Ljava/util/Map$Entry;)I (6)
                  (Ljava/util/Map$Entry;Ljava/util/Map$Entry;)I
            invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
            astore 9 /* valueConstructors */
        start local 9 // java.util.Collection valueConstructors
         8: .line 107
            getstatic com.oracle.truffle.tck.tests.ErrorTypeTest.context:Lcom/oracle/truffle/tck/tests/TestContext;
            aconst_null
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 7 /* parLanguage */
            aastore
            invokevirtual com.oracle.truffle.tck.tests.TestContext.getValueConstructors:(Lorg/graalvm/polyglot/tck/TypeDescriptor;[Ljava/lang/String;)Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 11
      StackMap locals: java.lang.String java.util.Collection java.util.Map java.util.Collection java.util.Set org.graalvm.polyglot.tck.Snippet java.util.Iterator java.lang.String java.util.Iterator java.util.Collection top java.util.Iterator
      StackMap stack:
         9: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.tck.Snippet
            astore 10 /* valueConstructor */
        start local 10 // org.graalvm.polyglot.tck.Snippet valueConstructor
        10: .line 108
            aload 9 /* valueConstructors */
            new java.util.AbstractMap$SimpleImmutableEntry
            dup
            aload 7 /* parLanguage */
            aload 10 /* valueConstructor */
            invokespecial java.util.AbstractMap$SimpleImmutableEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // org.graalvm.polyglot.tck.Snippet valueConstructor
        11: .line 107
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 110
            aload 5 /* snippet */
            aload 9 /* valueConstructors */
            invokestatic com.oracle.truffle.tck.tests.TestUtil.findApplicableParameters:(Lorg/graalvm/polyglot/tck/Snippet;Ljava/util/Collection;)Ljava/util/List;
            astore 10 /* applicableParams */
        start local 10 // java.util.List applicableParams
        13: .line 111
            aload 10 /* applicableParams */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 22
        14: .line 112
            new java.util.ArrayList
            dup
            aload 2 /* overloads */
            aload 5 /* snippet */
            invokevirtual org.graalvm.polyglot.tck.Snippet.getId:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Collection
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 11 /* operatorOverloads */
        start local 11 // java.util.Collection operatorOverloads
        15: .line 113
            aload 11 /* operatorOverloads */
            aload 5 /* snippet */
            invokeinterface java.util.Collection.remove:(Ljava/lang/Object;)Z
            pop
        16: .line 115
            new java.util.AbstractMap$SimpleImmutableEntry
            dup
            aload 0 /* snippetLanguage */
            aload 5 /* snippet */
            invokespecial java.util.AbstractMap$SimpleImmutableEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 116
            aload 10 /* applicableParams */
        18: .line 117
            aload 9 /* valueConstructors */
        19: .line 118
            aload 11 /* operatorOverloads */
        20: .line 119
            aload 3 /* collector */
        21: .line 114
            invokestatic com.oracle.truffle.tck.tests.ErrorTypeTest.computeAllInvalidPermutations:(Ljava/util/Map$Entry;Ljava/util/List;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)V
        end local 11 // java.util.Collection operatorOverloads
        end local 10 // java.util.List applicableParams
        end local 9 // java.util.Collection valueConstructors
        end local 7 // java.lang.String parLanguage
        22: .line 102
      StackMap locals: java.lang.String java.util.Collection java.util.Map java.util.Collection java.util.Set org.graalvm.polyglot.tck.Snippet java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 5 // org.graalvm.polyglot.tck.Snippet snippet
        23: .line 101
      StackMap locals: java.lang.String java.util.Collection java.util.Map java.util.Collection java.util.Set top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        24: .line 123
            return
        end local 4 // java.util.Set requiredValueLanguages
        end local 3 // java.util.Collection collector
        end local 2 // java.util.Map overloads
        end local 1 // java.util.Collection snippets
        end local 0 // java.lang.String snippetLanguage
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   25     0         snippetLanguage  Ljava/lang/String;
            0   25     1                snippets  Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;
            0   25     2               overloads  Ljava/util/Map<Ljava/lang/String;Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;>;
            0   25     3               collector  Ljava/util/Collection<-Lcom/oracle/truffle/tck/tests/TestRun;>;
            1   25     4  requiredValueLanguages  Ljava/util/Set<+Ljava/lang/String;>;
            3   23     5                 snippet  Lorg/graalvm/polyglot/tck/Snippet;
            5   22     7             parLanguage  Ljava/lang/String;
            8   22     9       valueConstructors  Ljava/util/Collection<Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;>;
           10   11    10        valueConstructor  Lorg/graalvm/polyglot/tck/Snippet;
           13   22    10        applicableParams  Ljava/util/List<Ljava/util/List<Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;>;>;
           15   22    11       operatorOverloads  Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;
    Signature: (Ljava/lang/String;Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;Ljava/util/Map<Ljava/lang/String;Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;>;Ljava/util/Collection<-Lcom/oracle/truffle/tck/tests/TestRun;>;)V
    MethodParameters:
                 Name  Flags
      snippetLanguage  final
      snippets         final
      overloads        final
      collector        final

  private static java.util.Map<java.lang.String, java.util.Collection<? extends org.graalvm.polyglot.tck.Snippet>> computeOverloads(java.util.Collection<? extends org.graalvm.polyglot.tck.Snippet>);
    descriptor: (Ljava/util/Collection;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.util.Collection snippets
         0: .line 127
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* res */
        start local 1 // java.util.Map res
         1: .line 128
            aload 0 /* snippets */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: java.util.Collection java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.tck.Snippet
            astore 2 /* snippet */
        start local 2 // org.graalvm.polyglot.tck.Snippet snippet
         3: .line 129
            aload 1 /* res */
            aload 2 /* snippet */
            invokevirtual org.graalvm.polyglot.tck.Snippet.getId:()Ljava/lang/String;
            new com.oracle.truffle.tck.tests.ErrorTypeTest$1
            dup
            invokespecial com.oracle.truffle.tck.tests.ErrorTypeTest$1.<init>:()V
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Collection
         4: .line 134
            aload 2 /* snippet */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.graalvm.polyglot.tck.Snippet snippet
         5: .line 128
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 136
            aload 1 /* res */
            areturn
        end local 1 // java.util.Map res
        end local 0 // java.util.Collection snippets
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  snippets  Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;
            1    7     1       res  Ljava/util/Map<Ljava/lang/String;Ljava/util/Collection<Lorg/graalvm/polyglot/tck/Snippet;>;>;
            3    5     2   snippet  Lorg/graalvm/polyglot/tck/Snippet;
    Signature: (Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;)Ljava/util/Map<Ljava/lang/String;Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;>;
    MethodParameters:
          Name  Flags
      snippets  final

  private static void computeAllInvalidPermutations(java.util.Map$Entry<java.lang.String, ? extends org.graalvm.polyglot.tck.Snippet>, java.util.List<java.util.List<java.util.Map$Entry<java.lang.String, ? extends org.graalvm.polyglot.tck.Snippet>>>, java.util.Collection<java.util.Map$Entry<java.lang.String, ? extends org.graalvm.polyglot.tck.Snippet>>, java.util.Collection<? extends org.graalvm.polyglot.tck.Snippet>, java.util.Collection<? super com.oracle.truffle.tck.tests.TestRun>);
    descriptor: (Ljava/util/Map$Entry;Ljava/util/List;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=15, args_size=5
        start local 0 // java.util.Map$Entry operator
        start local 1 // java.util.List applicableArgs
        start local 2 // java.util.Collection allValueConstructors
        start local 3 // java.util.Collection overloads
        start local 4 // java.util.Collection collector
         0: .line 145
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         1: goto 38
         2: .line 146
      StackMap locals: int
      StackMap stack:
            new java.util.HashSet
            dup
            aload 2 /* allValueConstructors */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 6 /* nonApplicableArgs */
        start local 6 // java.util.Set nonApplicableArgs
         3: .line 147
            aload 6 /* nonApplicableArgs */
            aload 1 /* applicableArgs */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Collection
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
         4: .line 148
            aload 6 /* nonApplicableArgs */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 37
         5: .line 149
            new java.util.ArrayList
            dup
            aload 1 /* applicableArgs */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* args */
        start local 7 // java.util.List args
         6: .line 150
            iconst_1
            istore 8 /* canBeInvoked */
        start local 8 // boolean canBeInvoked
         7: .line 151
            iconst_0
            istore 9 /* j */
        start local 9 // int j
         8: goto 18
         9: .line 152
      StackMap locals: java.util.Map$Entry java.util.List java.util.Collection java.util.Collection java.util.Collection int java.util.Set java.util.List int int
      StackMap stack:
            iload 5 /* i */
            iload 9 /* j */
            if_icmpne 12
        10: .line 153
            aload 7 /* args */
            new java.util.ArrayList
            dup
            aload 6 /* nonApplicableArgs */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 154
            goto 17
        12: .line 155
      StackMap locals:
      StackMap stack:
            aload 1 /* applicableArgs */
            iload 9 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.List
            astore 10 /* slotArgs */
        start local 10 // java.util.List slotArgs
        13: .line 156
            aload 10 /* slotArgs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 16
        14: .line 157
            iconst_0
            istore 8 /* canBeInvoked */
        15: .line 158
            goto 19
        16: .line 160
      StackMap locals: java.util.List
      StackMap stack:
            aload 7 /* args */
            aload 10 /* slotArgs */
            aload 3 /* overloads */
            iload 9 /* j */
            invokestatic com.oracle.truffle.tck.tests.ErrorTypeTest.findBestApplicableArg:(Ljava/util/List;Ljava/util/Collection;I)Ljava/util/Map$Entry;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.util.List slotArgs
        17: .line 151
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        18: iload 9 /* j */
            aload 1 /* applicableArgs */
            invokeinterface java.util.List.size:()I
            if_icmplt 9
        end local 9 // int j
        19: .line 164
      StackMap locals:
      StackMap stack:
            iload 8 /* canBeInvoked */
            ifeq 37
        20: .line 165
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* tmp */
        start local 9 // java.util.Collection tmp
        21: .line 166
            aload 0 /* operator */
            aload 7 /* args */
            aload 9 /* tmp */
            invokestatic com.oracle.truffle.tck.tests.TestUtil.computeAllPermutations:(Ljava/util/Map$Entry;Ljava/util/List;Ljava/util/Collection;)V
        22: .line 167
            aload 3 /* overloads */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 36
        23: .line 168
            aload 9 /* tmp */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 10 /* it */
        start local 10 // java.util.Iterator it
        24: goto 35
        25: .line 169
      StackMap locals: java.util.Collection java.util.Iterator
      StackMap stack:
            aload 10 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.tck.tests.TestRun
            astore 11 /* test */
        start local 11 // com.oracle.truffle.tck.tests.TestRun test
        26: .line 170
            iconst_0
            istore 12 /* remove */
        start local 12 // boolean remove
        27: .line 171
            aload 3 /* overloads */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 14
            goto 32
      StackMap locals: java.util.Map$Entry java.util.List java.util.Collection java.util.Collection java.util.Collection int java.util.Set java.util.List int java.util.Collection java.util.Iterator com.oracle.truffle.tck.tests.TestRun int top java.util.Iterator
      StackMap stack:
        28: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.tck.Snippet
            astore 13 /* overload */
        start local 13 // org.graalvm.polyglot.tck.Snippet overload
        29: .line 172
            aload 13 /* overload */
            invokevirtual org.graalvm.polyglot.tck.Snippet.getParameterTypes:()Ljava/util/List;
            aload 11 /* test */
            invokevirtual com.oracle.truffle.tck.tests.TestRun.getActualParameterTypes:()Ljava/util/List;
            invokestatic com.oracle.truffle.tck.tests.ErrorTypeTest.areParametersAssignable:(Ljava/util/List;Ljava/util/List;)Z
            ifeq 32
        30: .line 173
            iconst_1
            istore 12 /* remove */
        31: .line 174
            goto 33
        end local 13 // org.graalvm.polyglot.tck.Snippet overload
        32: .line 171
      StackMap locals:
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        33: .line 177
      StackMap locals: java.util.Map$Entry java.util.List java.util.Collection java.util.Collection java.util.Collection int java.util.Set java.util.List int java.util.Collection java.util.Iterator com.oracle.truffle.tck.tests.TestRun int
      StackMap stack:
            iload 12 /* remove */
            ifeq 35
        34: .line 178
            aload 10 /* it */
            invokeinterface java.util.Iterator.remove:()V
        end local 12 // boolean remove
        end local 11 // com.oracle.truffle.tck.tests.TestRun test
        35: .line 168
      StackMap locals:
      StackMap stack:
            aload 10 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        end local 10 // java.util.Iterator it
        36: .line 182
      StackMap locals:
      StackMap stack:
            aload 4 /* collector */
            aload 9 /* tmp */
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
        end local 9 // java.util.Collection tmp
        end local 8 // boolean canBeInvoked
        end local 7 // java.util.List args
        end local 6 // java.util.Set nonApplicableArgs
        37: .line 145
      StackMap locals: java.util.Map$Entry java.util.List java.util.Collection java.util.Collection java.util.Collection int
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 5 /* i */
            aload 1 /* applicableArgs */
            invokeinterface java.util.List.size:()I
            if_icmplt 2
        end local 5 // int i
        39: .line 186
            return
        end local 4 // java.util.Collection collector
        end local 3 // java.util.Collection overloads
        end local 2 // java.util.Collection allValueConstructors
        end local 1 // java.util.List applicableArgs
        end local 0 // java.util.Map$Entry operator
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   40     0              operator  Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;
            0   40     1        applicableArgs  Ljava/util/List<Ljava/util/List<Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;>;>;
            0   40     2  allValueConstructors  Ljava/util/Collection<Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;>;
            0   40     3             overloads  Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;
            0   40     4             collector  Ljava/util/Collection<-Lcom/oracle/truffle/tck/tests/TestRun;>;
            1   39     5                     i  I
            3   37     6     nonApplicableArgs  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;>;
            6   37     7                  args  Ljava/util/List<Ljava/util/List<Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;>;>;
            7   37     8          canBeInvoked  Z
            8   19     9                     j  I
           13   17    10              slotArgs  Ljava/util/List<Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;>;
           21   37     9                   tmp  Ljava/util/Collection<Lcom/oracle/truffle/tck/tests/TestRun;>;
           24   36    10                    it  Ljava/util/Iterator<Lcom/oracle/truffle/tck/tests/TestRun;>;
           26   35    11                  test  Lcom/oracle/truffle/tck/tests/TestRun;
           27   35    12                remove  Z
           29   32    13              overload  Lorg/graalvm/polyglot/tck/Snippet;
    Signature: (Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;Ljava/util/List<Ljava/util/List<Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;>;>;Ljava/util/Collection<Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;>;Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;Ljava/util/Collection<-Lcom/oracle/truffle/tck/tests/TestRun;>;)V
    MethodParameters:
                      Name  Flags
      operator              final
      applicableArgs        final
      allValueConstructors  final
      overloads             final
      collector             final

  private static java.util.Map$Entry<java.lang.String, ? extends org.graalvm.polyglot.tck.Snippet> findBestApplicableArg(java.util.List<java.util.Map$Entry<java.lang.String, ? extends org.graalvm.polyglot.tck.Snippet>>, java.util.Collection<? extends org.graalvm.polyglot.tck.Snippet>, int);
    descriptor: (Ljava/util/List;Ljava/util/Collection;I)Ljava/util/Map$Entry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // java.util.List applicableTypes
        start local 1 // java.util.Collection overloads
        start local 2 // int parameterIndex
         0: .line 190
            aload 0 /* applicableTypes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         1: .line 191
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* overloadsTypes */
        start local 4 // java.util.Collection overloadsTypes
         2: .line 192
            aload 1 /* overloads */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: java.util.List java.util.Collection int java.util.Iterator java.util.Collection top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.tck.Snippet
            astore 5 /* overload */
        start local 5 // org.graalvm.polyglot.tck.Snippet overload
         4: .line 193
            aload 5 /* overload */
            invokevirtual org.graalvm.polyglot.tck.Snippet.getParameterTypes:()Ljava/util/List;
            astore 7 /* params */
        start local 7 // java.util.List params
         5: .line 194
            iload 2 /* parameterIndex */
            aload 7 /* params */
            invokeinterface java.util.List.size:()I
            if_icmpge 7
         6: .line 195
            aload 4 /* overloadsTypes */
            aload 7 /* params */
            iload 2 /* parameterIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.tck.TypeDescriptor
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.util.List params
        end local 5 // org.graalvm.polyglot.tck.Snippet overload
         7: .line 192
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 198
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* bestSoFar */
        start local 5 // java.util.Map$Entry bestSoFar
         9: .line 199
            goto 11
        10: .line 200
      StackMap locals: java.util.List java.util.Collection int java.util.Iterator java.util.Collection java.util.Map$Entry
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* bestSoFar */
        11: .line 199
      StackMap locals:
      StackMap stack:
            aload 5 /* bestSoFar */
            aload 4 /* overloadsTypes */
            invokestatic com.oracle.truffle.tck.tests.ErrorTypeTest.isCoveredByOverload:(Ljava/util/Map$Entry;Ljava/util/Collection;)Z
            ifeq 12
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        12: .line 202
      StackMap locals:
      StackMap stack:
            aload 5 /* bestSoFar */
            areturn
        end local 5 // java.util.Map$Entry bestSoFar
        end local 4 // java.util.Collection overloadsTypes
        end local 3 // java.util.Iterator it
        end local 2 // int parameterIndex
        end local 1 // java.util.Collection overloads
        end local 0 // java.util.List applicableTypes
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0  applicableTypes  Ljava/util/List<Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;>;
            0   13     1        overloads  Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;
            0   13     2   parameterIndex  I
            1   13     3               it  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;>;
            2   13     4   overloadsTypes  Ljava/util/Collection<Lorg/graalvm/polyglot/tck/TypeDescriptor;>;
            4    7     5         overload  Lorg/graalvm/polyglot/tck/Snippet;
            5    7     7           params  Ljava/util/List<+Lorg/graalvm/polyglot/tck/TypeDescriptor;>;
            9   13     5        bestSoFar  Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;
    Signature: (Ljava/util/List<Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;>;Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;I)Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;
    MethodParameters:
                 Name  Flags
      applicableTypes  final
      overloads        final
      parameterIndex   final

  private static boolean isCoveredByOverload(java.util.Map$Entry<java.lang.String, ? extends org.graalvm.polyglot.tck.Snippet>, java.util.Collection<? extends org.graalvm.polyglot.tck.TypeDescriptor>);
    descriptor: (Ljava/util/Map$Entry;Ljava/util/Collection;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.util.Map$Entry value
        start local 1 // java.util.Collection overloadsTypes
         0: .line 206
            aload 0 /* value */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.tck.Snippet
            invokevirtual org.graalvm.polyglot.tck.Snippet.getReturnType:()Lorg/graalvm/polyglot/tck/TypeDescriptor;
            astore 2 /* valueType */
        start local 2 // org.graalvm.polyglot.tck.TypeDescriptor valueType
         1: .line 207
            aload 1 /* overloadsTypes */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: java.util.Map$Entry java.util.Collection org.graalvm.polyglot.tck.TypeDescriptor top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.tck.TypeDescriptor
            astore 3 /* td */
        start local 3 // org.graalvm.polyglot.tck.TypeDescriptor td
         3: .line 208
            aload 3 /* td */
            aload 2 /* valueType */
            invokevirtual org.graalvm.polyglot.tck.TypeDescriptor.isAssignable:(Lorg/graalvm/polyglot/tck/TypeDescriptor;)Z
            ifeq 5
         4: .line 209
            iconst_1
            ireturn
        end local 3 // org.graalvm.polyglot.tck.TypeDescriptor td
         5: .line 207
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 212
            iconst_0
            ireturn
        end local 2 // org.graalvm.polyglot.tck.TypeDescriptor valueType
        end local 1 // java.util.Collection overloadsTypes
        end local 0 // java.util.Map$Entry value
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0           value  Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;
            0    7     1  overloadsTypes  Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/TypeDescriptor;>;
            1    7     2       valueType  Lorg/graalvm/polyglot/tck/TypeDescriptor;
            3    5     3              td  Lorg/graalvm/polyglot/tck/TypeDescriptor;
    Signature: (Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/TypeDescriptor;>;)Z
    MethodParameters:
                Name  Flags
      value           final
      overloadsTypes  final

  private static boolean areParametersAssignable(java.util.List<? extends org.graalvm.polyglot.tck.TypeDescriptor>, java.util.List<? extends org.graalvm.polyglot.tck.TypeDescriptor>);
    descriptor: (Ljava/util/List;Ljava/util/List;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.List into
        start local 1 // java.util.List from
         0: .line 216
            aload 0 /* into */
            invokeinterface java.util.List.size:()I
            aload 1 /* from */
            invokeinterface java.util.List.size:()I
            if_icmpeq 2
         1: .line 217
            iconst_0
            ireturn
         2: .line 219
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 220
      StackMap locals: int
      StackMap stack:
            aload 0 /* into */
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.tck.TypeDescriptor
            aload 1 /* from */
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.tck.TypeDescriptor
            invokevirtual org.graalvm.polyglot.tck.TypeDescriptor.isAssignable:(Lorg/graalvm/polyglot/tck/TypeDescriptor;)Z
            ifne 6
         5: .line 221
            iconst_0
            ireturn
         6: .line 219
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* into */
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 2 // int i
         8: .line 224
            iconst_1
            ireturn
        end local 1 // java.util.List from
        end local 0 // java.util.List into
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  into  Ljava/util/List<+Lorg/graalvm/polyglot/tck/TypeDescriptor;>;
            0    9     1  from  Ljava/util/List<+Lorg/graalvm/polyglot/tck/TypeDescriptor;>;
            3    8     2     i  I
    Signature: (Ljava/util/List<+Lorg/graalvm/polyglot/tck/TypeDescriptor;>;Ljava/util/List<+Lorg/graalvm/polyglot/tck/TypeDescriptor;>;)Z
    MethodParameters:
      Name  Flags
      into  final
      from  

  public void <init>(com.oracle.truffle.tck.tests.TestRun);
    descriptor: (Lcom/oracle/truffle/tck/tests/TestRun;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.tck.tests.ErrorTypeTest this
        start local 1 // com.oracle.truffle.tck.tests.TestRun testRun
         0: .line 227
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 228
            aload 1 /* testRun */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 229
            aload 0 /* this */
            aload 1 /* testRun */
            putfield com.oracle.truffle.tck.tests.ErrorTypeTest.testRun:Lcom/oracle/truffle/tck/tests/TestRun;
         3: .line 230
            return
        end local 1 // com.oracle.truffle.tck.tests.TestRun testRun
        end local 0 // com.oracle.truffle.tck.tests.ErrorTypeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/truffle/tck/tests/ErrorTypeTest;
            0    4     1  testRun  Lcom/oracle/truffle/tck/tests/TestRun;
    MethodParameters:
         Name  Flags
      testRun  final

  public void testErrorType();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.oracle.truffle.tck.tests.ErrorTypeTest this
         0: .line 234
            aload 0 /* this */
            getfield com.oracle.truffle.tck.tests.ErrorTypeTest.testRun:Lcom/oracle/truffle/tck/tests/TestRun;
            getstatic com.oracle.truffle.tck.tests.ErrorTypeTest.TEST_RESULT_MATCHER:Lcom/oracle/truffle/tck/tests/TestUtil$CollectingMatcher;
            invokestatic org.junit.Assume.assumeThat:(Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
         1: .line 235
            iconst_0
            istore 1 /* passed */
        start local 1 // boolean passed
         2: .line 238
            aload 0 /* this */
            getfield com.oracle.truffle.tck.tests.ErrorTypeTest.testRun:Lcom/oracle/truffle/tck/tests/TestRun;
            invokevirtual com.oracle.truffle.tck.tests.TestRun.getSnippet:()Lorg/graalvm/polyglot/tck/Snippet;
            invokevirtual org.graalvm.polyglot.tck.Snippet.getExecutableValue:()Lorg/graalvm/polyglot/Value;
            aload 0 /* this */
            getfield com.oracle.truffle.tck.tests.ErrorTypeTest.testRun:Lcom/oracle/truffle/tck/tests/TestRun;
            invokevirtual com.oracle.truffle.tck.tests.TestRun.getActualParameters:()Ljava/util/List;
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
            invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            pop
         3: .line 239
            goto 18
      StackMap locals: com.oracle.truffle.tck.tests.ErrorTypeTest int
      StackMap stack: org.graalvm.polyglot.PolyglotException
         4: astore 2 /* pe */
        start local 2 // org.graalvm.polyglot.PolyglotException pe
         5: .line 241
            aload 0 /* this */
            getfield com.oracle.truffle.tck.tests.ErrorTypeTest.testRun:Lcom/oracle/truffle/tck/tests/TestRun;
            aconst_null
            aload 2 /* pe */
            iconst_1
            invokestatic com.oracle.truffle.tck.tests.TestUtil.validateResult:(Lcom/oracle/truffle/tck/tests/TestRun;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/PolyglotException;Z)V
         6: .line 242
            goto 18
      StackMap locals: com.oracle.truffle.tck.tests.ErrorTypeTest int org.graalvm.polyglot.PolyglotException
      StackMap stack: java.lang.Throwable
         7: astore 3 /* e */
        start local 3 // java.lang.Throwable e
         8: .line 243
            aload 2 /* pe */
            aload 3 /* e */
            invokevirtual org.graalvm.polyglot.PolyglotException.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 244
            iconst_1
            istore 1 /* passed */
        10: .line 245
            goto 18
        11: .line 246
      StackMap locals: java.lang.Throwable
      StackMap stack:
            new java.lang.AssertionError
            dup
        12: .line 248
            new java.lang.StringBuilder
            dup
            ldc "Unexpected Exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* e */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", expected: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* pe */
            invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 249
            aload 0 /* this */
            getfield com.oracle.truffle.tck.tests.ErrorTypeTest.testRun:Lcom/oracle/truffle/tck/tests/TestRun;
        14: .line 250
            getstatic com.oracle.truffle.tck.tests.ErrorTypeTest.context:Lcom/oracle/truffle/tck/tests/TestContext;
        15: .line 247
            invokestatic com.oracle.truffle.tck.tests.TestUtil.formatErrorMessage:(Ljava/lang/String;Lcom/oracle/truffle/tck/tests/TestRun;Lcom/oracle/truffle/tck/tests/TestContext;)Ljava/lang/String;
        16: .line 251
            aload 3 /* e */
        17: .line 246
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable e
        end local 2 // org.graalvm.polyglot.PolyglotException pe
        18: .line 255
      StackMap locals:
      StackMap stack:
            iload 1 /* passed */
            ifne 27
        19: .line 256
            new java.lang.AssertionError
            dup
        20: .line 257
            ldc "Expected PolyglotException, but executed successfully."
        21: .line 258
            aload 0 /* this */
            getfield com.oracle.truffle.tck.tests.ErrorTypeTest.testRun:Lcom/oracle/truffle/tck/tests/TestRun;
        22: .line 259
            getstatic com.oracle.truffle.tck.tests.ErrorTypeTest.context:Lcom/oracle/truffle/tck/tests/TestContext;
        23: .line 256
            invokestatic com.oracle.truffle.tck.tests.TestUtil.formatErrorMessage:(Ljava/lang/String;Lcom/oracle/truffle/tck/tests/TestRun;Lcom/oracle/truffle/tck/tests/TestContext;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        24: .line 261
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        25: .line 262
            getstatic com.oracle.truffle.tck.tests.ErrorTypeTest.TEST_RESULT_MATCHER:Lcom/oracle/truffle/tck/tests/TestUtil$CollectingMatcher;
            new java.util.AbstractMap$SimpleImmutableEntry
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.tck.tests.ErrorTypeTest.testRun:Lcom/oracle/truffle/tck/tests/TestRun;
            iload 1 /* passed */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokespecial java.util.AbstractMap$SimpleImmutableEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokevirtual com.oracle.truffle.tck.tests.TestUtil$CollectingMatcher.accept:(Ljava/lang/Object;)V
        26: .line 263
            aload 4
            athrow
        27: .line 262
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.tck.tests.ErrorTypeTest.TEST_RESULT_MATCHER:Lcom/oracle/truffle/tck/tests/TestUtil$CollectingMatcher;
            new java.util.AbstractMap$SimpleImmutableEntry
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.tck.tests.ErrorTypeTest.testRun:Lcom/oracle/truffle/tck/tests/TestRun;
            iload 1 /* passed */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokespecial java.util.AbstractMap$SimpleImmutableEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokevirtual com.oracle.truffle.tck.tests.TestUtil$CollectingMatcher.accept:(Ljava/lang/Object;)V
        28: .line 264
            return
        end local 1 // boolean passed
        end local 0 // com.oracle.truffle.tck.tests.ErrorTypeTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   29     0    this  Lcom/oracle/truffle/tck/tests/ErrorTypeTest;
            2   29     1  passed  Z
            5   18     2      pe  Lorg/graalvm/polyglot/PolyglotException;
            8   18     3       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class org.graalvm.polyglot.PolyglotException
           5     6       7  Class org.graalvm.polyglot.PolyglotException
           5     6       7  Class java.lang.AssertionError
           2    24      24  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static int lambda$0(com.oracle.truffle.tck.tests.TestRun, com.oracle.truffle.tck.tests.TestRun);
    descriptor: (Lcom/oracle/truffle/tck/tests/TestRun;Lcom/oracle/truffle/tck/tests/TestRun;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.tck.tests.TestRun a
        start local 1 // com.oracle.truffle.tck.tests.TestRun b
         0: .line 77
            aload 0 /* a */
            invokevirtual com.oracle.truffle.tck.tests.TestRun.toString:()Ljava/lang/String;
            aload 1 /* b */
            invokevirtual com.oracle.truffle.tck.tests.TestRun.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 1 // com.oracle.truffle.tck.tests.TestRun b
        end local 0 // com.oracle.truffle.tck.tests.TestRun a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Lcom/oracle/truffle/tck/tests/TestRun;
            0    1     1     b  Lcom/oracle/truffle/tck/tests/TestRun;

  private static int lambda$1(java.util.Map$Entry, java.util.Map$Entry);
    descriptor: (Ljava/util/Map$Entry;Ljava/util/Map$Entry;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.Map$Entry a
        start local 1 // java.util.Map$Entry b
         0: .line 106
            aload 0 /* a */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.tck.Snippet
            invokevirtual org.graalvm.polyglot.tck.Snippet.getId:()Ljava/lang/String;
            aload 1 /* b */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.polyglot.tck.Snippet
            invokevirtual org.graalvm.polyglot.tck.Snippet.getId:()Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 1 // java.util.Map$Entry b
        end local 0 // java.util.Map$Entry a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;
            0    1     1     b  Ljava/util/Map$Entry<Ljava/lang/String;+Lorg/graalvm/polyglot/tck/Snippet;>;
}
SourceFile: "ErrorTypeTest.java"
NestMembers:
  com.oracle.truffle.tck.tests.ErrorTypeTest$1
InnerClasses:
  com.oracle.truffle.tck.tests.ErrorTypeTest$1
  abstract CollectingMatcher = com.oracle.truffle.tck.tests.TestUtil$CollectingMatcher of com.oracle.truffle.tck.tests.TestUtil
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public SimpleImmutableEntry = java.util.AbstractMap$SimpleImmutableEntry of java.util.AbstractMap
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public abstract Parameters = org.junit.runners.Parameterized$Parameters of org.junit.runners.Parameterized
    RuntimeVisibleAnnotations: 
      org.junit.runner.RunWith(value = Lorg/junit/runners/Parameterized;)