public final class org.graalvm.polyglot.tck.Snippet$Builder
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.polyglot.tck.Snippet$Builder
  super_class: java.lang.Object
{
  private final java.lang.String id;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.polyglot.Value executableValue;
    descriptor: Lorg/graalvm/polyglot/Value;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.graalvm.polyglot.tck.TypeDescriptor executableReturnType;
    descriptor: Lorg/graalvm/polyglot/tck/TypeDescriptor;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<org.graalvm.polyglot.tck.TypeDescriptor> parameterTypes;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/graalvm/polyglot/tck/TypeDescriptor;>;

  private org.graalvm.polyglot.tck.ResultVerifier verifier;
    descriptor: Lorg/graalvm/polyglot/tck/ResultVerifier;
    flags: (0x0002) ACC_PRIVATE

  private void <init>(java.lang.String, org.graalvm.polyglot.Value, org.graalvm.polyglot.tck.TypeDescriptor);
    descriptor: (Ljava/lang/String;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/tck/TypeDescriptor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.graalvm.polyglot.tck.Snippet$Builder this
        start local 1 // java.lang.String id
        start local 2 // org.graalvm.polyglot.Value executableValue
        start local 3 // org.graalvm.polyglot.tck.TypeDescriptor executableReturnType
         0: .line 174
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 178
            aload 1 /* id */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 179
            aload 2 /* executableValue */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 180
            aload 3 /* executableReturnType */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 181
            aload 0 /* this */
            aload 1 /* id */
            putfield org.graalvm.polyglot.tck.Snippet$Builder.id:Ljava/lang/String;
         5: .line 182
            aload 0 /* this */
            aload 2 /* executableValue */
            putfield org.graalvm.polyglot.tck.Snippet$Builder.executableValue:Lorg/graalvm/polyglot/Value;
         6: .line 183
            aload 0 /* this */
            aload 3 /* executableReturnType */
            putfield org.graalvm.polyglot.tck.Snippet$Builder.executableReturnType:Lorg/graalvm/polyglot/tck/TypeDescriptor;
         7: .line 184
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.graalvm.polyglot.tck.Snippet$Builder.parameterTypes:Ljava/util/List;
         8: .line 185
            return
        end local 3 // org.graalvm.polyglot.tck.TypeDescriptor executableReturnType
        end local 2 // org.graalvm.polyglot.Value executableValue
        end local 1 // java.lang.String id
        end local 0 // org.graalvm.polyglot.tck.Snippet$Builder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    9     0                  this  Lorg/graalvm/polyglot/tck/Snippet$Builder;
            0    9     1                    id  Ljava/lang/String;
            0    9     2       executableValue  Lorg/graalvm/polyglot/Value;
            0    9     3  executableReturnType  Lorg/graalvm/polyglot/tck/TypeDescriptor;
    MethodParameters:
                      Name  Flags
      id                    final
      executableValue       final
      executableReturnType  final

  public org.graalvm.polyglot.tck.Snippet$Builder parameterTypes(org.graalvm.polyglot.tck.TypeDescriptor[]);
    descriptor: ([Lorg/graalvm/polyglot/tck/TypeDescriptor;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.tck.Snippet$Builder this
        start local 1 // org.graalvm.polyglot.tck.TypeDescriptor[] parameterTypes
         0: .line 195
            aload 1 /* parameterTypes */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 196
            aload 0 /* this */
            aload 1 /* parameterTypes */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            putfield org.graalvm.polyglot.tck.Snippet$Builder.parameterTypes:Ljava/util/List;
         2: .line 197
            aload 0 /* this */
            areturn
        end local 1 // org.graalvm.polyglot.tck.TypeDescriptor[] parameterTypes
        end local 0 // org.graalvm.polyglot.tck.Snippet$Builder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/graalvm/polyglot/tck/Snippet$Builder;
            0    3     1  parameterTypes  [Lorg/graalvm/polyglot/tck/TypeDescriptor;
    MethodParameters:
                Name  Flags
      parameterTypes  final

  public org.graalvm.polyglot.tck.Snippet$Builder resultVerifier(org.graalvm.polyglot.tck.ResultVerifier);
    descriptor: (Lorg/graalvm/polyglot/tck/ResultVerifier;)Lorg/graalvm/polyglot/tck/Snippet$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.tck.Snippet$Builder this
        start local 1 // org.graalvm.polyglot.tck.ResultVerifier resultVerifier
         0: .line 209
            aload 0 /* this */
            aload 1 /* resultVerifier */
            putfield org.graalvm.polyglot.tck.Snippet$Builder.verifier:Lorg/graalvm/polyglot/tck/ResultVerifier;
         1: .line 210
            aload 0 /* this */
            areturn
        end local 1 // org.graalvm.polyglot.tck.ResultVerifier resultVerifier
        end local 0 // org.graalvm.polyglot.tck.Snippet$Builder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/graalvm/polyglot/tck/Snippet$Builder;
            0    2     1  resultVerifier  Lorg/graalvm/polyglot/tck/ResultVerifier;
    MethodParameters:
                Name  Flags
      resultVerifier  final

  public org.graalvm.polyglot.tck.Snippet build();
    descriptor: ()Lorg/graalvm/polyglot/tck/Snippet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.tck.Snippet$Builder this
         0: .line 220
            new org.graalvm.polyglot.tck.Snippet
            dup
         1: .line 221
            aload 0 /* this */
            getfield org.graalvm.polyglot.tck.Snippet$Builder.id:Ljava/lang/String;
         2: .line 222
            aload 0 /* this */
            getfield org.graalvm.polyglot.tck.Snippet$Builder.executableValue:Lorg/graalvm/polyglot/Value;
         3: .line 223
            aload 0 /* this */
            getfield org.graalvm.polyglot.tck.Snippet$Builder.executableReturnType:Lorg/graalvm/polyglot/tck/TypeDescriptor;
         4: .line 224
            aload 0 /* this */
            getfield org.graalvm.polyglot.tck.Snippet$Builder.parameterTypes:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
         5: .line 225
            aload 0 /* this */
            getfield org.graalvm.polyglot.tck.Snippet$Builder.verifier:Lorg/graalvm/polyglot/tck/ResultVerifier;
            ifnull 6
            aload 0 /* this */
            getfield org.graalvm.polyglot.tck.Snippet$Builder.verifier:Lorg/graalvm/polyglot/tck/ResultVerifier;
            goto 7
      StackMap locals: org.graalvm.polyglot.tck.Snippet$Builder
      StackMap stack: new 0 new 0 java.lang.String org.graalvm.polyglot.Value org.graalvm.polyglot.tck.TypeDescriptor java.util.List
         6: invokestatic org.graalvm.polyglot.tck.ResultVerifier.getDefaultResultVerifier:()Lorg/graalvm/polyglot/tck/ResultVerifier;
         7: .line 220
      StackMap locals: org.graalvm.polyglot.tck.Snippet$Builder
      StackMap stack: new 0 new 0 java.lang.String org.graalvm.polyglot.Value org.graalvm.polyglot.tck.TypeDescriptor java.util.List org.graalvm.polyglot.tck.ResultVerifier
            invokespecial org.graalvm.polyglot.tck.Snippet.<init>:(Ljava/lang/String;Lorg/graalvm/polyglot/Value;Lorg/graalvm/polyglot/tck/TypeDescriptor;Ljava/util/List;Lorg/graalvm/polyglot/tck/ResultVerifier;)V
            areturn
        end local 0 // org.graalvm.polyglot.tck.Snippet$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/graalvm/polyglot/tck/Snippet$Builder;
}
SourceFile: "Snippet.java"
NestHost: org.graalvm.polyglot.tck.Snippet
InnerClasses:
  public final Builder = org.graalvm.polyglot.tck.Snippet$Builder of org.graalvm.polyglot.tck.Snippet