public class com.oracle.truffle.sl.tck.SLTCKLanguageProvider implements org.graalvm.polyglot.tck.LanguageProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.sl.tck.SLTCKLanguageProvider
  super_class: java.lang.Object
{
  private static final java.lang.String ID;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sl"

  private static final java.lang.String PATTERN_VALUE_FNC;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "function %s() {return %s;}"

  private static final java.lang.String PATTERN_BIN_OP_FNC;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "function %s(a,b) {return a %s b;}"

  private static final java.lang.String PATTERN_POST_OP_FNC;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "function %s(a) {a %s;}"

  private static final java.lang.String PATTERN_BUILTIN0;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "function %sBuiltin0() {return %s();}"

  private static final java.lang.String PATTERN_BUILTIN1;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "function %sBuiltin1(a) {return %s(a);}"

  private static final java.lang.String PATTERN_BUILTIN2;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "function %sBuiltin2(a, b) {return %s(a, b);}"

  private static final java.lang.String[] PATTERN_STATEMENTS;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.polyglot.tck.TypeDescriptor NUMBER_RETURN;
    descriptor: Lorg/graalvm/polyglot/tck/TypeDescriptor;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 68
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 69
            ldc "function %s() {r = 0;\n%s\nreturn r;\n}"
            aastore
            dup
            iconst_1
         2: .line 70
            ldc "function %s(p1) {r = 0;\n%s\nreturn r;\n}"
            aastore
         3: .line 68
            putstatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.PATTERN_STATEMENTS:[Ljava/lang/String;
         4: .line 73
            iconst_2
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            dup
            iconst_1
            iconst_0
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            invokestatic org.graalvm.polyglot.tck.TypeDescriptor.intersection:([Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            invokestatic org.graalvm.polyglot.tck.TypeDescriptor.union:([Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/TypeDescriptor;
            putstatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.NUMBER_RETURN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/sl/tck/SLTCKLanguageProvider;

  public java.lang.String getId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
         0: .line 77
            ldc "sl"
            areturn
        end local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/sl/tck/SLTCKLanguageProvider;

  public org.graalvm.polyglot.Value createIdentityFunction(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)Lorg/graalvm/polyglot/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
        start local 1 // org.graalvm.polyglot.Context context
         0: .line 82
            aload 1 /* context */
            ldc "function id (a) {return a;}"
            ldc "id"
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.eval:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 1 // org.graalvm.polyglot.Context context
        end local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/sl/tck/SLTCKLanguageProvider;
            0    1     1  context  Lorg/graalvm/polyglot/Context;
    MethodParameters:
         Name  Flags
      context  

  public java.util.Collection<? extends org.graalvm.polyglot.tck.Snippet> createValueConstructors(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
        start local 1 // org.graalvm.polyglot.Context context
         0: .line 87
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* res */
        start local 2 // java.util.Collection res
         1: .line 89
            aload 2 /* res */
            aload 1 /* context */
            ldc "1 == 2"
            ldc "boolean"
            ldc "createBoolean"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createValueConstructor:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         2: .line 90
            aload 2 /* res */
            aload 1 /* context */
            ldc "1"
            ldc "number"
            ldc "createNumber"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createValueConstructor:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         3: .line 91
            aload 2 /* res */
            aload 1 /* context */
            ldc "9223372036854775808"
            ldc "bigNumber"
            ldc "createBigNumber"
            iconst_0
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            invokestatic org.graalvm.polyglot.tck.TypeDescriptor.intersection:([Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createValueConstructor:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         4: .line 92
            aload 2 /* res */
            aload 1 /* context */
            ldc "\"string\""
            ldc "string"
            ldc "createString"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.STRING:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createValueConstructor:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         5: .line 94
            ldc "object"
         6: .line 96
            aload 1 /* context */
         7: .line 97
            ldc "function createObject() {\nobj1 = new();\nobj1.attr = 42;\nreturn obj1;\n}"
         8: .line 102
            ldc "createObject"
         9: .line 95
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.eval:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
        10: .line 103
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.OBJECT:Lorg/graalvm/polyglot/tck/TypeDescriptor;
        11: .line 93
            invokestatic org.graalvm.polyglot.tck.Snippet.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            astore 3 /* opb */
        start local 3 // org.graalvm.polyglot.tck.Snippet$Builder opb
        12: .line 104
            aload 2 /* res */
            aload 3 /* opb */
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        13: .line 106
            ldc "function"
        14: .line 108
            aload 1 /* context */
        15: .line 109
            ldc "function fn() {\n}function createFunction() {\nreturn fn;\n}"
        16: .line 114
            ldc "createFunction"
        17: .line 107
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.eval:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
        18: .line 115
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.EXECUTABLE:Lorg/graalvm/polyglot/tck/TypeDescriptor;
        19: .line 105
            invokestatic org.graalvm.polyglot.tck.Snippet.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            astore 3 /* opb */
        20: .line 117
            aload 2 /* res */
            aload 1 /* context */
            ldc "wrapPrimitive(1 == 2)"
            ldc "wrapped-boolean"
            ldc "createWrappedBoolean"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createValueConstructor:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        21: .line 118
            aload 2 /* res */
            aload 1 /* context */
            ldc "wrapPrimitive(1)"
            ldc "wrapped-number"
            ldc "createWrappedNumber"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createValueConstructor:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        22: .line 119
            aload 2 /* res */
            aload 1 /* context */
            ldc "wrapPrimitive(\"string\")"
            ldc "wrapped-string"
            ldc "createWrappedString"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.STRING:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createValueConstructor:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        23: .line 121
            aload 2 /* res */
            aload 1 /* context */
            ldc "typeOf(1 == 2)"
            ldc "boolean-metaobject"
        24: .line 122
            ldc "createBooleanMetaObject"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.META_OBJECT:Lorg/graalvm/polyglot/tck/TypeDescriptor;
        25: .line 121
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createValueConstructor:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        26: .line 123
            aload 2 /* res */
            aload 1 /* context */
            ldc "typeOf(1)"
            ldc "number-metaobject"
        27: .line 124
            ldc "createNumberMetaObject"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.META_OBJECT:Lorg/graalvm/polyglot/tck/TypeDescriptor;
        28: .line 123
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createValueConstructor:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        29: .line 125
            aload 2 /* res */
            aload 1 /* context */
            ldc "typeOf(\"str\")"
            ldc "string-metaobject"
        30: .line 126
            ldc "createStringMetaObject"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.META_OBJECT:Lorg/graalvm/polyglot/tck/TypeDescriptor;
        31: .line 125
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createValueConstructor:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        32: .line 127
            aload 2 /* res */
            aload 1 /* context */
            ldc "typeOf(NULL)"
            ldc "null-metaobject"
        33: .line 128
            ldc "createNullMetaObject"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.META_OBJECT:Lorg/graalvm/polyglot/tck/TypeDescriptor;
        34: .line 127
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createValueConstructor:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        35: .line 129
            aload 2 /* res */
            aload 1 /* context */
            ldc "typeOf(new())"
            ldc "object-metaobject"
        36: .line 130
            ldc "createObjectMetaObject"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.META_OBJECT:Lorg/graalvm/polyglot/tck/TypeDescriptor;
        37: .line 129
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createValueConstructor:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        38: .line 131
            aload 2 /* res */
            aload 1 /* context */
            ldc "typeOf(createStringMetaObject)"
        39: .line 132
            ldc "function-metaobject"
        40: .line 133
            ldc "createFunctionMetaObject"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.META_OBJECT:Lorg/graalvm/polyglot/tck/TypeDescriptor;
        41: .line 131
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createValueConstructor:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        42: .line 135
            aload 2 /* res */
            aload 3 /* opb */
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        43: .line 136
            aload 2 /* res */
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 3 // org.graalvm.polyglot.tck.Snippet$Builder opb
        end local 2 // java.util.Collection res
        end local 1 // org.graalvm.polyglot.Context context
        end local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   44     0     this  Lcom/oracle/truffle/sl/tck/SLTCKLanguageProvider;
            0   44     1  context  Lorg/graalvm/polyglot/Context;
            1   44     2      res  Ljava/util/Collection<Lorg/graalvm/polyglot/tck/Snippet;>;
           12   44     3      opb  Lorg/graalvm/polyglot/tck/Snippet$Builder;
    Signature: (Lorg/graalvm/polyglot/Context;)Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;
    MethodParameters:
         Name  Flags
      context  

  public java.util.Collection<? extends org.graalvm.polyglot.tck.Snippet> createExpressions(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=2
        start local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
        start local 1 // org.graalvm.polyglot.Context context
         0: .line 141
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* res */
        start local 2 // java.util.Collection res
         1: .line 142
            aload 1 /* context */
            ldc "function %s(a,b) {return a %s b;}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "add"
            aastore
            dup
            iconst_1
            ldc "+"
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            ldc "add"
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.eval:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 3 /* fnc */
        start local 3 // org.graalvm.polyglot.Value fnc
         2: .line 143
            ldc "+"
            aload 3 /* fnc */
            getstatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.NUMBER_RETURN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic org.graalvm.polyglot.tck.Snippet.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            iconst_2
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            dup
            iconst_1
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.parameterTypes:([Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            astore 4 /* opb */
        start local 4 // org.graalvm.polyglot.tck.Snippet$Builder opb
         3: .line 144
            aload 2 /* res */
            aload 4 /* opb */
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         4: .line 145
            ldc "+"
            aload 3 /* fnc */
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.STRING:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic org.graalvm.polyglot.tck.Snippet.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            iconst_2
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.STRING:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            dup
            iconst_1
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.parameterTypes:([Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            astore 4 /* opb */
         5: .line 146
            aload 2 /* res */
            aload 4 /* opb */
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         6: .line 147
            ldc "+"
            aload 3 /* fnc */
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.STRING:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic org.graalvm.polyglot.tck.Snippet.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            iconst_2
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            dup
            iconst_1
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.STRING:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.parameterTypes:([Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            astore 4 /* opb */
         7: .line 148
            aload 2 /* res */
            aload 4 /* opb */
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         8: .line 149
            aload 2 /* res */
            aload 1 /* context */
            ldc "-"
            ldc "sub"
            getstatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.NUMBER_RETURN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBinaryOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         9: .line 150
            aload 2 /* res */
            aload 1 /* context */
            ldc "*"
            ldc "mul"
            getstatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.NUMBER_RETURN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBinaryOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        10: .line 151
            aload 2 /* res */
            aload 1 /* context */
            ldc "/"
            ldc "div"
            getstatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.NUMBER_RETURN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBinaryOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokedynamic accept()Lorg/graalvm/polyglot/tck/ResultVerifier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V
                  com/oracle/truffle/sl/tck/SLTCKLanguageProvider.lambda$0(Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V (6)
                  (Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V
                  4
                  1
                  (Ljava/lang/Object;)V
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.resultVerifier:(Lorg/graalvm/polyglot/tck/ResultVerifier;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
        11: .line 162
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
        12: .line 151
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        13: .line 163
            aload 2 /* res */
            aload 1 /* context */
            ldc "=="
            ldc "eq"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBinaryOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        14: .line 164
            aload 2 /* res */
            aload 1 /* context */
            ldc "!="
            ldc "neq"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBinaryOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        15: .line 165
            aload 2 /* res */
            aload 1 /* context */
            ldc "<="
            ldc "le"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBinaryOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        16: .line 166
            aload 2 /* res */
            aload 1 /* context */
            ldc ">="
            ldc "ge"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBinaryOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        17: .line 167
            aload 2 /* res */
            aload 1 /* context */
            ldc "<"
            ldc "l"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBinaryOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        18: .line 168
            aload 2 /* res */
            aload 1 /* context */
            ldc ">"
            ldc "g"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBinaryOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        19: .line 169
            aload 2 /* res */
            aload 1 /* context */
            ldc "||"
            ldc "or"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBinaryOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokedynamic accept()Lorg/graalvm/polyglot/tck/ResultVerifier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V
                  com/oracle/truffle/sl/tck/SLTCKLanguageProvider.lambda$1(Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V (6)
                  (Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V
                  4
                  1
                  (Ljava/lang/Object;)V
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.resultVerifier:(Lorg/graalvm/polyglot/tck/ResultVerifier;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
        20: .line 180
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
        21: .line 169
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        22: .line 181
            aload 2 /* res */
            aload 1 /* context */
            ldc "&&"
            ldc "land"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBinaryOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokedynamic accept()Lorg/graalvm/polyglot/tck/ResultVerifier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V
                  com/oracle/truffle/sl/tck/SLTCKLanguageProvider.lambda$2(Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V (6)
                  (Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V
                  4
                  1
                  (Ljava/lang/Object;)V
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.resultVerifier:(Lorg/graalvm/polyglot/tck/ResultVerifier;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
        23: .line 192
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
        24: .line 181
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        25: .line 193
            aload 2 /* res */
            aload 1 /* context */
            ldc "()"
            ldc "callNoArg"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NULL:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            iconst_0
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            invokestatic org.graalvm.polyglot.tck.TypeDescriptor.executable:(Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createPostfixOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        26: .line 194
            aload 2 /* res */
            aload 1 /* context */
            ldc "(1)"
            ldc "callOneArg"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NULL:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            iconst_1
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            invokestatic org.graalvm.polyglot.tck.TypeDescriptor.executable:(Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createPostfixOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        27: .line 195
            aload 2 /* res */
            aload 1 /* context */
            ldc "(1, \"\")"
            ldc "callTwoArgs"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NULL:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            iconst_2
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            dup
            iconst_1
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.STRING:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            invokestatic org.graalvm.polyglot.tck.TypeDescriptor.executable:(Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createPostfixOperator:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        28: .line 197
            aload 2 /* res */
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 4 // org.graalvm.polyglot.tck.Snippet$Builder opb
        end local 3 // org.graalvm.polyglot.Value fnc
        end local 2 // java.util.Collection res
        end local 1 // org.graalvm.polyglot.Context context
        end local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   29     0     this  Lcom/oracle/truffle/sl/tck/SLTCKLanguageProvider;
            0   29     1  context  Lorg/graalvm/polyglot/Context;
            1   29     2      res  Ljava/util/Collection<Lorg/graalvm/polyglot/tck/Snippet;>;
            2   29     3      fnc  Lorg/graalvm/polyglot/Value;
            3   29     4      opb  Lorg/graalvm/polyglot/tck/Snippet$Builder;
    Signature: (Lorg/graalvm/polyglot/Context;)Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;
    MethodParameters:
         Name  Flags
      context  

  public java.util.Collection<? extends org.graalvm.polyglot.tck.Snippet> createStatements(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=3, args_size=2
        start local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
        start local 1 // org.graalvm.polyglot.Context context
         0: .line 202
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* res */
        start local 2 // java.util.Collection res
         1: .line 203
            aload 2 /* res */
            aload 1 /* context */
            ldc "if"
            ldc "iffnc"
            ldc "if ({1}) '{'\n{0}=1;\n'}' else '{'\n{0}=0;\n'}'"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            iconst_1
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createStatement:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         2: .line 204
            aload 2 /* res */
            aload 1 /* context */
            ldc "while"
            ldc "whilefnc"
            ldc "while ({1}) '{'break;\n'}'"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            iconst_1
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createStatement:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         3: .line 205
            aload 2 /* res */
            aload 1 /* context */
            ldc "assign"
            ldc "assignfnc"
            ldc "{1} = {0};"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            iconst_1
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createStatement:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         4: .line 208
            aload 2 /* res */
            aload 1 /* context */
            ldc "getSize"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            iconst_1
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ARRAY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBuiltin:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         5: .line 209
            aload 2 /* res */
            aload 1 /* context */
            ldc "hasSize"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            iconst_1
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBuiltin:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         6: .line 210
            aload 2 /* res */
            aload 1 /* context */
            ldc "isExecutable"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            iconst_1
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBuiltin:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         7: .line 211
            aload 2 /* res */
            aload 1 /* context */
            ldc "isNull"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            iconst_1
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBuiltin:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         8: .line 213
            aload 2 /* res */
            aload 1 /* context */
            ldc "isInstance"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            iconst_2
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
         9: .line 214
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.META_OBJECT:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            dup
            iconst_1
        10: .line 215
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
        11: .line 213
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBuiltin:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        12: .line 216
            aload 2 /* res */
            aload 1 /* context */
            ldc "typeOf"
            iconst_2
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.META_OBJECT:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
            dup
            iconst_1
        13: .line 217
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NULL:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
        14: .line 216
            invokestatic org.graalvm.polyglot.tck.TypeDescriptor.union:([Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/TypeDescriptor;
            iconst_1
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
        15: .line 217
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.ANY:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aastore
        16: .line 216
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createBuiltin:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        17: .line 219
            aload 2 /* res */
            areturn
        end local 2 // java.util.Collection res
        end local 1 // org.graalvm.polyglot.Context context
        end local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lcom/oracle/truffle/sl/tck/SLTCKLanguageProvider;
            0   18     1  context  Lorg/graalvm/polyglot/Context;
            1   18     2      res  Ljava/util/Collection<Lorg/graalvm/polyglot/tck/Snippet;>;
    Signature: (Lorg/graalvm/polyglot/Context;)Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;
    MethodParameters:
         Name  Flags
      context  

  public java.util.Collection<? extends org.graalvm.polyglot.tck.Snippet> createScripts(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
        start local 1 // org.graalvm.polyglot.Context context
         0: .line 224
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* res */
        start local 2 // java.util.Collection res
         1: .line 225
            aload 2 /* res */
            aload 1 /* context */
            ldc "resources/Ackermann.sl"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NULL:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aconst_null
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.loadScript:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/ResultVerifier;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         2: .line 226
            aload 2 /* res */
            aload 1 /* context */
            ldc "resources/Fibonacci.sl"
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NULL:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aconst_null
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.loadScript:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/ResultVerifier;)Lorg/graalvm/polyglot/tck/Snippet;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         3: .line 227
            aload 2 /* res */
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 2 // java.util.Collection res
        end local 1 // org.graalvm.polyglot.Context context
        end local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/truffle/sl/tck/SLTCKLanguageProvider;
            0    4     1  context  Lorg/graalvm/polyglot/Context;
            1    4     2      res  Ljava/util/Collection<Lorg/graalvm/polyglot/tck/Snippet;>;
    Signature: (Lorg/graalvm/polyglot/Context;)Ljava/util/Collection<+Lorg/graalvm/polyglot/tck/Snippet;>;
    MethodParameters:
         Name  Flags
      context  

  public java.util.Collection<? extends org.graalvm.polyglot.Source> createInvalidSyntaxScripts(org.graalvm.polyglot.Context);
    descriptor: (Lorg/graalvm/polyglot/Context;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
        start local 1 // org.graalvm.polyglot.Context context
         0: .line 233
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* res */
        start local 2 // java.util.Collection res
         1: .line 234
            aload 2 /* res */
            ldc "resources/InvalidSyntax01.sl"
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createSource:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         2: .line 235
            aload 2 /* res */
            ldc "resources/InvalidSyntax02.sl"
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createSource:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         3: .line 236
            aload 2 /* res */
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
         4: areturn
        end local 2 // java.util.Collection res
         5: .line 237
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         6: .line 238
            new java.lang.AssertionError
            dup
            ldc "IOException while creating a test script."
            aload 2 /* ioe */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException ioe
        end local 1 // org.graalvm.polyglot.Context context
        end local 0 // com.oracle.truffle.sl.tck.SLTCKLanguageProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/oracle/truffle/sl/tck/SLTCKLanguageProvider;
            0    7     1  context  Lorg/graalvm/polyglot/Context;
            1    5     2      res  Ljava/util/Collection<Lorg/graalvm/polyglot/Source;>;
            6    7     2      ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.io.IOException
    Signature: (Lorg/graalvm/polyglot/Context;)Ljava/util/Collection<+Lorg/graalvm/polyglot/Source;>;
    MethodParameters:
         Name  Flags
      context  

  private static org.graalvm.polyglot.tck.Snippet createValueConstructor(org.graalvm.polyglot.Context, java.lang.String, java.lang.String, java.lang.String, org.graalvm.polyglot.tck.TypeDescriptor);
    descriptor: (Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.graalvm.polyglot.Context context
        start local 1 // java.lang.String value
        start local 2 // java.lang.String id
        start local 3 // java.lang.String functionName
        start local 4 // org.graalvm.polyglot.tck.TypeDescriptor type
         0: .line 249
            aload 2 /* id */
         1: .line 250
            aload 0 /* context */
            ldc "function %s() {return %s;}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* functionName */
            aastore
            dup
            iconst_1
            aload 1 /* value */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 3 /* functionName */
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.eval:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
         2: .line 251
            aload 4 /* type */
         3: .line 248
            invokestatic org.graalvm.polyglot.tck.Snippet.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            astore 5 /* opb */
        start local 5 // org.graalvm.polyglot.tck.Snippet$Builder opb
         4: .line 252
            aload 5 /* opb */
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            areturn
        end local 5 // org.graalvm.polyglot.tck.Snippet$Builder opb
        end local 4 // org.graalvm.polyglot.tck.TypeDescriptor type
        end local 3 // java.lang.String functionName
        end local 2 // java.lang.String id
        end local 1 // java.lang.String value
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0       context  Lorg/graalvm/polyglot/Context;
            0    5     1         value  Ljava/lang/String;
            0    5     2            id  Ljava/lang/String;
            0    5     3  functionName  Ljava/lang/String;
            0    5     4          type  Lorg/graalvm/polyglot/tck/TypeDescriptor;
            4    5     5           opb  Lorg/graalvm/polyglot/tck/Snippet$Builder;
    MethodParameters:
              Name  Flags
      context       final
      value         final
      id            final
      functionName  final
      type          final

  private static org.graalvm.polyglot.tck.Snippet$Builder createBinaryOperator(org.graalvm.polyglot.Context, java.lang.String, java.lang.String, org.graalvm.polyglot.tck.TypeDescriptor, org.graalvm.polyglot.tck.TypeDescriptor, org.graalvm.polyglot.tck.TypeDescriptor);
    descriptor: (Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // org.graalvm.polyglot.Context context
        start local 1 // java.lang.String operator
        start local 2 // java.lang.String functionName
        start local 3 // org.graalvm.polyglot.tck.TypeDescriptor type
        start local 4 // org.graalvm.polyglot.tck.TypeDescriptor ltype
        start local 5 // org.graalvm.polyglot.tck.TypeDescriptor rtype
         0: .line 262
            aload 0 /* context */
            ldc "function %s(a,b) {return a %s b;}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* functionName */
            aastore
            dup
            iconst_1
            aload 1 /* operator */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 2 /* functionName */
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.eval:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 6 /* fnc */
        start local 6 // org.graalvm.polyglot.Value fnc
         1: .line 263
            aload 1 /* operator */
            aload 6 /* fnc */
            aload 3 /* type */
            invokestatic org.graalvm.polyglot.tck.Snippet.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            iconst_2
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            aload 4 /* ltype */
            aastore
            dup
            iconst_1
            aload 5 /* rtype */
            aastore
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.parameterTypes:([Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            areturn
        end local 6 // org.graalvm.polyglot.Value fnc
        end local 5 // org.graalvm.polyglot.tck.TypeDescriptor rtype
        end local 4 // org.graalvm.polyglot.tck.TypeDescriptor ltype
        end local 3 // org.graalvm.polyglot.tck.TypeDescriptor type
        end local 2 // java.lang.String functionName
        end local 1 // java.lang.String operator
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0       context  Lorg/graalvm/polyglot/Context;
            0    2     1      operator  Ljava/lang/String;
            0    2     2  functionName  Ljava/lang/String;
            0    2     3          type  Lorg/graalvm/polyglot/tck/TypeDescriptor;
            0    2     4         ltype  Lorg/graalvm/polyglot/tck/TypeDescriptor;
            0    2     5         rtype  Lorg/graalvm/polyglot/tck/TypeDescriptor;
            1    2     6           fnc  Lorg/graalvm/polyglot/Value;
    MethodParameters:
              Name  Flags
      context       final
      operator      final
      functionName  final
      type          final
      ltype         final
      rtype         final

  private static org.graalvm.polyglot.tck.Snippet$Builder createPostfixOperator(org.graalvm.polyglot.Context, java.lang.String, java.lang.String, org.graalvm.polyglot.tck.TypeDescriptor, org.graalvm.polyglot.tck.TypeDescriptor);
    descriptor: (Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.graalvm.polyglot.Context context
        start local 1 // java.lang.String operator
        start local 2 // java.lang.String functionName
        start local 3 // org.graalvm.polyglot.tck.TypeDescriptor type
        start local 4 // org.graalvm.polyglot.tck.TypeDescriptor ltype
         0: .line 272
            aload 0 /* context */
            ldc "function %s(a) {a %s;}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* functionName */
            aastore
            dup
            iconst_1
            aload 1 /* operator */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 2 /* functionName */
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.eval:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 5 /* fnc */
        start local 5 // org.graalvm.polyglot.Value fnc
         1: .line 273
            aload 1 /* operator */
            aload 5 /* fnc */
            aload 3 /* type */
            invokestatic org.graalvm.polyglot.tck.Snippet.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            iconst_1
            anewarray org.graalvm.polyglot.tck.TypeDescriptor
            dup
            iconst_0
            aload 4 /* ltype */
            aastore
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.parameterTypes:([Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            areturn
        end local 5 // org.graalvm.polyglot.Value fnc
        end local 4 // org.graalvm.polyglot.tck.TypeDescriptor ltype
        end local 3 // org.graalvm.polyglot.tck.TypeDescriptor type
        end local 2 // java.lang.String functionName
        end local 1 // java.lang.String operator
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0       context  Lorg/graalvm/polyglot/Context;
            0    2     1      operator  Ljava/lang/String;
            0    2     2  functionName  Ljava/lang/String;
            0    2     3          type  Lorg/graalvm/polyglot/tck/TypeDescriptor;
            0    2     4         ltype  Lorg/graalvm/polyglot/tck/TypeDescriptor;
            1    2     5           fnc  Lorg/graalvm/polyglot/Value;
    MethodParameters:
              Name  Flags
      context       final
      operator      final
      functionName  final
      type          final
      ltype         final

  private static org.graalvm.polyglot.tck.Snippet createStatement(org.graalvm.polyglot.Context, java.lang.String, java.lang.String, java.lang.String, org.graalvm.polyglot.tck.TypeDescriptor, org.graalvm.polyglot.tck.TypeDescriptor[]);
    descriptor: (Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // org.graalvm.polyglot.Context context
        start local 1 // java.lang.String id
        start local 2 // java.lang.String functionName
        start local 3 // java.lang.String expression
        start local 4 // org.graalvm.polyglot.tck.TypeDescriptor returnType
        start local 5 // org.graalvm.polyglot.tck.TypeDescriptor[] paramTypes
         0: .line 283
            aload 5 /* paramTypes */
            arraylength
            iconst_1
            iadd
            anewarray java.lang.String
            astore 6 /* formalParams */
        start local 6 // java.lang.Object[] formalParams
         1: .line 284
            aload 6 /* formalParams */
            iconst_0
            ldc "r"
            aastore
         2: .line 285
            iconst_1
            istore 7 /* i */
        start local 7 // int i
         3: goto 6
         4: .line 286
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 6 /* formalParams */
            iload 7 /* i */
            new java.lang.StringBuilder
            dup
            ldc "p"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
         5: .line 285
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 7 /* i */
            aload 6 /* formalParams */
            arraylength
            if_icmplt 4
        end local 7 // int i
         7: .line 288
            aload 3 /* expression */
            aload 6 /* formalParams */
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 7 /* formattedExpression */
        start local 7 // java.lang.String formattedExpression
         8: .line 289
            aload 0 /* context */
         9: .line 290
            getstatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.PATTERN_STATEMENTS:[Ljava/lang/String;
            aload 5 /* paramTypes */
            arraylength
            aaload
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* functionName */
            aastore
            dup
            iconst_1
            aload 7 /* formattedExpression */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        10: .line 291
            aload 2 /* functionName */
        11: .line 289
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.eval:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 8 /* fnc */
        start local 8 // org.graalvm.polyglot.Value fnc
        12: .line 292
            aload 1 /* id */
            aload 8 /* fnc */
            aload 4 /* returnType */
            invokestatic org.graalvm.polyglot.tck.Snippet.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            aload 5 /* paramTypes */
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.parameterTypes:([Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            areturn
        end local 8 // org.graalvm.polyglot.Value fnc
        end local 7 // java.lang.String formattedExpression
        end local 6 // java.lang.Object[] formalParams
        end local 5 // org.graalvm.polyglot.tck.TypeDescriptor[] paramTypes
        end local 4 // org.graalvm.polyglot.tck.TypeDescriptor returnType
        end local 3 // java.lang.String expression
        end local 2 // java.lang.String functionName
        end local 1 // java.lang.String id
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   13     0              context  Lorg/graalvm/polyglot/Context;
            0   13     1                   id  Ljava/lang/String;
            0   13     2         functionName  Ljava/lang/String;
            0   13     3           expression  Ljava/lang/String;
            0   13     4           returnType  Lorg/graalvm/polyglot/tck/TypeDescriptor;
            0   13     5           paramTypes  [Lorg/graalvm/polyglot/tck/TypeDescriptor;
            1   13     6         formalParams  [Ljava/lang/Object;
            3    7     7                    i  I
            8   13     7  formattedExpression  Ljava/lang/String;
           12   13     8                  fnc  Lorg/graalvm/polyglot/Value;
    MethodParameters:
              Name  Flags
      context       final
      id            final
      functionName  final
      expression    final
      returnType    final
      paramTypes    

  private static org.graalvm.polyglot.tck.Snippet createBuiltin(org.graalvm.polyglot.Context, java.lang.String, org.graalvm.polyglot.tck.TypeDescriptor, org.graalvm.polyglot.tck.TypeDescriptor[]);
    descriptor: (Lorg/graalvm/polyglot/Context;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;[Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.graalvm.polyglot.Context context
        start local 1 // java.lang.String builtinName
        start local 2 // org.graalvm.polyglot.tck.TypeDescriptor returnType
        start local 3 // org.graalvm.polyglot.tck.TypeDescriptor[] paramTypes
         0: .line 302
            aload 3 /* paramTypes */
            arraylength
            tableswitch { // 0 - 2
                    0: 1
                    1: 3
                    2: 5
              default: 7
          }
         1: .line 304
      StackMap locals:
      StackMap stack:
            ldc "function %sBuiltin0() {return %s();}"
            astore 4 /* pattern */
        start local 4 // java.lang.String pattern
         2: .line 305
            goto 8
        end local 4 // java.lang.String pattern
         3: .line 307
      StackMap locals:
      StackMap stack:
            ldc "function %sBuiltin1(a) {return %s(a);}"
            astore 4 /* pattern */
        start local 4 // java.lang.String pattern
         4: .line 308
            goto 8
        end local 4 // java.lang.String pattern
         5: .line 310
      StackMap locals:
      StackMap stack:
            ldc "function %sBuiltin2(a, b) {return %s(a, b);}"
            astore 4 /* pattern */
        start local 4 // java.lang.String pattern
         6: .line 311
            goto 8
        end local 4 // java.lang.String pattern
         7: .line 313
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        start local 4 // java.lang.String pattern
         8: .line 316
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* pattern */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* builtinName */
            aastore
            dup
            iconst_1
            aload 1 /* builtinName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* formattedExpression */
        start local 5 // java.lang.String formattedExpression
         9: .line 317
            aload 0 /* context */
            aload 5 /* formattedExpression */
            aload 1 /* builtinName */
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.eval:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
            astore 6 /* fnc */
        start local 6 // org.graalvm.polyglot.Value fnc
        10: .line 318
            aload 1 /* builtinName */
            aload 6 /* fnc */
            aload 2 /* returnType */
            invokestatic org.graalvm.polyglot.tck.Snippet.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            aload 3 /* paramTypes */
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.parameterTypes:([Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
            areturn
        end local 6 // org.graalvm.polyglot.Value fnc
        end local 5 // java.lang.String formattedExpression
        end local 4 // java.lang.String pattern
        end local 3 // org.graalvm.polyglot.tck.TypeDescriptor[] paramTypes
        end local 2 // org.graalvm.polyglot.tck.TypeDescriptor returnType
        end local 1 // java.lang.String builtinName
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0              context  Lorg/graalvm/polyglot/Context;
            0   11     1          builtinName  Ljava/lang/String;
            0   11     2           returnType  Lorg/graalvm/polyglot/tck/TypeDescriptor;
            0   11     3           paramTypes  [Lorg/graalvm/polyglot/tck/TypeDescriptor;
            2    3     4              pattern  Ljava/lang/String;
            4    5     4              pattern  Ljava/lang/String;
            6    7     4              pattern  Ljava/lang/String;
            8   11     4              pattern  Ljava/lang/String;
            9   11     5  formattedExpression  Ljava/lang/String;
           10   11     6                  fnc  Lorg/graalvm/polyglot/Value;
    MethodParameters:
             Name  Flags
      context      final
      builtinName  final
      returnType   final
      paramTypes   

  private static org.graalvm.polyglot.tck.Snippet loadScript(org.graalvm.polyglot.Context, java.lang.String, org.graalvm.polyglot.tck.TypeDescriptor, org.graalvm.polyglot.tck.ResultVerifier);
    descriptor: (Lorg/graalvm/polyglot/Context;Ljava/lang/String;Lorg/graalvm/polyglot/tck/TypeDescriptor;Lorg/graalvm/polyglot/tck/ResultVerifier;)Lorg/graalvm/polyglot/tck/Snippet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.graalvm.polyglot.Context context
        start local 1 // java.lang.String resourceName
        start local 2 // org.graalvm.polyglot.tck.TypeDescriptor type
        start local 3 // org.graalvm.polyglot.tck.ResultVerifier verifier
         0: .line 327
            aload 1 /* resourceName */
            invokestatic com.oracle.truffle.sl.tck.SLTCKLanguageProvider.createSource:(Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
            astore 4 /* src */
        start local 4 // org.graalvm.polyglot.Source src
         1: .line 328
            aload 4 /* src */
            invokevirtual org.graalvm.polyglot.Source.getName:()Ljava/lang/String;
            aload 0 /* context */
            aload 4 /* src */
            invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
            aload 2 /* type */
            invokestatic org.graalvm.polyglot.tck.Snippet.newBuilder:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            aload 3 /* verifier */
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.resultVerifier:(Lorg/graalvm/polyglot/tck/ResultVerifier;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
            invokevirtual org.graalvm.polyglot.tck.Snippet$Builder.build:()Lorg/graalvm/polyglot/tck/Snippet;
         2: areturn
        end local 4 // org.graalvm.polyglot.Source src
         3: .line 329
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* ioe */
        start local 4 // java.io.IOException ioe
         4: .line 330
            new java.lang.AssertionError
            dup
            ldc "IOException while creating a test script."
            aload 4 /* ioe */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ioe
        end local 3 // org.graalvm.polyglot.tck.ResultVerifier verifier
        end local 2 // org.graalvm.polyglot.tck.TypeDescriptor type
        end local 1 // java.lang.String resourceName
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0       context  Lorg/graalvm/polyglot/Context;
            0    5     1  resourceName  Ljava/lang/String;
            0    5     2          type  Lorg/graalvm/polyglot/tck/TypeDescriptor;
            0    5     3      verifier  Lorg/graalvm/polyglot/tck/ResultVerifier;
            1    3     4           src  Lorg/graalvm/polyglot/Source;
            4    5     4           ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException
    MethodParameters:
              Name  Flags
      context       final
      resourceName  final
      type          final
      verifier      final

  private static org.graalvm.polyglot.Source createSource(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.String resourceName
         0: .line 335
            aload 0 /* resourceName */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* slashIndex */
        start local 1 // int slashIndex
         1: .line 336
            iload 1 /* slashIndex */
            iflt 2
            aload 0 /* resourceName */
            iload 1 /* slashIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* resourceName */
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 2 /* scriptName */
        start local 2 // java.lang.String scriptName
         4: .line 337
            aconst_null
            astore 3
            aconst_null
            astore 4
         5: new java.io.InputStreamReader
            dup
            ldc Lcom/oracle/truffle/sl/tck/SLTCKLanguageProvider;
            aload 0 /* resourceName */
            invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            ldc "UTF-8"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            astore 5 /* in */
        start local 5 // java.io.Reader in
         6: .line 338
            ldc "sl"
            aload 5 /* in */
            aload 2 /* scriptName */
            invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/io/Reader;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
            invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
         7: .line 339
            aload 5 /* in */
            ifnull 8
            aload 5 /* in */
            invokevirtual java.io.Reader.close:()V
         8: .line 338
      StackMap locals: java.lang.String int java.lang.String java.lang.Throwable java.lang.Throwable java.io.Reader
      StackMap stack: org.graalvm.polyglot.Source
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3
        10: .line 339
            aload 5 /* in */
            ifnull 11
            aload 5 /* in */
            invokevirtual java.io.Reader.close:()V
        end local 5 // java.io.Reader in
      StackMap locals:
      StackMap stack:
        11: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 4
            aload 3
            ifnonnull 13
            aload 4
            astore 3
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3
            aload 4
            if_acmpeq 14
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
        end local 2 // java.lang.String scriptName
        end local 1 // int slashIndex
        end local 0 // java.lang.String resourceName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0  resourceName  Ljava/lang/String;
            1   15     1    slashIndex  I
            4   15     2    scriptName  Ljava/lang/String;
            6   11     5            in  Ljava/io/Reader;
      Exception table:
        from    to  target  type
           6     7       9  any
           5     8      12  any
           9    12      12  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      resourceName  final

  private static org.graalvm.polyglot.Value eval(org.graalvm.polyglot.Context, java.lang.String, java.lang.String);
    descriptor: (Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // org.graalvm.polyglot.Context context
        start local 1 // java.lang.String fncDecl
        start local 2 // java.lang.String functionName
         0: .line 343
            aload 0 /* context */
            ldc "sl"
         1: .line 344
            new java.lang.StringBuilder
            dup
            aload 1 /* fncDecl */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 345
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 346
            ldc "function main() {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 347
            ldc "  return %s;\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* functionName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 348
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 344
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 343
            invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 2 // java.lang.String functionName
        end local 1 // java.lang.String fncDecl
        end local 0 // org.graalvm.polyglot.Context context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0       context  Lorg/graalvm/polyglot/Context;
            0    8     1       fncDecl  Ljava/lang/String;
            0    8     2  functionName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      context       final
      fncDecl       final
      functionName  final

  private static void lambda$0(org.graalvm.polyglot.tck.ResultVerifier$SnippetRun);
    descriptor: (Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.graalvm.polyglot.tck.ResultVerifier$SnippetRun snippetRun
         0: .line 152
            aload 0 /* 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 1 /* dividend */
        start local 1 // org.graalvm.polyglot.Value dividend
         1: .line 153
            aload 0 /* snippetRun */
            invokevirtual org.graalvm.polyglot.tck.ResultVerifier$SnippetRun.getParameters:()Ljava/util/List;
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Value
            astore 2 /* divider */
        start local 2 // org.graalvm.polyglot.Value divider
         2: .line 154
            aload 0 /* snippetRun */
            invokevirtual org.graalvm.polyglot.tck.ResultVerifier$SnippetRun.getException:()Lorg/graalvm/polyglot/PolyglotException;
            astore 3 /* exception */
        start local 3 // org.graalvm.polyglot.PolyglotException exception
         3: .line 155
            aload 1 /* dividend */
            invokevirtual org.graalvm.polyglot.Value.isNumber:()Z
            ifeq 6
            aload 2 /* divider */
            invokevirtual org.graalvm.polyglot.Value.fitsInDouble:()Z
            ifeq 6
            aload 2 /* divider */
            invokevirtual org.graalvm.polyglot.Value.asDouble:()D
            dconst_0
            dcmpl
            ifne 6
         4: .line 156
            aload 3 /* exception */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         5: .line 157
            goto 9
      StackMap locals: org.graalvm.polyglot.Value org.graalvm.polyglot.Value org.graalvm.polyglot.PolyglotException
      StackMap stack:
         6: aload 3 /* exception */
            ifnull 8
         7: .line 158
            aload 3 /* exception */
            athrow
         8: .line 160
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aload 0 /* snippetRun */
            invokevirtual org.graalvm.polyglot.tck.ResultVerifier$SnippetRun.getResult:()Lorg/graalvm/polyglot/Value;
            invokestatic org.graalvm.polyglot.tck.TypeDescriptor.forValue:(Lorg/graalvm/polyglot/Value;)Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokevirtual org.graalvm.polyglot.tck.TypeDescriptor.isAssignable:(Lorg/graalvm/polyglot/tck/TypeDescriptor;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 3 // org.graalvm.polyglot.PolyglotException exception
        end local 2 // org.graalvm.polyglot.Value divider
        end local 1 // org.graalvm.polyglot.Value dividend
         9: .line 162
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.polyglot.tck.ResultVerifier$SnippetRun snippetRun
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0  snippetRun  Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;
            1    9     1    dividend  Lorg/graalvm/polyglot/Value;
            2    9     2     divider  Lorg/graalvm/polyglot/Value;
            3    9     3   exception  Lorg/graalvm/polyglot/PolyglotException;
    Exceptions:
      throws org.graalvm.polyglot.PolyglotException

  private static void lambda$1(org.graalvm.polyglot.tck.ResultVerifier$SnippetRun);
    descriptor: (Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.graalvm.polyglot.tck.ResultVerifier$SnippetRun snippetRun
         0: .line 170
            aload 0 /* 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 1 /* firstParam */
        start local 1 // org.graalvm.polyglot.Value firstParam
         1: .line 171
            aload 0 /* snippetRun */
            invokevirtual org.graalvm.polyglot.tck.ResultVerifier$SnippetRun.getParameters:()Ljava/util/List;
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Value
            astore 2 /* secondParam */
        start local 2 // org.graalvm.polyglot.Value secondParam
         2: .line 172
            aload 0 /* snippetRun */
            invokevirtual org.graalvm.polyglot.tck.ResultVerifier$SnippetRun.getException:()Lorg/graalvm/polyglot/PolyglotException;
            astore 3 /* exception */
        start local 3 // org.graalvm.polyglot.PolyglotException exception
         3: .line 173
            aload 1 /* firstParam */
            invokevirtual org.graalvm.polyglot.Value.isBoolean:()Z
            ifeq 6
            aload 1 /* firstParam */
            invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
            ifne 6
            aload 2 /* secondParam */
            invokevirtual org.graalvm.polyglot.Value.isBoolean:()Z
            ifne 6
         4: .line 174
            aload 3 /* exception */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         5: .line 175
            goto 9
      StackMap locals: org.graalvm.polyglot.Value org.graalvm.polyglot.Value org.graalvm.polyglot.PolyglotException
      StackMap stack:
         6: aload 3 /* exception */
            ifnull 8
         7: .line 176
            aload 3 /* exception */
            athrow
         8: .line 178
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aload 0 /* snippetRun */
            invokevirtual org.graalvm.polyglot.tck.ResultVerifier$SnippetRun.getResult:()Lorg/graalvm/polyglot/Value;
            invokestatic org.graalvm.polyglot.tck.TypeDescriptor.forValue:(Lorg/graalvm/polyglot/Value;)Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokevirtual org.graalvm.polyglot.tck.TypeDescriptor.isAssignable:(Lorg/graalvm/polyglot/tck/TypeDescriptor;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 3 // org.graalvm.polyglot.PolyglotException exception
        end local 2 // org.graalvm.polyglot.Value secondParam
        end local 1 // org.graalvm.polyglot.Value firstParam
         9: .line 180
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.polyglot.tck.ResultVerifier$SnippetRun snippetRun
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0   snippetRun  Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;
            1    9     1   firstParam  Lorg/graalvm/polyglot/Value;
            2    9     2  secondParam  Lorg/graalvm/polyglot/Value;
            3    9     3    exception  Lorg/graalvm/polyglot/PolyglotException;
    Exceptions:
      throws org.graalvm.polyglot.PolyglotException

  private static void lambda$2(org.graalvm.polyglot.tck.ResultVerifier$SnippetRun);
    descriptor: (Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.graalvm.polyglot.tck.ResultVerifier$SnippetRun snippetRun
         0: .line 182
            aload 0 /* 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 1 /* firstParam */
        start local 1 // org.graalvm.polyglot.Value firstParam
         1: .line 183
            aload 0 /* snippetRun */
            invokevirtual org.graalvm.polyglot.tck.ResultVerifier$SnippetRun.getParameters:()Ljava/util/List;
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.polyglot.Value
            astore 2 /* secondParam */
        start local 2 // org.graalvm.polyglot.Value secondParam
         2: .line 184
            aload 0 /* snippetRun */
            invokevirtual org.graalvm.polyglot.tck.ResultVerifier$SnippetRun.getException:()Lorg/graalvm/polyglot/PolyglotException;
            astore 3 /* exception */
        start local 3 // org.graalvm.polyglot.PolyglotException exception
         3: .line 185
            aload 1 /* firstParam */
            invokevirtual org.graalvm.polyglot.Value.isBoolean:()Z
            ifeq 6
            aload 1 /* firstParam */
            invokevirtual org.graalvm.polyglot.Value.asBoolean:()Z
            ifeq 6
            aload 2 /* secondParam */
            invokevirtual org.graalvm.polyglot.Value.isBoolean:()Z
            ifne 6
         4: .line 186
            aload 3 /* exception */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         5: .line 187
            goto 9
      StackMap locals: org.graalvm.polyglot.Value org.graalvm.polyglot.Value org.graalvm.polyglot.PolyglotException
      StackMap stack:
         6: aload 3 /* exception */
            ifnull 8
         7: .line 188
            aload 3 /* exception */
            athrow
         8: .line 190
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aload 0 /* snippetRun */
            invokevirtual org.graalvm.polyglot.tck.ResultVerifier$SnippetRun.getResult:()Lorg/graalvm/polyglot/Value;
            invokestatic org.graalvm.polyglot.tck.TypeDescriptor.forValue:(Lorg/graalvm/polyglot/Value;)Lorg/graalvm/polyglot/tck/TypeDescriptor;
            invokevirtual org.graalvm.polyglot.tck.TypeDescriptor.isAssignable:(Lorg/graalvm/polyglot/tck/TypeDescriptor;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 3 // org.graalvm.polyglot.PolyglotException exception
        end local 2 // org.graalvm.polyglot.Value secondParam
        end local 1 // org.graalvm.polyglot.Value firstParam
         9: .line 192
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.polyglot.tck.ResultVerifier$SnippetRun snippetRun
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0   snippetRun  Lorg/graalvm/polyglot/tck/ResultVerifier$SnippetRun;
            1    9     1   firstParam  Lorg/graalvm/polyglot/Value;
            2    9     2  secondParam  Lorg/graalvm/polyglot/Value;
            3    9     3    exception  Lorg/graalvm/polyglot/PolyglotException;
    Exceptions:
      throws org.graalvm.polyglot.PolyglotException
}
SourceFile: "SLTCKLanguageProvider.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source
  public final SnippetRun = org.graalvm.polyglot.tck.ResultVerifier$SnippetRun of org.graalvm.polyglot.tck.ResultVerifier
  public final Builder = org.graalvm.polyglot.tck.Snippet$Builder of org.graalvm.polyglot.tck.Snippet