public class com.oracle.svm.hosted.ReachabilityHandlerFeature implements org.graalvm.nativeimage.hosted.Feature
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.hosted.ReachabilityHandlerFeature
  super_class: java.lang.Object
{
  private final java.util.IdentityHashMap<java.lang.Object, java.util.Set<java.lang.Object>> activeHandlers;
    descriptor: Ljava/util/IdentityHashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/IdentityHashMap<Ljava/lang/Object;Ljava/util/Set<Ljava/lang/Object;>;>;

  private final java.util.IdentityHashMap<java.lang.Object, java.util.Map<java.lang.Object, java.util.Set<java.lang.Object>>> triggeredHandlers;
    descriptor: Ljava/util/IdentityHashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/IdentityHashMap<Ljava/lang/Object;Ljava/util/Map<Ljava/lang/Object;Ljava/util/Set<Ljava/lang/Object;>;>;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 54
            aload 0 /* this */
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            putfield com.oracle.svm.hosted.ReachabilityHandlerFeature.activeHandlers:Ljava/util/IdentityHashMap;
         2: .line 55
            aload 0 /* this */
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            putfield com.oracle.svm.hosted.ReachabilityHandlerFeature.triggeredHandlers:Ljava/util/IdentityHashMap;
         3: .line 52
            return
        end local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/svm/hosted/ReachabilityHandlerFeature;

  public static com.oracle.svm.hosted.ReachabilityHandlerFeature singleton();
    descriptor: ()Lcom/oracle/svm/hosted/ReachabilityHandlerFeature;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 58
            ldc Lcom/oracle/svm/hosted/ReachabilityHandlerFeature;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.ReachabilityHandlerFeature
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void registerMethodOverrideReachabilityHandler(com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl, java.util.function.BiConsumer<org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess, java.lang.reflect.Executable>, java.lang.reflect.Executable);
    descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;Ljava/util/function/BiConsumer;Ljava/lang/reflect/Executable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
        start local 1 // com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl a
        start local 2 // java.util.function.BiConsumer callback
        start local 3 // java.lang.reflect.Executable baseMethod
         0: .line 62
            aload 0 /* this */
            aload 1 /* a */
            aload 2 /* callback */
            iconst_1
            anewarray java.lang.reflect.Executable
            dup
            iconst_0
            aload 3 /* baseMethod */
            aastore
            iconst_0
            invokevirtual com.oracle.svm.hosted.ReachabilityHandlerFeature.registerReachabilityHandler:(Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/lang/Object;[Ljava/lang/Object;Z)V
         1: .line 63
            return
        end local 3 // java.lang.reflect.Executable baseMethod
        end local 2 // java.util.function.BiConsumer callback
        end local 1 // com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl a
        end local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/oracle/svm/hosted/ReachabilityHandlerFeature;
            0    2     1           a  Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;
            0    2     2    callback  Ljava/util/function/BiConsumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/reflect/Executable;>;
            0    2     3  baseMethod  Ljava/lang/reflect/Executable;
    Signature: (Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;Ljava/util/function/BiConsumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/reflect/Executable;>;Ljava/lang/reflect/Executable;)V
    MethodParameters:
            Name  Flags
      a           
      callback    
      baseMethod  

  public void registerSubtypeReachabilityHandler(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess, java.util.function.BiConsumer<org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess, java.lang.Class<?>>, java.lang.Class<?>);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/util/function/BiConsumer;Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess a
        start local 2 // java.util.function.BiConsumer callback
        start local 3 // java.lang.Class baseClass
         0: .line 66
            aload 0 /* this */
            aload 1 /* a */
            aload 2 /* callback */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 3 /* baseClass */
            aastore
            iconst_0
            invokevirtual com.oracle.svm.hosted.ReachabilityHandlerFeature.registerReachabilityHandler:(Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/lang/Object;[Ljava/lang/Object;Z)V
         1: .line 67
            return
        end local 3 // java.lang.Class baseClass
        end local 2 // java.util.function.BiConsumer callback
        end local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess a
        end local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/svm/hosted/ReachabilityHandlerFeature;
            0    2     1          a  Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
            0    2     2   callback  Ljava/util/function/BiConsumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/Class<*>;>;
            0    2     3  baseClass  Ljava/lang/Class<*>;
    Signature: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/util/function/BiConsumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/Class<*>;>;Ljava/lang/Class<*>;)V
    MethodParameters:
           Name  Flags
      a          
      callback   
      baseClass  

  public void registerClassInitializerReachabilityHandler(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess, java.util.function.Consumer<org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess>, java.lang.Class<?>);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/util/function/Consumer;Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess a
        start local 2 // java.util.function.Consumer callback
        start local 3 // java.lang.Class clazz
         0: .line 70
            aload 0 /* this */
            aload 1 /* a */
            aload 2 /* callback */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 3 /* clazz */
            aastore
            iconst_1
            invokevirtual com.oracle.svm.hosted.ReachabilityHandlerFeature.registerReachabilityHandler:(Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/lang/Object;[Ljava/lang/Object;Z)V
         1: .line 71
            return
        end local 3 // java.lang.Class clazz
        end local 2 // java.util.function.Consumer callback
        end local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess a
        end local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/svm/hosted/ReachabilityHandlerFeature;
            0    2     1         a  Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
            0    2     2  callback  Ljava/util/function/Consumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;>;
            0    2     3     clazz  Ljava/lang/Class<*>;
    Signature: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/util/function/Consumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;>;Ljava/lang/Class<*>;)V
    MethodParameters:
          Name  Flags
      a         
      callback  
      clazz     

  public void registerReachabilityHandler(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess, java.util.function.Consumer<org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess>, []);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/util/function/Consumer;[Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess a
        start local 2 // java.util.function.Consumer callback
        start local 3 // java.lang.Object[] triggers
         0: .line 74
            aload 0 /* this */
            aload 1 /* a */
            aload 2 /* callback */
            aload 3 /* triggers */
            iconst_0
            invokevirtual com.oracle.svm.hosted.ReachabilityHandlerFeature.registerReachabilityHandler:(Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/lang/Object;[Ljava/lang/Object;Z)V
         1: .line 75
            return
        end local 3 // java.lang.Object[] triggers
        end local 2 // java.util.function.Consumer callback
        end local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess a
        end local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/svm/hosted/ReachabilityHandlerFeature;
            0    2     1         a  Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
            0    2     2  callback  Ljava/util/function/Consumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;>;
            0    2     3  triggers  [Ljava/lang/Object;
    Signature: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/util/function/Consumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;>;[Ljava/lang/Object;)V
    MethodParameters:
          Name  Flags
      a         
      callback  
      triggers  

  private void registerReachabilityHandler(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess, java.lang.Object, java.lang.Object[], boolean);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;Ljava/lang/Object;[Ljava/lang/Object;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=5
        start local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess a
        start local 2 // java.lang.Object callback
        start local 3 // java.lang.Object[] triggers
        start local 4 // boolean triggerOnClassInitializer
         0: .line 78
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ReachabilityHandlerFeature.triggeredHandlers:Ljava/util/IdentityHashMap;
            aload 2 /* callback */
            invokevirtual java.util.IdentityHashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 80
            return
         2: .line 83
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            checkcast com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl
            astore 5 /* access */
        start local 5 // com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl access
         3: .line 84
            aload 5 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            astore 6 /* metaAccess */
        start local 6 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
         4: .line 86
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ReachabilityHandlerFeature.activeHandlers:Ljava/util/IdentityHashMap;
            aload 2 /* callback */
            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;
                  com/oracle/svm/hosted/ReachabilityHandlerFeature.lambda$0(Ljava/lang/Object;)Ljava/util/Set; (6)
                  (Ljava/lang/Object;)Ljava/util/Set;
            invokevirtual java.util.IdentityHashMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 7 /* triggerSet */
        start local 7 // java.util.Set triggerSet
         5: .line 88
            aload 3 /* triggers */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 21
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess java.lang.Object java.lang.Object[] int com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisMetaAccess java.util.Set top int int java.lang.Object[]
      StackMap stack:
         6: aload 11
            iload 9
            aaload
            astore 8 /* trigger */
        start local 8 // java.lang.Object trigger
         7: .line 89
            aload 8 /* trigger */
            instanceof java.lang.Class
            ifeq 13
         8: .line 90
            aload 6 /* metaAccess */
            aload 8 /* trigger */
            checkcast java.lang.Class
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
            astore 12 /* aType */
        start local 12 // com.oracle.graal.pointsto.meta.AnalysisType aType
         9: .line 91
            aload 7 /* triggerSet */
            iload 4 /* triggerOnClassInitializer */
            ifeq 10
            aload 12 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getClassInitializer:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            goto 11
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess java.lang.Object java.lang.Object[] int com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisMetaAccess java.util.Set java.lang.Object int int java.lang.Object[] com.oracle.graal.pointsto.meta.AnalysisType
      StackMap stack: java.util.Set
        10: aload 12 /* aType */
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess java.lang.Object java.lang.Object[] int com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisMetaAccess java.util.Set java.lang.Object int int java.lang.Object[] com.oracle.graal.pointsto.meta.AnalysisType
      StackMap stack: java.util.Set com.oracle.graal.pointsto.infrastructure.WrappedElement
        11: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // com.oracle.graal.pointsto.meta.AnalysisType aType
        12: .line 92
            goto 20
      StackMap locals:
      StackMap stack:
        13: aload 8 /* trigger */
            instanceof java.lang.reflect.Field
            ifeq 16
        14: .line 93
            aload 7 /* triggerSet */
            aload 6 /* metaAccess */
            aload 8 /* trigger */
            checkcast java.lang.reflect.Field
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaField:(Ljava/lang/reflect/Field;)Lcom/oracle/graal/pointsto/meta/AnalysisField;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        15: .line 94
            goto 20
      StackMap locals:
      StackMap stack:
        16: aload 8 /* trigger */
            instanceof java.lang.reflect.Executable
            ifeq 19
        17: .line 95
            aload 7 /* triggerSet */
            aload 6 /* metaAccess */
            aload 8 /* trigger */
            checkcast java.lang.reflect.Executable
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        18: .line 96
            goto 20
        19: .line 97
      StackMap locals:
      StackMap stack:
            ldc "registerReachabilityHandler called with an element that is not a Class, Field, Method, or Constructor: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* trigger */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        end local 8 // java.lang.Object trigger
        20: .line 88
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess java.lang.Object java.lang.Object[] int com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisMetaAccess java.util.Set top int int java.lang.Object[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        21: iload 9
            iload 10
            if_icmplt 6
        22: .line 101
            aload 5 /* access */
            instanceof org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess
            ifeq 24
        23: .line 103
            aload 5 /* access */
            checkcast org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess
            invokeinterface org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess.requireAnalysisIteration:()V
        24: .line 105
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess java.lang.Object java.lang.Object[] int com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl com.oracle.graal.pointsto.meta.AnalysisMetaAccess java.util.Set
      StackMap stack:
            return
        end local 7 // java.util.Set triggerSet
        end local 6 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess metaAccess
        end local 5 // com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl access
        end local 4 // boolean triggerOnClassInitializer
        end local 3 // java.lang.Object[] triggers
        end local 2 // java.lang.Object callback
        end local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess a
        end local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   25     0                       this  Lcom/oracle/svm/hosted/ReachabilityHandlerFeature;
            0   25     1                          a  Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
            0   25     2                   callback  Ljava/lang/Object;
            0   25     3                   triggers  [Ljava/lang/Object;
            0   25     4  triggerOnClassInitializer  Z
            3   25     5                     access  Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;
            4   25     6                 metaAccess  Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            5   25     7                 triggerSet  Ljava/util/Set<Ljava/lang/Object;>;
            7   20     8                    trigger  Ljava/lang/Object;
            9   12    12                      aType  Lcom/oracle/graal/pointsto/meta/AnalysisType;
    MethodParameters:
                           Name  Flags
      a                          
      callback                   
      triggers                   
      triggerOnClassInitializer  

  public void duringAnalysis(org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess a
         0: .line 109
            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 110
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* handledCallbacks */
        start local 3 // java.util.HashSet handledCallbacks
         2: .line 111
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ReachabilityHandlerFeature.activeHandlers:Ljava/util/IdentityHashMap;
            invokevirtual java.util.IdentityHashMap.keySet:()Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 4 /* callbacks */
        start local 4 // java.util.HashSet callbacks
         3: .line 113
      StackMap locals: com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.util.HashSet java.util.HashSet
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* completedCallbacks */
        start local 5 // java.util.List completedCallbacks
         4: .line 114
            aload 4 /* callbacks */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 7
            goto 16
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.util.HashSet java.util.HashSet java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* callback */
        start local 6 // java.lang.Object callback
         6: .line 115
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ReachabilityHandlerFeature.activeHandlers:Ljava/util/IdentityHashMap;
            aload 6 /* callback */
            invokevirtual java.util.IdentityHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 8 /* triggers */
        start local 8 // java.util.Set triggers
         7: .line 116
            aload 6 /* callback */
            instanceof java.util.function.Consumer
            ifeq 13
         8: .line 117
            aload 2 /* access */
            aload 8 /* triggers */
            invokestatic com.oracle.svm.hosted.ReachabilityHandlerFeature.isTriggered:(Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/util/Set;)Z
            ifeq 15
         9: .line 118
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ReachabilityHandlerFeature.triggeredHandlers:Ljava/util/IdentityHashMap;
            aload 6 /* callback */
            aconst_null
            invokevirtual java.util.IdentityHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 119
            aload 6 /* callback */
            invokestatic com.oracle.svm.hosted.ReachabilityHandlerFeature.toExactCallback:(Ljava/lang/Object;)Ljava/util/function/Consumer;
            aload 2 /* access */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        11: .line 120
            aload 5 /* completedCallbacks */
            aload 6 /* callback */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 122
            goto 15
        13: .line 123
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.util.HashSet java.util.HashSet java.util.List java.lang.Object java.util.Iterator java.util.Set
      StackMap stack:
            aload 6 /* callback */
            instanceof java.util.function.BiConsumer
            invokestatic com.oracle.svm.core.util.VMError.guarantee:(Z)V
        14: .line 124
            aload 0 /* this */
            aload 2 /* access */
            aload 6 /* callback */
            aload 8 /* triggers */
            invokevirtual com.oracle.svm.hosted.ReachabilityHandlerFeature.processReachable:(Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/lang/Object;Ljava/util/Set;)V
        15: .line 126
      StackMap locals:
      StackMap stack:
            aload 3 /* handledCallbacks */
            aload 6 /* callback */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.util.Set triggers
        end local 6 // java.lang.Object callback
        16: .line 114
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.util.HashSet java.util.HashSet java.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        17: .line 128
            aload 5 /* completedCallbacks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 21
      StackMap locals:
      StackMap stack:
        18: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* completed */
        start local 6 // java.lang.Object completed
        19: .line 129
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ReachabilityHandlerFeature.activeHandlers:Ljava/util/IdentityHashMap;
            aload 6 /* completed */
            invokevirtual java.util.IdentityHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 130
            aload 3 /* handledCallbacks */
            aload 6 /* completed */
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.Object completed
        21: .line 128
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        22: .line 132
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ReachabilityHandlerFeature.activeHandlers:Ljava/util/IdentityHashMap;
            invokevirtual java.util.IdentityHashMap.keySet:()Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 4 /* callbacks */
        23: .line 133
            aload 4 /* callbacks */
            aload 3 /* handledCallbacks */
            invokevirtual java.util.HashSet.removeAll:(Ljava/util/Collection;)Z
            pop
        end local 5 // java.util.List completedCallbacks
        24: .line 134
            aload 4 /* callbacks */
            invokevirtual java.util.HashSet.isEmpty:()Z
            ifeq 3
        25: .line 135
            return
        end local 4 // java.util.HashSet callbacks
        end local 3 // java.util.HashSet handledCallbacks
        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.hosted.ReachabilityHandlerFeature this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   26     0                this  Lcom/oracle/svm/hosted/ReachabilityHandlerFeature;
            0   26     1                   a  Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;
            1   26     2              access  Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;
            2   26     3    handledCallbacks  Ljava/util/HashSet<Ljava/lang/Object;>;
            3   26     4           callbacks  Ljava/util/HashSet<Ljava/lang/Object;>;
            4   24     5  completedCallbacks  Ljava/util/List<Ljava/lang/Object;>;
            6   16     6            callback  Ljava/lang/Object;
            7   16     8            triggers  Ljava/util/Set<Ljava/lang/Object;>;
           19   21     6           completed  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     

  private static boolean isTriggered(com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl, java.util.Set<java.lang.Object>);
    descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/util/Set;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
        start local 1 // java.util.Set triggers
         0: .line 138
            aload 1 /* triggers */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 15
      StackMap locals: com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* trigger */
        start local 2 // java.lang.Object trigger
         2: .line 139
            aload 2 /* trigger */
            instanceof com.oracle.graal.pointsto.meta.AnalysisType
            ifeq 5
         3: .line 140
            aload 0 /* access */
            aload 2 /* trigger */
            checkcast com.oracle.graal.pointsto.meta.AnalysisType
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.isReachable:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z
            ifeq 15
         4: .line 141
            iconst_1
            ireturn
         5: .line 143
      StackMap locals: com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.util.Set java.lang.Object java.util.Iterator
      StackMap stack:
            aload 2 /* trigger */
            instanceof com.oracle.graal.pointsto.meta.AnalysisField
            ifeq 8
         6: .line 144
            aload 0 /* access */
            aload 2 /* trigger */
            checkcast com.oracle.graal.pointsto.meta.AnalysisField
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.isReachable:(Lcom/oracle/graal/pointsto/meta/AnalysisField;)Z
            ifeq 15
         7: .line 145
            iconst_1
            ireturn
         8: .line 147
      StackMap locals:
      StackMap stack:
            aload 2 /* trigger */
            instanceof com.oracle.graal.pointsto.meta.AnalysisMethod
            ifeq 14
         9: .line 148
            aload 2 /* trigger */
            checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
            astore 4 /* triggerMethod */
        start local 4 // com.oracle.graal.pointsto.meta.AnalysisMethod triggerMethod
        10: .line 149
            aload 0 /* access */
            aload 4 /* triggerMethod */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.isReachable:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Z
            ifeq 12
        11: .line 150
            iconst_1
            ireturn
        12: .line 152
      StackMap locals: com.oracle.graal.pointsto.meta.AnalysisMethod
      StackMap stack:
            aload 4 /* triggerMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.isClassInitializer:()Z
            ifeq 15
            aload 4 /* triggerMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getDeclaringClass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInitialized:()Z
            ifeq 15
        13: .line 153
            iconst_1
            ireturn
        end local 4 // com.oracle.graal.pointsto.meta.AnalysisMethod triggerMethod
        14: .line 156
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unexpected trigger: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* trigger */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Object trigger
        15: .line 138
      StackMap locals: com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.util.Set top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        16: .line 159
            iconst_0
            ireturn
        end local 1 // java.util.Set triggers
        end local 0 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0         access  Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;
            0   17     1       triggers  Ljava/util/Set<Ljava/lang/Object;>;
            2   15     2        trigger  Ljava/lang/Object;
           10   14     4  triggerMethod  Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
    Signature: (Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/util/Set<Ljava/lang/Object;>;)Z
    MethodParameters:
          Name  Flags
      access    
      triggers  

  private static java.util.function.Consumer<org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess> toExactCallback();
    descriptor: (Ljava/lang/Object;)Ljava/util/function/Consumer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object callback
         0: .line 164
            aload 0 /* callback */
            checkcast java.util.function.Consumer
            areturn
        end local 0 // java.lang.Object callback
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  callback  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)Ljava/util/function/Consumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;>;
    MethodParameters:
          Name  Flags
      callback  

  private void processReachable(com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl, , java.util.Set<java.lang.Object>);
    descriptor: (Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/lang/Object;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=4
        start local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
        start local 1 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
        start local 2 // java.lang.Object callback
        start local 3 // java.util.Set triggers
         0: .line 168
            aload 0 /* this */
            getfield com.oracle.svm.hosted.ReachabilityHandlerFeature.triggeredHandlers:Ljava/util/IdentityHashMap;
            aload 2 /* callback */
            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;
                  com/oracle/svm/hosted/ReachabilityHandlerFeature.lambda$1(Ljava/lang/Object;)Ljava/util/Map; (6)
                  (Ljava/lang/Object;)Ljava/util/Map;
            invokevirtual java.util.IdentityHashMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 4 /* handledTriggers */
        start local 4 // java.util.Map handledTriggers
         1: .line 169
            aload 3 /* triggers */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 24
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.lang.Object java.util.Set java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* trigger */
        start local 5 // java.lang.Object trigger
         3: .line 170
            aload 5 /* trigger */
            instanceof com.oracle.graal.pointsto.meta.AnalysisType
            ifeq 13
         4: .line 171
            aload 1 /* access */
            aload 5 /* trigger */
            checkcast com.oracle.graal.pointsto.meta.AnalysisType
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.reachableSubtypes:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Ljava/util/Set;
            astore 7 /* newReachable */
        start local 7 // java.util.Set newReachable
         5: .line 172
            aload 4 /* handledTriggers */
            aload 5 /* trigger */
            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;
                  com/oracle/svm/hosted/ReachabilityHandlerFeature.lambda$2(Ljava/lang/Object;)Ljava/util/Set; (6)
                  (Ljava/lang/Object;)Ljava/util/Set;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 8 /* prevReachable */
        start local 8 // java.util.Set prevReachable
         6: .line 173
            aload 7 /* newReachable */
            aload 8 /* prevReachable */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
         7: .line 174
            aload 7 /* newReachable */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 11
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.lang.Object java.util.Set java.util.Map java.lang.Object java.util.Iterator java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         8: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.meta.AnalysisType
            astore 9 /* reachable */
        start local 9 // com.oracle.graal.pointsto.meta.AnalysisType reachable
         9: .line 175
            aload 2 /* callback */
            invokestatic com.oracle.svm.hosted.ReachabilityHandlerFeature.toSubtypeCallback:(Ljava/lang/Object;)Ljava/util/function/BiConsumer;
            aload 1 /* access */
            aload 9 /* reachable */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 176
            aload 8 /* prevReachable */
            aload 9 /* reachable */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // com.oracle.graal.pointsto.meta.AnalysisType reachable
        11: .line 174
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 8 // java.util.Set prevReachable
        end local 7 // java.util.Set newReachable
        12: .line 178
            goto 24
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.lang.Object java.util.Set java.util.Map java.lang.Object java.util.Iterator
      StackMap stack:
        13: aload 5 /* trigger */
            instanceof com.oracle.graal.pointsto.meta.AnalysisMethod
            ifeq 23
        14: .line 179
            aload 1 /* access */
            aload 5 /* trigger */
            checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
            invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl.reachableMethodOverrides:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Ljava/util/Set;
            astore 7 /* newReachable */
        start local 7 // java.util.Set newReachable
        15: .line 180
            aload 4 /* handledTriggers */
            aload 5 /* trigger */
            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;
                  com/oracle/svm/hosted/ReachabilityHandlerFeature.lambda$3(Ljava/lang/Object;)Ljava/util/Set; (6)
                  (Ljava/lang/Object;)Ljava/util/Set;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 8 /* prevReachable */
        start local 8 // java.util.Set prevReachable
        16: .line 181
            aload 7 /* newReachable */
            aload 8 /* prevReachable */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        17: .line 182
            aload 7 /* newReachable */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 21
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.lang.Object java.util.Set java.util.Map java.lang.Object java.util.Iterator java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        18: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
            astore 9 /* reachable */
        start local 9 // com.oracle.graal.pointsto.meta.AnalysisMethod reachable
        19: .line 183
            aload 2 /* callback */
            invokestatic com.oracle.svm.hosted.ReachabilityHandlerFeature.toOverrideCallback:(Ljava/lang/Object;)Ljava/util/function/BiConsumer;
            aload 1 /* access */
            aload 9 /* reachable */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getJavaMethod:()Ljava/lang/reflect/Executable;
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 184
            aload 8 /* prevReachable */
            aload 9 /* reachable */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // com.oracle.graal.pointsto.meta.AnalysisMethod reachable
        21: .line 182
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        end local 8 // java.util.Set prevReachable
        end local 7 // java.util.Set newReachable
        22: .line 186
            goto 24
        23: .line 187
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.lang.Object java.util.Set java.util.Map java.lang.Object java.util.Iterator
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unexpected subtype/override trigger: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* trigger */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // java.lang.Object trigger
        24: .line 169
      StackMap locals: com.oracle.svm.hosted.ReachabilityHandlerFeature com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl java.lang.Object java.util.Set java.util.Map top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        25: .line 190
            return
        end local 4 // java.util.Map handledTriggers
        end local 3 // java.util.Set triggers
        end local 2 // java.lang.Object callback
        end local 1 // com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl access
        end local 0 // com.oracle.svm.hosted.ReachabilityHandlerFeature this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   26     0             this  Lcom/oracle/svm/hosted/ReachabilityHandlerFeature;
            0   26     1           access  Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;
            0   26     2         callback  Ljava/lang/Object;
            0   26     3         triggers  Ljava/util/Set<Ljava/lang/Object;>;
            1   26     4  handledTriggers  Ljava/util/Map<Ljava/lang/Object;Ljava/util/Set<Ljava/lang/Object;>;>;
            3   24     5          trigger  Ljava/lang/Object;
            5   12     7     newReachable  Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisType;>;
            6   12     8    prevReachable  Ljava/util/Set<Ljava/lang/Object;>;
            9   11     9        reachable  Lcom/oracle/graal/pointsto/meta/AnalysisType;
           15   22     7     newReachable  Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;>;
           16   22     8    prevReachable  Ljava/util/Set<Ljava/lang/Object;>;
           19   21     9        reachable  Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
    Signature: (Lcom/oracle/svm/hosted/FeatureImpl$DuringAnalysisAccessImpl;Ljava/lang/Object;Ljava/util/Set<Ljava/lang/Object;>;)V
    MethodParameters:
          Name  Flags
      access    
      callback  
      triggers  

  private static java.util.function.BiConsumer<org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess, java.lang.Class<?>> toSubtypeCallback();
    descriptor: (Ljava/lang/Object;)Ljava/util/function/BiConsumer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object callback
         0: .line 194
            aload 0 /* callback */
            checkcast java.util.function.BiConsumer
            areturn
        end local 0 // java.lang.Object callback
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  callback  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)Ljava/util/function/BiConsumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/Class<*>;>;
    MethodParameters:
          Name  Flags
      callback  

  private static java.util.function.BiConsumer<org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess, java.lang.reflect.Executable> toOverrideCallback();
    descriptor: (Ljava/lang/Object;)Ljava/util/function/BiConsumer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object callback
         0: .line 199
            aload 0 /* callback */
            checkcast java.util.function.BiConsumer
            areturn
        end local 0 // java.lang.Object callback
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  callback  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)Ljava/util/function/BiConsumer<Lorg/graalvm/nativeimage/hosted/Feature$DuringAnalysisAccess;Ljava/lang/reflect/Executable;>;
    MethodParameters:
          Name  Flags
      callback  

  private static java.util.Set lambda$0(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/util/Set;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object c
         0: .line 86
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            areturn
        end local 0 // java.lang.Object c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/lang/Object;

  private static java.util.Map lambda$1(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/util/Map;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object c
         0: .line 168
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            areturn
        end local 0 // java.lang.Object c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/lang/Object;

  private static java.util.Set lambda$2(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/util/Set;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object c
         0: .line 172
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            areturn
        end local 0 // java.lang.Object c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/lang/Object;

  private static java.util.Set lambda$3(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/util/Set;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object c
         0: .line 180
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            areturn
        end local 0 // java.lang.Object c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/lang/Object;
}
SourceFile: "ReachabilityHandlerFeature.java"
InnerClasses:
  public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
  public BeforeAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
  public DuringAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$DuringAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract BeforeAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
  public abstract DuringAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$DuringAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.AutomaticFeature()