final class com.oracle.svm.hosted.phases.FatalAssertionsFeature implements com.oracle.svm.core.graal.GraalFeature
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.svm.hosted.phases.FatalAssertionsFeature
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.phases.FatalAssertionsFeature this
         0: .line 119
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.svm.hosted.phases.FatalAssertionsFeature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/phases/FatalAssertionsFeature;

  public void beforeAnalysis(org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess);
    descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.svm.hosted.phases.FatalAssertionsFeature this
        start local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess a
         0: .line 123
            aload 1 /* a */
            checkcast com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl
            astore 2 /* access */
        start local 2 // com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl access
         1: .line 125
            getstatic com.oracle.svm.core.snippets.FatalAssertions.FOREIGN_CALLS:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: com.oracle.svm.hosted.phases.FatalAssertionsFeature org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor
            astore 3 /* descriptor */
        start local 3 // com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor descriptor
         3: .line 126
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
            aload 3 /* descriptor */
            aload 2 /* access */
            invokevirtual com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            invokevirtual com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor.findMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
            invokevirtual com.oracle.graal.pointsto.BigBang.addRootMethod:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            pop
        end local 3 // com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor descriptor
         4: .line 125
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 128
            return
        end local 2 // com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl access
        end local 1 // org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess a
        end local 0 // com.oracle.svm.hosted.phases.FatalAssertionsFeature this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/oracle/svm/hosted/phases/FatalAssertionsFeature;
            0    6     1           a  Lorg/graalvm/nativeimage/hosted/Feature$BeforeAnalysisAccess;
            1    6     2      access  Lcom/oracle/svm/hosted/FeatureImpl$BeforeAnalysisAccessImpl;
            3    4     3  descriptor  Lcom/oracle/svm/core/snippets/SnippetRuntime$SubstrateForeignCallDescriptor;
    MethodParameters:
      Name  Flags
      a     

  public void registerForeignCalls(com.oracle.svm.core.graal.meta.RuntimeConfiguration, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, com.oracle.svm.core.graal.meta.SubstrateForeignCallsProvider, boolean);
    descriptor: (Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lcom/oracle/svm/core/graal/meta/SubstrateForeignCallsProvider;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // com.oracle.svm.hosted.phases.FatalAssertionsFeature this
        start local 1 // com.oracle.svm.core.graal.meta.RuntimeConfiguration runtimeConfig
        start local 2 // org.graalvm.compiler.phases.util.Providers providers
        start local 3 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        start local 4 // com.oracle.svm.core.graal.meta.SubstrateForeignCallsProvider foreignCalls
        start local 5 // boolean hosted
         0: .line 132
            getstatic com.oracle.svm.core.snippets.FatalAssertions.FOREIGN_CALLS:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 3
      StackMap locals: com.oracle.svm.hosted.phases.FatalAssertionsFeature com.oracle.svm.core.graal.meta.RuntimeConfiguration org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider com.oracle.svm.core.graal.meta.SubstrateForeignCallsProvider int top java.util.Iterator
      StackMap stack:
         1: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor
            astore 6 /* descriptor */
        start local 6 // com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor descriptor
         2: .line 133
            aload 4 /* foreignCalls */
            aload 2 /* providers */
            iconst_1
            anewarray com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor
            dup
            iconst_0
            aload 6 /* descriptor */
            aastore
            invokevirtual com.oracle.svm.core.graal.meta.SubstrateForeignCallsProvider.register:(Lorg/graalvm/compiler/phases/util/Providers;[Lcom/oracle/svm/core/snippets/SnippetRuntime$SubstrateForeignCallDescriptor;)V
        end local 6 // com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor descriptor
         3: .line 132
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 135
            return
        end local 5 // boolean hosted
        end local 4 // com.oracle.svm.core.graal.meta.SubstrateForeignCallsProvider foreignCalls
        end local 3 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        end local 2 // org.graalvm.compiler.phases.util.Providers providers
        end local 1 // com.oracle.svm.core.graal.meta.RuntimeConfiguration runtimeConfig
        end local 0 // com.oracle.svm.hosted.phases.FatalAssertionsFeature this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lcom/oracle/svm/hosted/phases/FatalAssertionsFeature;
            0    5     1      runtimeConfig  Lcom/oracle/svm/core/graal/meta/RuntimeConfiguration;
            0    5     2          providers  Lorg/graalvm/compiler/phases/util/Providers;
            0    5     3  snippetReflection  Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            0    5     4       foreignCalls  Lcom/oracle/svm/core/graal/meta/SubstrateForeignCallsProvider;
            0    5     5             hosted  Z
            2    3     6         descriptor  Lcom/oracle/svm/core/snippets/SnippetRuntime$SubstrateForeignCallDescriptor;
    MethodParameters:
                   Name  Flags
      runtimeConfig      
      providers          
      snippetReflection  
      foreignCalls       
      hosted             

  public void registerGraphBuilderPlugins(org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins, boolean, boolean);
    descriptor: (Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.svm.hosted.phases.FatalAssertionsFeature this
        start local 1 // org.graalvm.compiler.phases.util.Providers providers
        start local 2 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins plugins
        start local 3 // boolean analysis
        start local 4 // boolean hosted
         0: .line 139
            aload 2 /* plugins */
            new com.oracle.svm.hosted.phases.FatalAssertionsNodePlugin
            dup
            aload 1 /* providers */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            invokespecial com.oracle.svm.hosted.phases.FatalAssertionsNodePlugin.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.appendNodePlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/NodePlugin;)V
         1: .line 140
            return
        end local 4 // boolean hosted
        end local 3 // boolean analysis
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins plugins
        end local 1 // org.graalvm.compiler.phases.util.Providers providers
        end local 0 // com.oracle.svm.hosted.phases.FatalAssertionsFeature this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/svm/hosted/phases/FatalAssertionsFeature;
            0    2     1  providers  Lorg/graalvm/compiler/phases/util/Providers;
            0    2     2    plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            0    2     3   analysis  Z
            0    2     4     hosted  Z
    MethodParameters:
           Name  Flags
      providers  
      plugins    
      analysis   
      hosted     
}
SourceFile: "FatalAssertionsFeature.java"
InnerClasses:
  public SubstrateForeignCallDescriptor = com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor of com.oracle.svm.core.snippets.SnippetRuntime
  public BeforeAnalysisAccessImpl = com.oracle.svm.hosted.FeatureImpl$BeforeAnalysisAccessImpl of com.oracle.svm.hosted.FeatureImpl
  public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
  public abstract BeforeAnalysisAccess = org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess of org.graalvm.nativeimage.hosted.Feature
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.AutomaticFeature()