public class com.oracle.svm.reflect.hosted.ReflectionDataBuilder implements org.graalvm.nativeimage.impl.RuntimeReflectionSupport
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.reflect.hosted.ReflectionDataBuilder
  super_class: java.lang.Object
{
  public static final java.lang.reflect.Field[] EMPTY_FIELDS;
    descriptor: [Ljava/lang/reflect/Field;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.reflect.Method[] EMPTY_METHODS;
    descriptor: [Ljava/lang/reflect/Method;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.reflect.Constructor<?>[] EMPTY_CONSTRUCTORS;
    descriptor: [Ljava/lang/reflect/Constructor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: [Ljava/lang/reflect/Constructor<*>;

  public static final java.lang.Class<?>[] EMPTY_CLASSES;
    descriptor: [Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: [Ljava/lang/Class<*>;

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

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

  private final com.oracle.svm.core.hub.DynamicHub$ReflectionData arrayReflectionData;
    descriptor: Lcom/oracle/svm/core/hub/DynamicHub$ReflectionData;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Set<java.lang.Class<?>> reflectionClasses;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/Class<*>;>;

  private final java.util.Set<java.lang.reflect.Executable> reflectionMethods;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/reflect/Executable;>;

  private final java.util.Map<java.lang.reflect.Field, java.util.EnumSet<com.oracle.svm.reflect.hosted.ReflectionDataBuilder$FieldFlag>> reflectionFields;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/reflect/Field;Ljava/util/EnumSet<Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$FieldFlag;>;>;

  private final java.util.Set<java.lang.reflect.Field> analyzedFinalFields;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/reflect/Field;>;

  private final java.util.Set<java.lang.Class<?>> processedClasses;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/Class<*>;>;

  private final com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors accessors;
    descriptor: Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$ReflectionDataAccessors;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 62
            ldc Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.$assertionsDisabled:Z
         3: .line 64
            iconst_0
            anewarray java.lang.reflect.Field
            putstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_FIELDS:[Ljava/lang/reflect/Field;
         4: .line 65
            iconst_0
            anewarray java.lang.reflect.Method
            putstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_METHODS:[Ljava/lang/reflect/Method;
         5: .line 66
            iconst_0
            anewarray java.lang.reflect.Constructor
            putstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_CONSTRUCTORS:[Ljava/lang/reflect/Constructor;
         6: .line 67
            iconst_0
            anewarray java.lang.Class
            putstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_CLASSES:[Ljava/lang/Class;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl);
    descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$DuringSetupAccessImpl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
        start local 1 // com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl access
         0: .line 88
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 78
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
            putfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionClasses:Ljava/util/Set;
         2: .line 79
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
            putfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionMethods:Ljava/util/Set;
         3: .line 80
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionFields:Ljava/util/Map;
         4: .line 81
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
            putfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.analyzedFinalFields:Ljava/util/Set;
         5: .line 84
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.processedClasses:Ljava/util/Set;
         6: .line 89
            aload 0 /* this */
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.getArrayReflectionData:()Lcom/oracle/svm/core/hub/DynamicHub$ReflectionData;
            putfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.arrayReflectionData:Lcom/oracle/svm/core/hub/DynamicHub$ReflectionData;
         7: .line 90
            aload 0 /* this */
            new com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors
            dup
            aload 1 /* access */
            invokespecial com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors.<init>:(Lcom/oracle/svm/hosted/FeatureImpl$DuringSetupAccessImpl;)V
            putfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.accessors:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$ReflectionDataAccessors;
         8: .line 91
            return
        end local 1 // com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl access
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            0    9     1  access  Lcom/oracle/svm/hosted/FeatureImpl$DuringSetupAccessImpl;
    MethodParameters:
        Name  Flags
      access  

  private static com.oracle.svm.core.hub.DynamicHub$ReflectionData getArrayReflectionData();
    descriptor: ()Lcom/oracle/svm/core/hub/DynamicHub$ReflectionData;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=15, locals=2, args_size=0
         0: .line 96
            ldc Ljava/lang/Class;
            ldc "privateGetPublicMethods"
            iconst_0
            anewarray java.lang.Class
            invokestatic com.oracle.svm.util.ReflectionUtil.lookupMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 1 /* getPublicMethodsMethod */
        start local 1 // java.lang.reflect.Method getPublicMethodsMethod
         1: .line 97
            aload 1 /* getPublicMethodsMethod */
            ldc [Ljava/lang/Object;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method[]
            astore 0 /* publicArrayMethods */
        end local 1 // java.lang.reflect.Method getPublicMethodsMethod
        start local 0 // java.lang.reflect.Method[] publicArrayMethods
         2: .line 98
            goto 5
        end local 0 // java.lang.reflect.Method[] publicArrayMethods
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
         3: astore 1 /* e */
        start local 1 // java.lang.ReflectiveOperationException e
         4: .line 99
            aload 1 /* e */
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.ReflectiveOperationException e
        start local 0 // java.lang.reflect.Method[] publicArrayMethods
         5: .line 103
      StackMap locals: java.lang.reflect.Method[]
      StackMap stack:
            new com.oracle.svm.core.hub.DynamicHub$ReflectionData
            dup
         6: .line 104
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_FIELDS:[Ljava/lang/reflect/Field;
         7: .line 105
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_FIELDS:[Ljava/lang/reflect/Field;
         8: .line 106
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_FIELDS:[Ljava/lang/reflect/Field;
         9: .line 107
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_METHODS:[Ljava/lang/reflect/Method;
        10: .line 108
            aload 0 /* publicArrayMethods */
        11: .line 109
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_CONSTRUCTORS:[Ljava/lang/reflect/Constructor;
        12: .line 110
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_CONSTRUCTORS:[Ljava/lang/reflect/Constructor;
        13: .line 111
            aconst_null
        14: .line 112
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_FIELDS:[Ljava/lang/reflect/Field;
        15: .line 113
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_METHODS:[Ljava/lang/reflect/Method;
        16: .line 114
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_CLASSES:[Ljava/lang/Class;
        17: .line 115
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_CLASSES:[Ljava/lang/Class;
        18: .line 116
            aconst_null
        19: .line 103
            invokespecial com.oracle.svm.core.hub.DynamicHub$ReflectionData.<init>:([Ljava/lang/reflect/Field;[Ljava/lang/reflect/Field;[Ljava/lang/reflect/Field;[Ljava/lang/reflect/Method;[Ljava/lang/reflect/Method;[Ljava/lang/reflect/Constructor;[Ljava/lang/reflect/Constructor;Ljava/lang/reflect/Constructor;[Ljava/lang/reflect/Field;[Ljava/lang/reflect/Method;[Ljava/lang/Class;[Ljava/lang/Class;Ljava/lang/reflect/Executable;)V
            areturn
        end local 0 // java.lang.reflect.Method[] publicArrayMethods
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            2    3     0      publicArrayMethods  [Ljava/lang/reflect/Method;
            5   20     0      publicArrayMethods  [Ljava/lang/reflect/Method;
            1    2     1  getPublicMethodsMethod  Ljava/lang/reflect/Method;
            4    5     1                       e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.ReflectiveOperationException

  public void register(java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Class;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
        start local 1 // java.lang.Class[] classes
         0: .line 121
            aload 0 /* this */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder.checkNotSealed:()V
         1: .line 122
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionClasses:Ljava/util/Set;
            aload 1 /* classes */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            ifeq 3
         2: .line 123
            aload 0 /* this */
            iconst_1
            putfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.modified:Z
         3: .line 125
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Class[] classes
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            0    4     1  classes  [Ljava/lang/Class;
    Signature: ([Ljava/lang/Class<*>;)V
    MethodParameters:
         Name  Flags
      classes  

  public void register(java.lang.reflect.Executable[]);
    descriptor: ([Ljava/lang/reflect/Executable;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
        start local 1 // java.lang.reflect.Executable[] methods
         0: .line 129
            aload 0 /* this */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder.checkNotSealed:()V
         1: .line 130
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionMethods:Ljava/util/Set;
            aload 1 /* methods */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            ifeq 3
         2: .line 131
            aload 0 /* this */
            iconst_1
            putfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.modified:Z
         3: .line 133
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.reflect.Executable[] methods
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            0    4     1  methods  [Ljava/lang/reflect/Executable;
    MethodParameters:
         Name  Flags
      methods  

  public void register(boolean, boolean, java.lang.reflect.Field[]);
    descriptor: (ZZ[Ljava/lang/reflect/Field;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
        start local 1 // boolean finalIsWritable
        start local 2 // boolean allowUnsafeAccess
        start local 3 // java.lang.reflect.Field[] fields
         0: .line 137
            aload 0 /* this */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder.checkNotSealed:()V
         1: .line 138
            aload 3 /* fields */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 10
      StackMap locals: com.oracle.svm.reflect.hosted.ReflectionDataBuilder int int java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* field */
        start local 4 // java.lang.reflect.Field field
         3: .line 139
            ldc Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$FieldFlag;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 8 /* flags */
        start local 8 // java.util.EnumSet flags
         4: .line 140
            iload 1 /* finalIsWritable */
            ifeq 6
         5: .line 141
            aload 8 /* flags */
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder$FieldFlag.FINAL_BUT_WRITABLE:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$FieldFlag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         6: .line 143
      StackMap locals: com.oracle.svm.reflect.hosted.ReflectionDataBuilder int int java.lang.reflect.Field[] java.lang.reflect.Field int int java.lang.reflect.Field[] java.util.EnumSet
      StackMap stack:
            iload 2 /* allowUnsafeAccess */
            ifeq 8
         7: .line 144
            aload 8 /* flags */
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder$FieldFlag.UNSAFE_ACCESSIBLE:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$FieldFlag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         8: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionFields:Ljava/util/Map;
            aload 4 /* field */
            aload 0 /* this */
            aload 8 /* flags */
            iload 1 /* finalIsWritable */
            aload 4 /* field */
            invokedynamic apply(Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;Ljava/util/EnumSet;ZLjava/lang/reflect/Field;)Ljava/util/function/BiFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/svm/reflect/hosted/ReflectionDataBuilder.lambda$0(Ljava/util/EnumSet;ZLjava/lang/reflect/Field;Ljava/lang/reflect/Field;Ljava/util/EnumSet;)Ljava/util/EnumSet; (7)
                  (Ljava/lang/reflect/Field;Ljava/util/EnumSet;)Ljava/util/EnumSet;
            invokeinterface java.util.Map.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
            pop
        end local 8 // java.util.EnumSet flags
        end local 4 // java.lang.reflect.Field field
         9: .line 138
            iinc 5 1
      StackMap locals: com.oracle.svm.reflect.hosted.ReflectionDataBuilder int int java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
      StackMap stack:
        10: iload 5
            iload 6
            if_icmplt 2
        11: .line 163
            return
        end local 3 // java.lang.reflect.Field[] fields
        end local 2 // boolean allowUnsafeAccess
        end local 1 // boolean finalIsWritable
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            0   12     1    finalIsWritable  Z
            0   12     2  allowUnsafeAccess  Z
            0   12     3             fields  [Ljava/lang/reflect/Field;
            3    9     4              field  Ljava/lang/reflect/Field;
            4    9     8              flags  Ljava/util/EnumSet<Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$FieldFlag;>;
    MethodParameters:
                   Name  Flags
      finalIsWritable    
      allowUnsafeAccess  
      fields             

  private void checkNotSealed();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
         0: .line 166
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.sealed:Z
            ifeq 2
         1: .line 167
            ldc "Too late to add classes, methods, and fields for reflective access. Registration must happen in a Feature before the analysis has finished."
            iconst_0
            anewarray java.lang.Object
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
         2: .line 169
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;

  protected void duringAnalysis(org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess a
         0: .line 172
            aload 1 /* a */
            checkcast com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl
            astore 2 /* access */
        start local 2 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
         1: .line 173
            aload 0 /* this */
            aload 2 /* access */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder.processReachableTypes:(Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;)V
         2: .line 174
            aload 0 /* this */
            aload 2 /* access */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder.processRegisteredElements:(Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;)V
         3: .line 175
            return
        end local 2 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
        end local 1 // org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess a
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            0    4     1       a  Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;
            1    4     2  access  Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;
    MethodParameters:
      Name  Flags
      a     

  private void processReachableTypes(com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl);
    descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
        start local 1 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
         0: .line 191
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getTypes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: com.oracle.svm.reflect.hosted.ReflectionDataBuilder com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.meta.AnalysisType
            astore 2 /* type */
        start local 2 // com.oracle.graal.pointsto.meta.AnalysisType type
         2: .line 192
            aload 2 /* type */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
            astore 4 /* originalClass */
        start local 4 // java.lang.Class originalClass
         3: .line 193
            aload 4 /* originalClass */
            ifnull 12
         4: .line 194
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.processedClasses:Ljava/util/Set;
            aload 4 /* originalClass */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 196
            goto 12
         6: .line 198
      StackMap locals: com.oracle.svm.reflect.hosted.ReflectionDataBuilder com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisType java.util.Iterator java.lang.Class
      StackMap stack:
            aload 2 /* type */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
            ifeq 8
            aload 1 /* access */
            aload 2 /* type */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.isReachable:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z
            ifne 8
         7: .line 203
            goto 12
         8: .line 205
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
            ifne 9
            aload 0 /* this */
            aload 4 /* originalClass */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder.enclosingMethodOrConstructor:(Ljava/lang/Class;)Ljava/lang/reflect/Executable;
            ifnull 12
         9: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* access */
            aload 4 /* originalClass */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder.processClass:(Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/lang/Class;)V
        10: .line 212
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.processedClasses:Ljava/util/Set;
            aload 4 /* originalClass */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 213
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.requireAnalysisIteration:()V
        end local 4 // java.lang.Class originalClass
        end local 2 // com.oracle.graal.pointsto.meta.AnalysisType type
        12: .line 191
      StackMap locals: com.oracle.svm.reflect.hosted.ReflectionDataBuilder com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        13: .line 217
            return
        end local 1 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            0   14     1         access  Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;
            2   12     2           type  Lcom/oracle/graal/pointsto/meta/AnalysisType;
            3   12     4  originalClass  Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      access  

  private void processRegisteredElements(com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl);
    descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
        start local 1 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
         0: .line 220
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.modified:Z
            ifne 2
         1: .line 221
            return
         2: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.modified:Z
         3: .line 224
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.requireAnalysisIteration:()V
         4: .line 226
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionClasses:Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 2 /* allClasses */
        start local 2 // java.util.Set allClasses
         5: .line 227
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionMethods:Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/reflect/Executable.getDeclaringClass()Ljava/lang/Class; (5)
                  (Ljava/lang/reflect/Executable;)Ljava/lang/Class;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 2 /* allClasses */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/Set.add(Ljava/lang/Object;)Z (9 itf)
                  (Ljava/lang/Class;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         6: .line 228
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionFields:Ljava/util/Map;
            aload 1 /* access */
            aload 2 /* allClasses */
            invokedynamic accept(Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/util/Set;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  com/oracle/svm/reflect/hosted/ReflectionDataBuilder.lambda$3(Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/util/Set;Ljava/lang/reflect/Field;Ljava/util/EnumSet;)V (6)
                  (Ljava/lang/reflect/Field;Ljava/util/EnumSet;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
         7: .line 235
            aload 2 /* allClasses */
            aload 0 /* this */
            aload 1 /* access */
            invokedynamic accept(Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/svm/reflect/hosted/ReflectionDataBuilder.lambda$4(Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/lang/Class;)V (7)
                  (Ljava/lang/Class;)V
            invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
         8: .line 236
            return
        end local 2 // java.util.Set allClasses
        end local 1 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            0    9     1      access  Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;
            5    9     2  allClasses  Ljava/util/Set<Ljava/lang/Class<*>;>;
    MethodParameters:
        Name  Flags
      access  

  private void processClass(com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl, java.lang.Class<?>);
    descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=16, locals=7, args_size=3
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
        start local 1 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
        start local 2 // java.lang.Class clazz
         0: .line 239
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            aload 2 /* clazz */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
            astore 3 /* type */
        start local 3 // com.oracle.graal.pointsto.meta.AnalysisType type
         1: .line 244
            aload 3 /* type */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.registerAsReachable:()V
         2: .line 245
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getHostVM:()Lcom/oracle/svm/hosted/SVMHost;
            aload 3 /* type */
            invokevirtual com.oracle.svm.hosted.SVMHost.dynamicHub:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/core/hub/DynamicHub;
            astore 4 /* hub */
        start local 4 // com.oracle.svm.core.hub.DynamicHub hub
         3: .line 247
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionClasses:Ljava/util/Set;
            aload 2 /* clazz */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 248
            aload 2 /* clazz */
            invokestatic com.oracle.svm.core.hub.ClassForNameSupport.registerClass:(Ljava/lang/Class;)V
         5: .line 256
      StackMap locals: com.oracle.graal.pointsto.meta.AnalysisType com.oracle.svm.core.hub.DynamicHub
      StackMap stack:
            aload 2 /* clazz */
            invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
            pop
         6: .line 257
            aload 2 /* clazz */
            invokevirtual java.lang.Class.getFields:()[Ljava/lang/reflect/Field;
            pop
         7: .line 258
            aload 2 /* clazz */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            pop
         8: .line 259
            aload 2 /* clazz */
            invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
            pop
         9: .line 260
            aload 2 /* clazz */
            invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
            pop
        10: .line 261
            aload 2 /* clazz */
            invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
            pop
        11: .line 262
            aload 2 /* clazz */
            invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
            pop
        12: .line 263
            aload 2 /* clazz */
            invokevirtual java.lang.Class.getClasses:()[Ljava/lang/Class;
            pop
        13: .line 264
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 5 /* e */
        start local 5 // java.lang.Throwable e
        15: .line 276
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "WARNING: Could not register reflection metadata for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* clazz */
            invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 277
            ldc ". Reason: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* e */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* e */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 276
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        18: .line 279
            return
        end local 5 // java.lang.Throwable e
        19: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.accessors:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$ReflectionDataAccessors;
            aload 2 /* clazz */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors.getReflectionData:(Ljava/lang/Class;)Ljava/lang/Object;
            astore 5 /* originalReflectionData */
        start local 5 // java.lang.Object originalReflectionData
        20: .line 285
            aload 3 /* type */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
            ifeq 23
        21: .line 287
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.arrayReflectionData:Lcom/oracle/svm/core/hub/DynamicHub$ReflectionData;
            astore 6 /* reflectionData */
        start local 6 // com.oracle.svm.core.hub.DynamicHub$ReflectionData reflectionData
        22: .line 288
            goto 38
        end local 6 // com.oracle.svm.core.hub.DynamicHub$ReflectionData reflectionData
        23: .line 289
      StackMap locals: java.lang.Object
      StackMap stack:
            new com.oracle.svm.core.hub.DynamicHub$ReflectionData
            dup
        24: .line 290
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.accessors:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$ReflectionDataAccessors;
            aload 5 /* originalReflectionData */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors.getDeclaredFields:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionFields:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterFields:(Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Field;
        25: .line 291
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.accessors:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$ReflectionDataAccessors;
            aload 5 /* originalReflectionData */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors.getPublicFields:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionFields:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterFields:(Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Field;
        26: .line 292
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.accessors:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$ReflectionDataAccessors;
            aload 5 /* originalReflectionData */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors.getPublicFields:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 0 /* this */
            aload 2 /* clazz */
            invokedynamic test(Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;Ljava/lang/Class;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/svm/reflect/hosted/ReflectionDataBuilder.lambda$5(Ljava/lang/Class;Ljava/lang/reflect/Field;)Z (7)
                  (Ljava/lang/reflect/Field;)Z
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterFields:(Ljava/lang/Object;Ljava/util/function/Predicate;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Field;
        27: .line 293
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.accessors:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$ReflectionDataAccessors;
            aload 5 /* originalReflectionData */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors.getDeclaredMethods:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionMethods:Ljava/util/Set;
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterMethods:(Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Method;
        28: .line 294
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.accessors:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$ReflectionDataAccessors;
            aload 5 /* originalReflectionData */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors.getPublicMethods:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionMethods:Ljava/util/Set;
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterMethods:(Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Method;
        29: .line 295
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.accessors:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$ReflectionDataAccessors;
            aload 5 /* originalReflectionData */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors.getDeclaredConstructors:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionMethods:Ljava/util/Set;
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterConstructors:(Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Constructor;
        30: .line 296
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.accessors:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$ReflectionDataAccessors;
            aload 5 /* originalReflectionData */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors.getPublicConstructors:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionMethods:Ljava/util/Set;
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterConstructors:(Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Constructor;
        31: .line 297
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.accessors:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$ReflectionDataAccessors;
            aload 5 /* originalReflectionData */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors.getDeclaredConstructors:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionMethods:Ljava/util/Set;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.nullaryConstructor:(Ljava/lang/Object;Ljava/util/Set;)Ljava/lang/reflect/Constructor;
        32: .line 298
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.accessors:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$ReflectionDataAccessors;
            aload 5 /* originalReflectionData */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors.getDeclaredPublicFields:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionFields:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterFields:(Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Field;
        33: .line 299
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.accessors:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$ReflectionDataAccessors;
            aload 5 /* originalReflectionData */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors.getDeclaredPublicMethods:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionMethods:Ljava/util/Set;
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterMethods:(Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Method;
        34: .line 300
            aload 2 /* clazz */
            invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionClasses:Ljava/util/Set;
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterClasses:(Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/Class;
        35: .line 301
            aload 2 /* clazz */
            invokevirtual java.lang.Class.getClasses:()[Ljava/lang/Class;
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionClasses:Ljava/util/Set;
            aload 1 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterClasses:(Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/Class;
        36: .line 302
            aload 0 /* this */
            aload 2 /* clazz */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder.enclosingMethodOrConstructor:(Ljava/lang/Class;)Ljava/lang/reflect/Executable;
        37: .line 289
            invokespecial com.oracle.svm.core.hub.DynamicHub$ReflectionData.<init>:([Ljava/lang/reflect/Field;[Ljava/lang/reflect/Field;[Ljava/lang/reflect/Field;[Ljava/lang/reflect/Method;[Ljava/lang/reflect/Method;[Ljava/lang/reflect/Constructor;[Ljava/lang/reflect/Constructor;Ljava/lang/reflect/Constructor;[Ljava/lang/reflect/Field;[Ljava/lang/reflect/Method;[Ljava/lang/Class;[Ljava/lang/Class;Ljava/lang/reflect/Executable;)V
            astore 6 /* reflectionData */
        start local 6 // com.oracle.svm.core.hub.DynamicHub$ReflectionData reflectionData
        38: .line 305
      StackMap locals: com.oracle.svm.core.hub.DynamicHub$ReflectionData
      StackMap stack:
            aload 4 /* hub */
            aload 6 /* reflectionData */
            invokevirtual com.oracle.svm.core.hub.DynamicHub.setReflectionData:(Lcom/oracle/svm/core/hub/DynamicHub$ReflectionData;)V
        39: .line 306
            return
        end local 6 // com.oracle.svm.core.hub.DynamicHub$ReflectionData reflectionData
        end local 5 // java.lang.Object originalReflectionData
        end local 4 // com.oracle.svm.core.hub.DynamicHub hub
        end local 3 // com.oracle.graal.pointsto.meta.AnalysisType type
        end local 2 // java.lang.Class clazz
        end local 1 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   40     0                    this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            0   40     1                  access  Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;
            0   40     2                   clazz  Ljava/lang/Class<*>;
            1   40     3                    type  Lcom/oracle/graal/pointsto/meta/AnalysisType;
            3   40     4                     hub  Lcom/oracle/svm/core/hub/DynamicHub;
           15   19     5                       e  Ljava/lang/Throwable;
           20   40     5  originalReflectionData  Ljava/lang/Object;
           22   23     6          reflectionData  Lcom/oracle/svm/core/hub/DynamicHub$ReflectionData;
           38   40     6          reflectionData  Lcom/oracle/svm/core/hub/DynamicHub$ReflectionData;
      Exception table:
        from    to  target  type
           5    13      14  Class java.lang.TypeNotPresentException
           5    13      14  Class java.lang.LinkageError
    Signature: (Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/lang/Class<*>;)V
    MethodParameters:
        Name  Flags
      access  
      clazz   

  protected void afterAnalysis();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
         0: .line 309
            aload 0 /* this */
            iconst_1
            putfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.sealed:Z
         1: .line 310
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.modified:Z
            ifeq 3
         2: .line 311
            ldc "Registration of classes, methods, and fields for reflective access during analysis must set DuringAnalysisAccess.requireAnalysisIteration()."
            iconst_0
            anewarray java.lang.Object
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
         3: .line 313
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;

  private static java.lang.reflect.Constructor<?> nullaryConstructor(, java.util.Set<?>);
    descriptor: (Ljava/lang/Object;Ljava/util/Set;)Ljava/lang/reflect/Constructor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.Object constructors
        start local 1 // java.util.Set reflectionMethods
         0: .line 316
            aload 0 /* constructors */
            checkcast java.lang.reflect.Constructor[]
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: java.lang.Object java.util.Set top int int java.lang.reflect.Constructor[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* constructor */
        start local 2 // java.lang.reflect.Constructor constructor
         2: .line 317
            aload 2 /* constructor */
            invokevirtual java.lang.reflect.Constructor.getParameterCount:()I
            ifne 4
            aload 1 /* reflectionMethods */
            aload 2 /* constructor */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 318
            aload 2 /* constructor */
            areturn
        end local 2 // java.lang.reflect.Constructor constructor
         4: .line 316
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 321
            aconst_null
            areturn
        end local 1 // java.util.Set reflectionMethods
        end local 0 // java.lang.Object constructors
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0       constructors  Ljava/lang/Object;
            0    7     1  reflectionMethods  Ljava/util/Set<*>;
            2    4     2        constructor  Ljava/lang/reflect/Constructor<*>;
    Signature: (Ljava/lang/Object;Ljava/util/Set<*>;)Ljava/lang/reflect/Constructor<*>;
    MethodParameters:
                   Name  Flags
      constructors       
      reflectionMethods  

  private java.lang.reflect.Executable enclosingMethodOrConstructor(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Executable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
        start local 1 // java.lang.Class clazz
         0: .line 328
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getEnclosingMethod:()Ljava/lang/reflect/Method;
            astore 2 /* enclosingMethod */
        start local 2 // java.lang.reflect.Method enclosingMethod
         1: .line 329
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getEnclosingConstructor:()Ljava/lang/reflect/Constructor;
            astore 3 /* enclosingConstructor */
        start local 3 // java.lang.reflect.Constructor enclosingConstructor
         2: .line 330
            goto 10
        end local 3 // java.lang.reflect.Constructor enclosingConstructor
        end local 2 // java.lang.reflect.Method enclosingMethod
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: pop
         4: .line 336
            aconst_null
            areturn
         5: .line 337
      StackMap locals:
      StackMap stack: java.lang.InternalError
            pop
         6: .line 339
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "GR-7731: Could not find the enclosing method of class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 340
            ldc ". This is a known transient error and most likely does not cause any problems, unless your code relies on the enclosing method of exactly this class. If you can reliably reproduce this problem, please send us a test case."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 339
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 342
            aconst_null
            areturn
        start local 2 // java.lang.reflect.Method enclosingMethod
        start local 3 // java.lang.reflect.Constructor enclosingConstructor
        10: .line 345
      StackMap locals: java.lang.reflect.Method java.lang.reflect.Constructor
      StackMap stack:
            aload 2 /* enclosingMethod */
            ifnonnull 12
            aload 3 /* enclosingConstructor */
            ifnonnull 12
        11: .line 346
            aconst_null
            areturn
        12: .line 348
      StackMap locals:
      StackMap stack:
            aload 2 /* enclosingMethod */
            ifnull 14
            aload 3 /* enclosingConstructor */
            ifnull 14
        13: .line 349
            new java.lang.StringBuilder
            dup
            ldc "Class has both an enclosingMethod and an enclosingConstructor: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* clazz */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* enclosingMethod */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* enclosingConstructor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        14: .line 352
      StackMap locals:
      StackMap stack:
            aload 2 /* enclosingMethod */
            ifnull 15
            aload 2 /* enclosingMethod */
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 3 /* enclosingConstructor */
      StackMap locals:
      StackMap stack: java.lang.reflect.Executable
        16: astore 4 /* enclosingMethodOrConstructor */
        start local 4 // java.lang.reflect.Executable enclosingMethodOrConstructor
        17: .line 354
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionMethods:Ljava/util/Set;
            aload 4 /* enclosingMethodOrConstructor */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 355
            aload 4 /* enclosingMethodOrConstructor */
            areturn
        19: .line 357
      StackMap locals: java.lang.reflect.Executable
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.reflect.Executable enclosingMethodOrConstructor
        end local 3 // java.lang.reflect.Constructor enclosingConstructor
        end local 2 // java.lang.reflect.Method enclosingMethod
        end local 1 // java.lang.Class clazz
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   20     0                          this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            0   20     1                         clazz  Ljava/lang/Class<*>;
            1    3     2               enclosingMethod  Ljava/lang/reflect/Method;
           10   20     2               enclosingMethod  Ljava/lang/reflect/Method;
            2    3     3          enclosingConstructor  Ljava/lang/reflect/Constructor<*>;
           10   20     3          enclosingConstructor  Ljava/lang/reflect/Constructor<*>;
           17   20     4  enclosingMethodOrConstructor  Ljava/lang/reflect/Executable;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.TypeNotPresentException
           0     2       3  Class java.lang.LinkageError
           0     2       5  Class java.lang.InternalError
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/reflect/Executable;
    MethodParameters:
       Name  Flags
      clazz  

  private static java.lang.reflect.Field[] filterFields(, java.util.Set<java.lang.reflect.Field>, com.oracle.graal.pointsto.meta.AnalysisMetaAccess);
    descriptor: (Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Field;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.Object fields
        start local 1 // java.util.Set filterSet
        start local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
         0: .line 362
            aload 0 /* fields */
            aload 1 /* filterSet */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic test(Ljava/util/Set;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  java/util/Set.contains(Ljava/lang/Object;)Z (9 itf)
                  (Ljava/lang/reflect/Field;)Z
            aload 2 /* metaAccess */
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterFields:(Ljava/lang/Object;Ljava/util/function/Predicate;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Field;
            areturn
        end local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
        end local 1 // java.util.Set filterSet
        end local 0 // java.lang.Object fields
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0      fields  Ljava/lang/Object;
            0    1     1   filterSet  Ljava/util/Set<Ljava/lang/reflect/Field;>;
            0    1     2  metaAccess  Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
    Signature: (Ljava/lang/Object;Ljava/util/Set<Ljava/lang/reflect/Field;>;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Field;
    MethodParameters:
            Name  Flags
      fields      
      filterSet   
      metaAccess  

  private static boolean isHiddenIn(java.lang.reflect.Field, java.lang.Class<?>);
    descriptor: (Ljava/lang/reflect/Field;Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.reflect.Field field
        start local 1 // java.lang.Class clazz
         0: .line 367
            aload 1 /* clazz */
            aload 0 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            aload 0 /* field */
            invokevirtual java.lang.reflect.Field.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
         3: .line 368
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldException
            astore 2 /* e */
        start local 2 // java.lang.NoSuchFieldException e
         4: .line 369
            aload 2 /* e */
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.NoSuchFieldException e
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.reflect.Field field
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  field  Ljava/lang/reflect/Field;
            0    5     1  clazz  Ljava/lang/Class<*>;
            4    5     2      e  Ljava/lang/NoSuchFieldException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.NoSuchFieldException
    Signature: (Ljava/lang/reflect/Field;Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      field  
      clazz  

  private static java.lang.reflect.Field[] filterFields(, java.util.function.Predicate<java.lang.reflect.Field>, com.oracle.graal.pointsto.meta.AnalysisMetaAccess);
    descriptor: (Ljava/lang/Object;Ljava/util/function/Predicate;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Field;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // java.lang.Object fields
        start local 1 // java.util.function.Predicate filter
        start local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
         0: .line 374
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.List result
         1: .line 375
            aload 0 /* fields */
            checkcast java.lang.reflect.Field[]
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: java.lang.Object java.util.function.Predicate com.oracle.graal.pointsto.meta.AnalysisMetaAccess java.util.List top int int java.lang.reflect.Field[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* field */
        start local 4 // java.lang.reflect.Field field
         3: .line 376
            aload 1 /* filter */
            aload 4 /* field */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 8
            aload 4 /* field */
            aload 2 /* metaAccess */
            invokestatic com.oracle.svm.hosted.substitute.SubstitutionReflectivityFilter.shouldExclude:(Ljava/lang/reflect/Field;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)Z
            ifne 8
         4: .line 378
            aload 2 /* metaAccess */
            aload 4 /* field */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaField:(Ljava/lang/reflect/Field;)Lcom/oracle/graal/pointsto/meta/AnalysisField;
            ldc Lcom/oracle/svm/core/annotate/Delete;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifne 8
         5: .line 379
            aload 3 /* result */
            aload 4 /* field */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 381
            goto 8
      StackMap locals: java.lang.Object java.util.function.Predicate com.oracle.graal.pointsto.meta.AnalysisMetaAccess java.util.List java.lang.reflect.Field int int java.lang.reflect.Field[]
      StackMap stack: com.oracle.svm.hosted.substitute.DeletedElementException
         7: pop
        end local 4 // java.lang.reflect.Field field
         8: .line 375
      StackMap locals: java.lang.Object java.util.function.Predicate com.oracle.graal.pointsto.meta.AnalysisMetaAccess java.util.List top int int java.lang.reflect.Field[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 2
        10: .line 385
            aload 3 /* result */
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_FIELDS:[Ljava/lang/reflect/Field;
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.reflect.Field[]
            areturn
        end local 3 // java.util.List result
        end local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
        end local 1 // java.util.function.Predicate filter
        end local 0 // java.lang.Object fields
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0      fields  Ljava/lang/Object;
            0   11     1      filter  Ljava/util/function/Predicate<Ljava/lang/reflect/Field;>;
            0   11     2  metaAccess  Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            1   11     3      result  Ljava/util/List<Ljava/lang/reflect/Field;>;
            3    8     4       field  Ljava/lang/reflect/Field;
      Exception table:
        from    to  target  type
           4     6       7  Class com.oracle.svm.hosted.substitute.DeletedElementException
    Signature: (Ljava/lang/Object;Ljava/util/function/Predicate<Ljava/lang/reflect/Field;>;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Field;
    MethodParameters:
            Name  Flags
      fields      
      filter      
      metaAccess  

  private static java.lang.reflect.Constructor<?>[] filterConstructors(, java.util.Set<java.lang.reflect.Executable>, com.oracle.graal.pointsto.meta.AnalysisMetaAccess);
    descriptor: (Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Constructor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.Object methods
        start local 1 // java.util.Set filter
        start local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
         0: .line 389
            aload 0 /* methods */
            aload 1 /* filter */
            aload 2 /* metaAccess */
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_CONSTRUCTORS:[Ljava/lang/reflect/Constructor;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterMethods:(Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;[Ljava/lang/reflect/Executable;)[Ljava/lang/reflect/Executable;
            checkcast java.lang.reflect.Constructor[]
            areturn
        end local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
        end local 1 // java.util.Set filter
        end local 0 // java.lang.Object methods
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0     methods  Ljava/lang/Object;
            0    1     1      filter  Ljava/util/Set<Ljava/lang/reflect/Executable;>;
            0    1     2  metaAccess  Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
    Signature: (Ljava/lang/Object;Ljava/util/Set<Ljava/lang/reflect/Executable;>;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Constructor<*>;
    MethodParameters:
            Name  Flags
      methods     
      filter      
      metaAccess  

  private static java.lang.reflect.Method[] filterMethods(, java.util.Set<java.lang.reflect.Executable>, com.oracle.graal.pointsto.meta.AnalysisMetaAccess);
    descriptor: (Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.Object methods
        start local 1 // java.util.Set filter
        start local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
         0: .line 393
            aload 0 /* methods */
            aload 1 /* filter */
            aload 2 /* metaAccess */
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_METHODS:[Ljava/lang/reflect/Method;
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.filterMethods:(Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;[Ljava/lang/reflect/Executable;)[Ljava/lang/reflect/Executable;
            checkcast java.lang.reflect.Method[]
            areturn
        end local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
        end local 1 // java.util.Set filter
        end local 0 // java.lang.Object methods
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0     methods  Ljava/lang/Object;
            0    1     1      filter  Ljava/util/Set<Ljava/lang/reflect/Executable;>;
            0    1     2  metaAccess  Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
    Signature: (Ljava/lang/Object;Ljava/util/Set<Ljava/lang/reflect/Executable;>;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/reflect/Method;
    MethodParameters:
            Name  Flags
      methods     
      filter      
      metaAccess  

  private static <T extends java.lang.reflect.Executable> T[] filterMethods(, java.util.Set<java.lang.reflect.Executable>, com.oracle.graal.pointsto.meta.AnalysisMetaAccess, );
    descriptor: (Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;[Ljava/lang/reflect/Executable;)[Ljava/lang/reflect/Executable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=9, args_size=4
        start local 0 // java.lang.Object methods
        start local 1 // java.util.Set filter
        start local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
        start local 3 // java.lang.reflect.Executable[] prototypeArray
         0: .line 398
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* result */
        start local 4 // java.util.List result
         1: .line 399
            aload 0 /* methods */
            checkcast java.lang.reflect.Executable[]
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 6
      StackMap locals: java.lang.Object java.util.Set com.oracle.graal.pointsto.meta.AnalysisMetaAccess java.lang.reflect.Executable[] java.util.List top int int java.lang.reflect.Executable[]
      StackMap stack:
         2: aload 8
            iload 6
            aaload
            astore 5 /* method */
        start local 5 // java.lang.reflect.Executable method
         3: .line 400
            aload 1 /* filter */
            aload 5 /* method */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 5
            aload 5 /* method */
            aload 2 /* metaAccess */
            invokestatic com.oracle.svm.hosted.substitute.SubstitutionReflectivityFilter.shouldExclude:(Ljava/lang/reflect/Executable;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)Z
            ifne 5
         4: .line 401
            aload 4 /* result */
            aload 5 /* method */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.reflect.Executable method
         5: .line 399
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
         6: iload 6
            iload 7
            if_icmplt 2
         7: .line 404
            aload 4 /* result */
            aload 3 /* prototypeArray */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.reflect.Executable[]
            areturn
        end local 4 // java.util.List result
        end local 3 // java.lang.reflect.Executable[] prototypeArray
        end local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
        end local 1 // java.util.Set filter
        end local 0 // java.lang.Object methods
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0         methods  Ljava/lang/Object;
            0    8     1          filter  Ljava/util/Set<Ljava/lang/reflect/Executable;>;
            0    8     2      metaAccess  Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            0    8     3  prototypeArray  [Ljava/lang/reflect/Executable;
            1    8     4          result  Ljava/util/List<TT;>;
            3    5     5          method  TT;
    Signature: <T:Ljava/lang/reflect/Executable;>(Ljava/lang/Object;Ljava/util/Set<Ljava/lang/reflect/Executable;>;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;[TT;)[TT;
    MethodParameters:
                Name  Flags
      methods         
      filter          
      metaAccess      
      prototypeArray  

  private static java.lang.Class<?>[] filterClasses(, java.util.Set<java.lang.Class<?>>, com.oracle.graal.pointsto.meta.AnalysisMetaAccess);
    descriptor: (Ljava/lang/Object;Ljava/util/Set;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // java.lang.Object classes
        start local 1 // java.util.Set filter
        start local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
         0: .line 408
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.List result
         1: .line 409
            aload 0 /* classes */
            checkcast java.lang.Class[]
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 6
      StackMap locals: java.lang.Object java.util.Set com.oracle.graal.pointsto.meta.AnalysisMetaAccess java.util.List top int int java.lang.Class[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* clazz */
        start local 4 // java.lang.Class clazz
         3: .line 410
            aload 1 /* filter */
            aload 4 /* clazz */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 5
            aload 4 /* clazz */
            aload 2 /* metaAccess */
            invokestatic com.oracle.svm.hosted.substitute.SubstitutionReflectivityFilter.shouldExclude:(Ljava/lang/Class;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)Z
            ifne 5
         4: .line 411
            aload 3 /* result */
            aload 4 /* clazz */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Class clazz
         5: .line 409
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         6: iload 5
            iload 6
            if_icmplt 2
         7: .line 414
            aload 3 /* result */
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.EMPTY_CLASSES:[Ljava/lang/Class;
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.Class[]
            areturn
        end local 3 // java.util.List result
        end local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
        end local 1 // java.util.Set filter
        end local 0 // java.lang.Object classes
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0     classes  Ljava/lang/Object;
            0    8     1      filter  Ljava/util/Set<Ljava/lang/Class<*>;>;
            0    8     2  metaAccess  Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            1    8     3      result  Ljava/util/List<Ljava/lang/Class<*>;>;
            3    5     4       clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Object;Ljava/util/Set<Ljava/lang/Class<*>;>;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)[Ljava/lang/Class<*>;
    MethodParameters:
            Name  Flags
      classes     
      filter      
      metaAccess  

  boolean inspectFinalFieldWritableForAnalysis(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
        start local 1 // java.lang.reflect.Field field
         0: .line 418
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.$assertionsDisabled:Z
            ifne 1
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionFields:Ljava/util/Map;
            aload 1 /* field */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.EnumSet
            astore 2 /* flags */
        start local 2 // java.util.EnumSet flags
         2: .line 420
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.analyzedFinalFields:Ljava/util/Set;
            aload 1 /* field */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 421
            aload 2 /* flags */
            ifnull 4
            aload 2 /* flags */
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder$FieldFlag.FINAL_BUT_WRITABLE:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$FieldFlag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 4
            iconst_1
            ireturn
      StackMap locals: java.util.EnumSet
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // java.util.EnumSet flags
        end local 1 // java.lang.reflect.Field field
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            0    5     1  field  Ljava/lang/reflect/Field;
            2    5     2  flags  Ljava/util/EnumSet<Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$FieldFlag;>;
    MethodParameters:
       Name  Flags
      field  

  private java.util.EnumSet lambda$0(java.util.EnumSet, boolean, java.lang.reflect.Field, java.lang.reflect.Field, java.util.EnumSet);
    descriptor: (Ljava/util/EnumSet;ZLjava/lang/reflect/Field;Ljava/lang/reflect/Field;Ljava/util/EnumSet;)Ljava/util/EnumSet;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
        start local 4 // java.lang.reflect.Field key
        start local 5 // java.util.EnumSet existingFlags
         0: .line 148
            aload 5 /* existingFlags */
            ifnull 1
            aload 5 /* existingFlags */
            aload 1
            invokevirtual java.util.EnumSet.containsAll:(Ljava/util/Collection;)Z
            ifne 2
         1: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.modified:Z
         2: .line 151
      StackMap locals:
      StackMap stack:
            aload 5 /* existingFlags */
            ifnull 4
         3: .line 153
            aload 1
            aload 5 /* existingFlags */
            invokevirtual java.util.EnumSet.addAll:(Ljava/util/Collection;)Z
            pop
         4: .line 156
      StackMap locals:
      StackMap stack:
            iload 2
            ifeq 9
            aload 5 /* existingFlags */
            ifnull 5
            aload 5 /* existingFlags */
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder$FieldFlag.FINAL_BUT_WRITABLE:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$FieldFlag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifne 9
         5: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.analyzedFinalFields:Ljava/util/Set;
            aload 3
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 6
            iconst_0
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_1
         7: .line 158
      StackMap locals:
      StackMap stack: int
            ldc "A field that was already processed by the analysis cannot be re-registered as writable: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3
            aastore
         8: .line 157
            invokestatic com.oracle.svm.core.util.UserError.guarantee:(ZLjava/lang/String;[Ljava/lang/Object;)V
         9: .line 160
      StackMap locals:
      StackMap stack:
            aload 1
            areturn
        end local 5 // java.util.EnumSet existingFlags
        end local 4 // java.lang.reflect.Field key
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            0   10     4            key  Ljava/lang/reflect/Field;
            0   10     5  existingFlags  Ljava/util/EnumSet<Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$FieldFlag;>;

  private static void lambda$3(com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl, java.util.Set, java.lang.reflect.Field, java.util.EnumSet);
    descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/util/Set;Ljava/lang/reflect/Field;Ljava/util/EnumSet;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=4
        start local 2 // java.lang.reflect.Field field
        start local 3 // java.util.EnumSet flags
         0: .line 229
            aload 3 /* flags */
            getstatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder$FieldFlag.UNSAFE_ACCESSIBLE:Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$FieldFlag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 230
            aload 0
            aload 2 /* field */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.registerAsUnsafeAccessed:(Ljava/lang/reflect/Field;)V
         2: .line 232
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2 /* field */
            invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 233
            return
        end local 3 // java.util.EnumSet flags
        end local 2 // java.lang.reflect.Field field
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     2  field  Ljava/lang/reflect/Field;
            0    4     3  flags  Ljava/util/EnumSet<Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder$FieldFlag;>;

  private void lambda$4(com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl, java.lang.Class);
    descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/lang/Class;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
        start local 2 // java.lang.Class clazz
         0: .line 235
            aload 0 /* this */
            aload 1
            aload 2 /* clazz */
            invokevirtual com.oracle.svm.reflect.hosted.ReflectionDataBuilder.processClass:(Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/lang/Class;)V
            return
        end local 2 // java.lang.Class clazz
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            0    1     2  clazz  Ljava/lang/Class<*>;

  private boolean lambda$5(java.lang.Class, java.lang.reflect.Field);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Field;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
        start local 2 // java.lang.reflect.Field f
         0: .line 292
            aload 0 /* this */
            getfield com.oracle.svm.reflect.hosted.ReflectionDataBuilder.reflectionFields:Ljava/util/Map;
            aload 2 /* f */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 1
            aload 2 /* f */
            aload 1
            invokestatic com.oracle.svm.reflect.hosted.ReflectionDataBuilder.isHiddenIn:(Ljava/lang/reflect/Field;Ljava/lang/Class;)Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 2 // java.lang.reflect.Field f
        end local 0 // com.oracle.svm.reflect.hosted.ReflectionDataBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/svm/reflect/hosted/ReflectionDataBuilder;
            0    3     2     f  Ljava/lang/reflect/Field;
}
SourceFile: "ReflectionDataBuilder.java"
NestMembers:
  com.oracle.svm.reflect.hosted.ReflectionDataBuilder$FieldFlag  com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors
InnerClasses:
  public final ReflectionData = com.oracle.svm.core.hub.DynamicHub$ReflectionData of com.oracle.svm.core.hub.DynamicHub
  public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
  public DuringAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
  public DuringSetupAccessImpl = com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl of com.oracle.svm.hosted.FeatureImpl
  private final FieldFlag = com.oracle.svm.reflect.hosted.ReflectionDataBuilder$FieldFlag of com.oracle.svm.reflect.hosted.ReflectionDataBuilder
  final ReflectionDataAccessors = com.oracle.svm.reflect.hosted.ReflectionDataBuilder$ReflectionDataAccessors of com.oracle.svm.reflect.hosted.ReflectionDataBuilder
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract DuringAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess of org.graalvm.nativeimage.hosted.Feature