public final class org.graalvm.polyglot.HostAccess$Builder
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.polyglot.HostAccess$Builder
  super_class: java.lang.Object
{
  private org.graalvm.collections.EconomicSet<java.lang.Class<? extends java.lang.annotation.Annotation>> accessAnnotations;
    descriptor: Lorg/graalvm/collections/EconomicSet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;

  private org.graalvm.collections.EconomicSet<java.lang.Class<? extends java.lang.annotation.Annotation>> implementationAnnotations;
    descriptor: Lorg/graalvm/collections/EconomicSet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;

  private org.graalvm.collections.EconomicMap<java.lang.Class<?>, java.lang.Boolean> excludeTypes;
    descriptor: Lorg/graalvm/collections/EconomicMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/graalvm/collections/EconomicMap<Ljava/lang/Class<*>;Ljava/lang/Boolean;>;

  private org.graalvm.collections.EconomicSet<java.lang.Class<?>> implementableTypes;
    descriptor: Lorg/graalvm/collections/EconomicSet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/graalvm/collections/EconomicSet<Ljava/lang/Class<*>;>;

  private org.graalvm.collections.EconomicSet<java.lang.reflect.AnnotatedElement> members;
    descriptor: Lorg/graalvm/collections/EconomicSet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/graalvm/collections/EconomicSet<Ljava/lang/reflect/AnnotatedElement;>;

  private java.util.List<java.lang.Object> targetMappings;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/Object;>;

  private boolean allowPublic;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean allowListAccess;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean allowArrayAccess;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean allowAllImplementations;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean allowAllClassImplementations;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  final org.graalvm.polyglot.HostAccess this$0;
    descriptor: Lorg/graalvm/polyglot/HostAccess;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.graalvm.polyglot.HostAccess);
    descriptor: (Lorg/graalvm/polyglot/HostAccess;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
         0: .line 555
            aload 0 /* this */
            aload 1
            putfield org.graalvm.polyglot.HostAccess$Builder.this$0:Lorg/graalvm/polyglot/HostAccess;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 556
            return
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/polyglot/HostAccess$Builder;
    MethodParameters:
        Name  Flags
      this$0  final

  void <init>(org.graalvm.polyglot.HostAccess, org.graalvm.polyglot.HostAccess);
    descriptor: (Lorg/graalvm/polyglot/HostAccess;Lorg/graalvm/polyglot/HostAccess;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 2 // org.graalvm.polyglot.HostAccess access
         0: .line 558
            aload 0 /* this */
            aload 1
            putfield org.graalvm.polyglot.HostAccess$Builder.this$0:Lorg/graalvm/polyglot/HostAccess;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 559
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.accessAnnotations:Lorg/graalvm/collections/EconomicSet;
            getstatic org.graalvm.collections.Equivalence.IDENTITY:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.polyglot.HostAccess.copySet:(Lorg/graalvm/collections/EconomicSet;Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicSet;
            putfield org.graalvm.polyglot.HostAccess$Builder.accessAnnotations:Lorg/graalvm/collections/EconomicSet;
         2: .line 560
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.excludeTypes:Lorg/graalvm/collections/EconomicMap;
            getstatic org.graalvm.collections.Equivalence.IDENTITY:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.polyglot.HostAccess.copyMap:(Lorg/graalvm/collections/EconomicMap;Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicMap;
            putfield org.graalvm.polyglot.HostAccess$Builder.excludeTypes:Lorg/graalvm/collections/EconomicMap;
         3: .line 561
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.members:Lorg/graalvm/collections/EconomicSet;
            getstatic org.graalvm.collections.Equivalence.DEFAULT:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.polyglot.HostAccess.copySet:(Lorg/graalvm/collections/EconomicSet;Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicSet;
            putfield org.graalvm.polyglot.HostAccess$Builder.members:Lorg/graalvm/collections/EconomicSet;
         4: .line 562
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.implementableAnnotations:Lorg/graalvm/collections/EconomicSet;
            getstatic org.graalvm.collections.Equivalence.IDENTITY:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.polyglot.HostAccess.copySet:(Lorg/graalvm/collections/EconomicSet;Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicSet;
            putfield org.graalvm.polyglot.HostAccess$Builder.implementationAnnotations:Lorg/graalvm/collections/EconomicSet;
         5: .line 563
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.implementableTypes:Lorg/graalvm/collections/EconomicSet;
            getstatic org.graalvm.collections.Equivalence.IDENTITY:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.polyglot.HostAccess.copySet:(Lorg/graalvm/collections/EconomicSet;Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicSet;
            putfield org.graalvm.polyglot.HostAccess$Builder.implementableTypes:Lorg/graalvm/collections/EconomicSet;
         6: .line 564
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.targetMappings:Ljava/util/List;
            ifnull 7
            new java.util.ArrayList
            dup
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.targetMappings:Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            goto 8
      StackMap locals: org.graalvm.polyglot.HostAccess$Builder org.graalvm.polyglot.HostAccess org.graalvm.polyglot.HostAccess
      StackMap stack: org.graalvm.polyglot.HostAccess$Builder
         7: aconst_null
      StackMap locals: org.graalvm.polyglot.HostAccess$Builder org.graalvm.polyglot.HostAccess org.graalvm.polyglot.HostAccess
      StackMap stack: org.graalvm.polyglot.HostAccess$Builder java.util.ArrayList
         8: putfield org.graalvm.polyglot.HostAccess$Builder.targetMappings:Ljava/util/List;
         9: .line 565
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.excludeTypes:Lorg/graalvm/collections/EconomicMap;
            putfield org.graalvm.polyglot.HostAccess$Builder.excludeTypes:Lorg/graalvm/collections/EconomicMap;
        10: .line 566
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.members:Lorg/graalvm/collections/EconomicSet;
            putfield org.graalvm.polyglot.HostAccess$Builder.members:Lorg/graalvm/collections/EconomicSet;
        11: .line 567
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.targetMappings:Ljava/util/List;
            putfield org.graalvm.polyglot.HostAccess$Builder.targetMappings:Ljava/util/List;
        12: .line 568
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.allowPublic:Z
            putfield org.graalvm.polyglot.HostAccess$Builder.allowPublic:Z
        13: .line 569
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.allowListAccess:Z
            putfield org.graalvm.polyglot.HostAccess$Builder.allowListAccess:Z
        14: .line 570
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.allowArrayAccess:Z
            putfield org.graalvm.polyglot.HostAccess$Builder.allowArrayAccess:Z
        15: .line 571
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.allowAllInterfaceImplementations:Z
            putfield org.graalvm.polyglot.HostAccess$Builder.allowAllImplementations:Z
        16: .line 572
            aload 0 /* this */
            aload 2 /* access */
            getfield org.graalvm.polyglot.HostAccess.allowAllClassImplementations:Z
            putfield org.graalvm.polyglot.HostAccess$Builder.allowAllClassImplementations:Z
        17: .line 573
            return
        end local 2 // org.graalvm.polyglot.HostAccess access
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0   18     2  access  Lorg/graalvm/polyglot/HostAccess;
    MethodParameters:
        Name  Flags
      this$0  final
      access  

  public org.graalvm.polyglot.HostAccess$Builder allowAccessAnnotatedBy(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // java.lang.Class annotation
         0: .line 582
            aload 1 /* annotation */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 583
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.accessAnnotations:Lorg/graalvm/collections/EconomicSet;
            ifnonnull 3
         2: .line 584
            aload 0 /* this */
            getstatic org.graalvm.collections.Equivalence.IDENTITY:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.collections.EconomicSet.create:(Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicSet;
            putfield org.graalvm.polyglot.HostAccess$Builder.accessAnnotations:Lorg/graalvm/collections/EconomicSet;
         3: .line 586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.accessAnnotations:Lorg/graalvm/collections/EconomicSet;
            aload 1 /* annotation */
            invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
         4: .line 587
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Class annotation
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    5     1  annotation  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Lorg/graalvm/polyglot/HostAccess$Builder;
    MethodParameters:
            Name  Flags
      annotation  

  public org.graalvm.polyglot.HostAccess$Builder allowPublicAccess(boolean);
    descriptor: (Z)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // boolean allow
         0: .line 599
            aload 0 /* this */
            iload 1 /* allow */
            putfield org.graalvm.polyglot.HostAccess$Builder.allowPublic:Z
         1: .line 600
            aload 0 /* this */
            areturn
        end local 1 // boolean allow
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    2     1  allow  Z
    MethodParameters:
       Name  Flags
      allow  

  public org.graalvm.polyglot.HostAccess$Builder allowAccess(java.lang.reflect.Executable);
    descriptor: (Ljava/lang/reflect/Executable;)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // java.lang.reflect.Executable element
         0: .line 610
            aload 1 /* element */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 611
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.members:Lorg/graalvm/collections/EconomicSet;
            ifnonnull 3
         2: .line 612
            aload 0 /* this */
            invokestatic org.graalvm.collections.EconomicSet.create:()Lorg/graalvm/collections/EconomicSet;
            putfield org.graalvm.polyglot.HostAccess$Builder.members:Lorg/graalvm/collections/EconomicSet;
         3: .line 614
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.members:Lorg/graalvm/collections/EconomicSet;
            aload 1 /* element */
            invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
         4: .line 615
            aload 0 /* this */
            areturn
        end local 1 // java.lang.reflect.Executable element
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    5     1  element  Ljava/lang/reflect/Executable;
    MethodParameters:
         Name  Flags
      element  

  public org.graalvm.polyglot.HostAccess$Builder allowAccess(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // java.lang.reflect.Field element
         0: .line 625
            aload 1 /* element */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 626
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.members:Lorg/graalvm/collections/EconomicSet;
            ifnonnull 3
         2: .line 627
            aload 0 /* this */
            invokestatic org.graalvm.collections.EconomicSet.create:()Lorg/graalvm/collections/EconomicSet;
            putfield org.graalvm.polyglot.HostAccess$Builder.members:Lorg/graalvm/collections/EconomicSet;
         3: .line 629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.members:Lorg/graalvm/collections/EconomicSet;
            aload 1 /* element */
            invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
         4: .line 630
            aload 0 /* this */
            areturn
        end local 1 // java.lang.reflect.Field element
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    5     1  element  Ljava/lang/reflect/Field;
    MethodParameters:
         Name  Flags
      element  

  public org.graalvm.polyglot.HostAccess$Builder denyAccess(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // java.lang.Class clazz
         0: .line 641
            aload 0 /* this */
            aload 1 /* clazz */
            iconst_1
            invokevirtual org.graalvm.polyglot.HostAccess$Builder.denyAccess:(Ljava/lang/Class;Z)Lorg/graalvm/polyglot/HostAccess$Builder;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    1     1  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Lorg/graalvm/polyglot/HostAccess$Builder;
    MethodParameters:
       Name  Flags
      clazz  

  public org.graalvm.polyglot.HostAccess$Builder denyAccess(java.lang.Class<?>, boolean);
    descriptor: (Ljava/lang/Class;Z)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // java.lang.Class clazz
        start local 2 // boolean includeSubclasses
         0: .line 653
            aload 1 /* clazz */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 654
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.excludeTypes:Lorg/graalvm/collections/EconomicMap;
            ifnonnull 3
         2: .line 655
            aload 0 /* this */
            getstatic org.graalvm.collections.Equivalence.IDENTITY:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.collections.EconomicMap.create:(Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicMap;
            putfield org.graalvm.polyglot.HostAccess$Builder.excludeTypes:Lorg/graalvm/collections/EconomicMap;
         3: .line 657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.excludeTypes:Lorg/graalvm/collections/EconomicMap;
            aload 1 /* clazz */
            iload 2 /* includeSubclasses */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 658
            aload 0 /* this */
            areturn
        end local 2 // boolean includeSubclasses
        end local 1 // java.lang.Class clazz
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    5     1              clazz  Ljava/lang/Class<*>;
            0    5     2  includeSubclasses  Z
    Signature: (Ljava/lang/Class<*>;Z)Lorg/graalvm/polyglot/HostAccess$Builder;
    MethodParameters:
                   Name  Flags
      clazz              
      includeSubclasses  

  public org.graalvm.polyglot.HostAccess$Builder allowAllImplementations(boolean);
    descriptor: (Z)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // boolean allow
         0: .line 674
            aload 0 /* this */
            iload 1 /* allow */
            putfield org.graalvm.polyglot.HostAccess$Builder.allowAllImplementations:Z
         1: .line 675
            aload 0 /* this */
            areturn
        end local 1 // boolean allow
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    2     1  allow  Z
    MethodParameters:
       Name  Flags
      allow  

  public org.graalvm.polyglot.HostAccess$Builder allowAllClassImplementations(boolean);
    descriptor: (Z)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // boolean allow
         0: .line 693
            aload 0 /* this */
            iload 1 /* allow */
            putfield org.graalvm.polyglot.HostAccess$Builder.allowAllClassImplementations:Z
         1: .line 694
            aload 0 /* this */
            areturn
        end local 1 // boolean allow
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    2     1  allow  Z
    MethodParameters:
       Name  Flags
      allow  

  public org.graalvm.polyglot.HostAccess$Builder allowImplementationsAnnotatedBy(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // java.lang.Class annotation
         0: .line 712
            aload 1 /* annotation */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 713
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.implementationAnnotations:Lorg/graalvm/collections/EconomicSet;
            ifnonnull 3
         2: .line 714
            aload 0 /* this */
            getstatic org.graalvm.collections.Equivalence.IDENTITY:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.collections.EconomicSet.create:(Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicSet;
            putfield org.graalvm.polyglot.HostAccess$Builder.implementationAnnotations:Lorg/graalvm/collections/EconomicSet;
         3: .line 716
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.implementationAnnotations:Lorg/graalvm/collections/EconomicSet;
            aload 1 /* annotation */
            invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
         4: .line 717
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Class annotation
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    5     1  annotation  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Lorg/graalvm/polyglot/HostAccess$Builder;
    MethodParameters:
            Name  Flags
      annotation  

  public org.graalvm.polyglot.HostAccess$Builder allowImplementations(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // java.lang.Class type
         0: .line 733
            aload 1 /* type */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 734
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.implementableTypes:Lorg/graalvm/collections/EconomicSet;
            ifnonnull 3
         2: .line 735
            aload 0 /* this */
            getstatic org.graalvm.collections.Equivalence.IDENTITY:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.collections.EconomicSet.create:(Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicSet;
            putfield org.graalvm.polyglot.HostAccess$Builder.implementableTypes:Lorg/graalvm/collections/EconomicSet;
         3: .line 737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.implementableTypes:Lorg/graalvm/collections/EconomicSet;
            aload 1 /* type */
            invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
         4: .line 738
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Class type
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    5     1  type  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Lorg/graalvm/polyglot/HostAccess$Builder;
    MethodParameters:
      Name  Flags
      type  

  public org.graalvm.polyglot.HostAccess$Builder allowArrayAccess(boolean);
    descriptor: (Z)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // boolean arrayAccess
         0: .line 749
            aload 0 /* this */
            iload 1 /* arrayAccess */
            putfield org.graalvm.polyglot.HostAccess$Builder.allowArrayAccess:Z
         1: .line 750
            aload 0 /* this */
            areturn
        end local 1 // boolean arrayAccess
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    2     1  arrayAccess  Z
    MethodParameters:
             Name  Flags
      arrayAccess  

  public org.graalvm.polyglot.HostAccess$Builder allowListAccess(boolean);
    descriptor: (Z)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // boolean listAccess
         0: .line 761
            aload 0 /* this */
            iload 1 /* listAccess */
            putfield org.graalvm.polyglot.HostAccess$Builder.allowListAccess:Z
         1: .line 762
            aload 0 /* this */
            areturn
        end local 1 // boolean listAccess
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    2     1  listAccess  Z
    MethodParameters:
            Name  Flags
      listAccess  

  public <S, T> org.graalvm.polyglot.HostAccess$Builder targetTypeMapping(java.lang.Class<S>, java.lang.Class<T>, java.util.function.Predicate<S>, java.util.function.Function<S, T>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Predicate;Ljava/util/function/Function;)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // java.lang.Class sourceType
        start local 2 // java.lang.Class targetType
        start local 3 // java.util.function.Predicate accepts
        start local 4 // java.util.function.Function converter
         0: .line 773
            aload 0 /* this */
            aload 1 /* sourceType */
            aload 2 /* targetType */
            aload 3 /* accepts */
            aload 4 /* converter */
            getstatic org.graalvm.polyglot.HostAccess$TargetMappingPrecedence.HIGH:Lorg/graalvm/polyglot/HostAccess$TargetMappingPrecedence;
            invokevirtual org.graalvm.polyglot.HostAccess$Builder.targetTypeMapping:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Predicate;Ljava/util/function/Function;Lorg/graalvm/polyglot/HostAccess$TargetMappingPrecedence;)Lorg/graalvm/polyglot/HostAccess$Builder;
            areturn
        end local 4 // java.util.function.Function converter
        end local 3 // java.util.function.Predicate accepts
        end local 2 // java.lang.Class targetType
        end local 1 // java.lang.Class sourceType
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    1     1  sourceType  Ljava/lang/Class<TS;>;
            0    1     2  targetType  Ljava/lang/Class<TT;>;
            0    1     3     accepts  Ljava/util/function/Predicate<TS;>;
            0    1     4   converter  Ljava/util/function/Function<TS;TT;>;
    Signature: <S:Ljava/lang/Object;T:Ljava/lang/Object;>(Ljava/lang/Class<TS;>;Ljava/lang/Class<TT;>;Ljava/util/function/Predicate<TS;>;Ljava/util/function/Function<TS;TT;>;)Lorg/graalvm/polyglot/HostAccess$Builder;
    MethodParameters:
            Name  Flags
      sourceType  
      targetType  
      accepts     
      converter   

  public <S, T> org.graalvm.polyglot.HostAccess$Builder targetTypeMapping(java.lang.Class<S>, java.lang.Class<T>, java.util.function.Predicate<S>, java.util.function.Function<S, T>, org.graalvm.polyglot.HostAccess$TargetMappingPrecedence);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Predicate;Ljava/util/function/Function;Lorg/graalvm/polyglot/HostAccess$TargetMappingPrecedence;)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // java.lang.Class sourceType
        start local 2 // java.lang.Class targetType
        start local 3 // java.util.function.Predicate accepts
        start local 4 // java.util.function.Function converter
        start local 5 // org.graalvm.polyglot.HostAccess$TargetMappingPrecedence precedence
         0: .line 903
            aload 1 /* sourceType */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 904
            aload 2 /* targetType */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 905
            aload 4 /* converter */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 906
            aload 5 /* precedence */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 907
            aload 2 /* targetType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 6
         5: .line 908
            new java.lang.IllegalArgumentException
            dup
            ldc "Primitive target type is not supported as target mapping. Use boxed primitives instead."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 910
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.targetMappings:Ljava/util/List;
            ifnonnull 8
         7: .line 911
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.graalvm.polyglot.HostAccess$Builder.targetMappings:Ljava/util/List;
         8: .line 913
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.targetMappings:Ljava/util/List;
            invokestatic org.graalvm.polyglot.Engine.getImpl:()Lorg/graalvm/polyglot/impl/AbstractPolyglotImpl;
            aload 1 /* sourceType */
            aload 2 /* targetType */
            aload 3 /* accepts */
            aload 4 /* converter */
            aload 5 /* precedence */
            invokevirtual org.graalvm.polyglot.impl.AbstractPolyglotImpl.newTargetTypeMapping:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Predicate;Ljava/util/function/Function;Lorg/graalvm/polyglot/HostAccess$TargetMappingPrecedence;)Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 914
            aload 0 /* this */
            areturn
        end local 5 // org.graalvm.polyglot.HostAccess$TargetMappingPrecedence precedence
        end local 4 // java.util.function.Function converter
        end local 3 // java.util.function.Predicate accepts
        end local 2 // java.lang.Class targetType
        end local 1 // java.lang.Class sourceType
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0   10     1  sourceType  Ljava/lang/Class<TS;>;
            0   10     2  targetType  Ljava/lang/Class<TT;>;
            0   10     3     accepts  Ljava/util/function/Predicate<TS;>;
            0   10     4   converter  Ljava/util/function/Function<TS;TT;>;
            0   10     5  precedence  Lorg/graalvm/polyglot/HostAccess$TargetMappingPrecedence;
    Signature: <S:Ljava/lang/Object;T:Ljava/lang/Object;>(Ljava/lang/Class<TS;>;Ljava/lang/Class<TT;>;Ljava/util/function/Predicate<TS;>;Ljava/util/function/Function<TS;TT;>;Lorg/graalvm/polyglot/HostAccess$TargetMappingPrecedence;)Lorg/graalvm/polyglot/HostAccess$Builder;
    MethodParameters:
            Name  Flags
      sourceType  
      targetType  
      accepts     
      converter   
      precedence  

  org.graalvm.polyglot.HostAccess$Builder name(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/polyglot/HostAccess$Builder;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
        start local 1 // java.lang.String givenName
         0: .line 918
            aload 0 /* this */
            aload 1 /* givenName */
            putfield org.graalvm.polyglot.HostAccess$Builder.name:Ljava/lang/String;
         1: .line 919
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String givenName
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/polyglot/HostAccess$Builder;
            0    2     1  givenName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      givenName  

  public org.graalvm.polyglot.HostAccess build();
    descriptor: ()Lorg/graalvm/polyglot/HostAccess;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=1, args_size=1
        start local 0 // org.graalvm.polyglot.HostAccess$Builder this
         0: .line 928
            new org.graalvm.polyglot.HostAccess
            dup
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.accessAnnotations:Lorg/graalvm/collections/EconomicSet;
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.excludeTypes:Lorg/graalvm/collections/EconomicMap;
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.members:Lorg/graalvm/collections/EconomicSet;
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.implementationAnnotations:Lorg/graalvm/collections/EconomicSet;
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.implementableTypes:Lorg/graalvm/collections/EconomicSet;
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.targetMappings:Ljava/util/List;
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.name:Ljava/lang/String;
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.allowPublic:Z
         1: .line 929
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.allowAllImplementations:Z
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.allowAllClassImplementations:Z
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.allowArrayAccess:Z
            aload 0 /* this */
            getfield org.graalvm.polyglot.HostAccess$Builder.allowListAccess:Z
         2: .line 928
            invokespecial org.graalvm.polyglot.HostAccess.<init>:(Lorg/graalvm/collections/EconomicSet;Lorg/graalvm/collections/EconomicMap;Lorg/graalvm/collections/EconomicSet;Lorg/graalvm/collections/EconomicSet;Lorg/graalvm/collections/EconomicSet;Ljava/util/List;Ljava/lang/String;ZZZZZ)V
            areturn
        end local 0 // org.graalvm.polyglot.HostAccess$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/polyglot/HostAccess$Builder;
}
SourceFile: "HostAccess.java"
NestHost: org.graalvm.polyglot.HostAccess
InnerClasses:
  public final Builder = org.graalvm.polyglot.HostAccess$Builder of org.graalvm.polyglot.HostAccess
  public final TargetMappingPrecedence = org.graalvm.polyglot.HostAccess$TargetMappingPrecedence of org.graalvm.polyglot.HostAccess