final class com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl implements org.graalvm.polyglot.proxy.ProxyExecutable
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl
  super_class: java.lang.Object
{
  private static final java.util.function.Consumer<? super org.graalvm.polyglot.Value> EMPTY;
    descriptor: Ljava/util/function/Consumer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Consumer<-Lorg/graalvm/polyglot/Value;>;

  private java.util.function.Consumer<? super org.graalvm.polyglot.Value> verifier;
    descriptor: Ljava/util/function/Consumer;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/function/Consumer<-Lorg/graalvm/polyglot/Value;>;

  private final int arity;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 294
            new com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl$1
            dup
            invokespecial com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl$1.<init>:()V
            putstatic com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl.EMPTY:Ljava/util/function/Consumer;
         1: .line 298
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl this
         0: .line 306
            aload 0 /* this */
            getstatic com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl.EMPTY:Ljava/util/function/Consumer;
            iconst_m1
            invokespecial com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl.<init>:(Ljava/util/function/Consumer;I)V
         1: .line 307
            return
        end local 0 // com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/tck/tests/JavaHostLanguageProvider$ProxyExecutableImpl;

  void <init>(com.oracle.truffle.tck.tests.JavaHostLanguageProvider$Primitive, int);
    descriptor: (Lcom/oracle/truffle/tck/tests/JavaHostLanguageProvider$Primitive;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl this
        start local 1 // com.oracle.truffle.tck.tests.JavaHostLanguageProvider$Primitive primitive
        start local 2 // int arity
         0: .line 318
            aload 0 /* this */
            aload 1 /* primitive */
            invokestatic com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl.createVerifier:(Lcom/oracle/truffle/tck/tests/JavaHostLanguageProvider$Primitive;)Ljava/util/function/Consumer;
            iload 2 /* arity */
            invokespecial com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl.<init>:(Ljava/util/function/Consumer;I)V
         1: .line 319
            return
        end local 2 // int arity
        end local 1 // com.oracle.truffle.tck.tests.JavaHostLanguageProvider$Primitive primitive
        end local 0 // com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/tck/tests/JavaHostLanguageProvider$ProxyExecutableImpl;
            0    2     1  primitive  Lcom/oracle/truffle/tck/tests/JavaHostLanguageProvider$Primitive;
            0    2     2      arity  I
    MethodParameters:
           Name  Flags
      primitive  final
      arity      final

  void <init>(java.util.function.Consumer<? super org.graalvm.polyglot.Value>, );
    descriptor: (Ljava/util/function/Consumer;I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl this
        start local 1 // java.util.function.Consumer verifier
        start local 2 // int arity
         0: .line 321
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 324
            aload 1 /* verifier */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 325
            aload 0 /* this */
            aload 1 /* verifier */
            putfield com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl.verifier:Ljava/util/function/Consumer;
         3: .line 326
            aload 0 /* this */
            iload 2 /* arity */
            putfield com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl.arity:I
         4: .line 327
            return
        end local 2 // int arity
        end local 1 // java.util.function.Consumer verifier
        end local 0 // com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/oracle/truffle/tck/tests/JavaHostLanguageProvider$ProxyExecutableImpl;
            0    5     1  verifier  Ljava/util/function/Consumer<-Lorg/graalvm/polyglot/Value;>;
            0    5     2     arity  I
    Signature: (Ljava/util/function/Consumer<-Lorg/graalvm/polyglot/Value;>;I)V
    MethodParameters:
          Name  Flags
      verifier  final
      arity     final

  public java.lang.Object execute(org.graalvm.polyglot.Value[]);
    descriptor: ([Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl this
        start local 1 // org.graalvm.polyglot.Value[] arguments
         0: .line 331
            aload 0 /* this */
            getfield com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl.arity:I
            aload 1 /* arguments */
            arraylength
            if_icmple 2
         1: .line 332
            new java.lang.AssertionError
            dup
            ldc "Not enought arguments, required: %d, given: %d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl.arity:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 1 /* arguments */
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 334
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 335
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl.verifier:Ljava/util/function/Consumer;
            aload 1 /* arguments */
            iload 2 /* i */
            aaload
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
         5: .line 334
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl.arity:I
            if_icmplt 4
        end local 2 // int i
         7: .line 337
            aconst_null
            areturn
        end local 1 // org.graalvm.polyglot.Value[] arguments
        end local 0 // com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/oracle/truffle/tck/tests/JavaHostLanguageProvider$ProxyExecutableImpl;
            0    8     1  arguments  [Lorg/graalvm/polyglot/Value;
            3    7     2          i  I
    MethodParameters:
           Name  Flags
      arguments  

  private static java.util.function.Consumer<? super org.graalvm.polyglot.Value> createVerifier(com.oracle.truffle.tck.tests.JavaHostLanguageProvider$Primitive);
    descriptor: (Lcom/oracle/truffle/tck/tests/JavaHostLanguageProvider$Primitive;)Ljava/util/function/Consumer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.tck.tests.JavaHostLanguageProvider$Primitive primitive
         0: .line 341
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.NUMBER:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aload 0 /* primitive */
            getfield com.oracle.truffle.tck.tests.JavaHostLanguageProvider$Primitive.type:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            if_acmpne 2
         1: .line 342
            new com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl$2
            dup
            invokespecial com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl$2.<init>:()V
            areturn
         2: .line 365
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aload 0 /* primitive */
            getfield com.oracle.truffle.tck.tests.JavaHostLanguageProvider$Primitive.type:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            if_acmpne 4
         3: .line 366
            new com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl$3
            dup
            invokespecial com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl$3.<init>:()V
            areturn
         4: .line 372
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.polyglot.tck.TypeDescriptor.STRING:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            aload 0 /* primitive */
            getfield com.oracle.truffle.tck.tests.JavaHostLanguageProvider$Primitive.type:Lorg/graalvm/polyglot/tck/TypeDescriptor;
            if_acmpne 6
         5: .line 373
            new com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl$4
            dup
            invokespecial com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl$4.<init>:()V
            areturn
         6: .line 380
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl.EMPTY:Ljava/util/function/Consumer;
            areturn
        end local 0 // com.oracle.truffle.tck.tests.JavaHostLanguageProvider$Primitive primitive
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  primitive  Lcom/oracle/truffle/tck/tests/JavaHostLanguageProvider$Primitive;
    Signature: (Lcom/oracle/truffle/tck/tests/JavaHostLanguageProvider$Primitive;)Ljava/util/function/Consumer<-Lorg/graalvm/polyglot/Value;>;
    MethodParameters:
           Name  Flags
      primitive  final
}
SourceFile: "JavaHostLanguageProvider.java"
NestHost: com.oracle.truffle.tck.tests.JavaHostLanguageProvider
InnerClasses:
  private final Primitive = com.oracle.truffle.tck.tests.JavaHostLanguageProvider$Primitive of com.oracle.truffle.tck.tests.JavaHostLanguageProvider
  private final ProxyExecutableImpl = com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl of com.oracle.truffle.tck.tests.JavaHostLanguageProvider
  com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl$1
  com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl$2
  com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl$3
  com.oracle.truffle.tck.tests.JavaHostLanguageProvider$ProxyExecutableImpl$4