public class org.graalvm.compiler.phases.util.Providers extends org.graalvm.compiler.nodes.spi.CoreProvidersImpl implements org.graalvm.compiler.core.common.spi.CodeGenProviders
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.phases.util.Providers
  super_class: org.graalvm.compiler.nodes.spi.CoreProvidersImpl
{
  private final jdk.vm.ci.code.CodeCacheProvider codeCache;
    descriptor: Ljdk/vm/ci/code/CodeCacheProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection;
    descriptor: Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.word.WordTypes wordTypes;
    descriptor: Lorg/graalvm/compiler/word/WordTypes;
    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 46
            ldc Lorg/graalvm/compiler/phases/util/Providers;
            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 org.graalvm.compiler.phases.util.Providers.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.code.CodeCacheProvider, jdk.vm.ci.meta.ConstantReflectionProvider, org.graalvm.compiler.core.common.spi.ConstantFieldProvider, org.graalvm.compiler.core.common.spi.ForeignCallsProvider, org.graalvm.compiler.nodes.spi.LoweringProvider, org.graalvm.compiler.nodes.spi.Replacements, org.graalvm.compiler.nodes.spi.StampProvider, org.graalvm.compiler.nodes.spi.PlatformConfigurationProvider, org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.word.WordTypes);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/nodes/spi/StampProvider;Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/word/WordTypes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=13, args_size=13
        start local 0 // org.graalvm.compiler.phases.util.Providers this
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 2 // jdk.vm.ci.code.CodeCacheProvider codeCache
        start local 3 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        start local 4 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider constantFieldProvider
        start local 5 // org.graalvm.compiler.core.common.spi.ForeignCallsProvider foreignCalls
        start local 6 // org.graalvm.compiler.nodes.spi.LoweringProvider lowerer
        start local 7 // org.graalvm.compiler.nodes.spi.Replacements replacements
        start local 8 // org.graalvm.compiler.nodes.spi.StampProvider stampProvider
        start local 9 // org.graalvm.compiler.nodes.spi.PlatformConfigurationProvider platformConfigurationProvider
        start local 10 // org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider metaAccessExtensionProvider
        start local 11 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        start local 12 // org.graalvm.compiler.word.WordTypes wordTypes
         0: .line 56
            aload 0 /* this */
            aload 1 /* metaAccess */
            aload 3 /* constantReflection */
            aload 4 /* constantFieldProvider */
            aload 6 /* lowerer */
            aload 7 /* replacements */
            aload 8 /* stampProvider */
            aload 5 /* foreignCalls */
            aload 9 /* platformConfigurationProvider */
            aload 10 /* metaAccessExtensionProvider */
            invokespecial org.graalvm.compiler.nodes.spi.CoreProvidersImpl.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/nodes/spi/StampProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;)V
         1: .line 57
            aload 0 /* this */
            aload 2 /* codeCache */
            putfield org.graalvm.compiler.phases.util.Providers.codeCache:Ljdk/vm/ci/code/CodeCacheProvider;
         2: .line 58
            aload 0 /* this */
            aload 11 /* snippetReflection */
            putfield org.graalvm.compiler.phases.util.Providers.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
         3: .line 59
            aload 0 /* this */
            aload 12 /* wordTypes */
            putfield org.graalvm.compiler.phases.util.Providers.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
         4: .line 60
            return
        end local 12 // org.graalvm.compiler.word.WordTypes wordTypes
        end local 11 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        end local 10 // org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider metaAccessExtensionProvider
        end local 9 // org.graalvm.compiler.nodes.spi.PlatformConfigurationProvider platformConfigurationProvider
        end local 8 // org.graalvm.compiler.nodes.spi.StampProvider stampProvider
        end local 7 // org.graalvm.compiler.nodes.spi.Replacements replacements
        end local 6 // org.graalvm.compiler.nodes.spi.LoweringProvider lowerer
        end local 5 // org.graalvm.compiler.core.common.spi.ForeignCallsProvider foreignCalls
        end local 4 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider constantFieldProvider
        end local 3 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 2 // jdk.vm.ci.code.CodeCacheProvider codeCache
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.phases.util.Providers this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    5     0                           this  Lorg/graalvm/compiler/phases/util/Providers;
            0    5     1                     metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    5     2                      codeCache  Ljdk/vm/ci/code/CodeCacheProvider;
            0    5     3             constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            0    5     4          constantFieldProvider  Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            0    5     5                   foreignCalls  Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            0    5     6                        lowerer  Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            0    5     7                   replacements  Lorg/graalvm/compiler/nodes/spi/Replacements;
            0    5     8                  stampProvider  Lorg/graalvm/compiler/nodes/spi/StampProvider;
            0    5     9  platformConfigurationProvider  Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;
            0    5    10    metaAccessExtensionProvider  Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
            0    5    11              snippetReflection  Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            0    5    12                      wordTypes  Lorg/graalvm/compiler/word/WordTypes;
    MethodParameters:
                               Name  Flags
      metaAccess                     
      codeCache                      
      constantReflection             
      constantFieldProvider          
      foreignCalls                   
      lowerer                        
      replacements                   
      stampProvider                  
      platformConfigurationProvider  
      metaAccessExtensionProvider    
      snippetReflection              
      wordTypes                      

  public void <init>(org.graalvm.compiler.phases.util.Providers);
    descriptor: (Lorg/graalvm/compiler/phases/util/Providers;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.util.Providers this
        start local 1 // org.graalvm.compiler.phases.util.Providers copyFrom
         0: .line 63
            aload 0 /* this */
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantFieldProvider:()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getForeignCalls:()Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
         1: .line 64
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getPlatformConfigurationProvider:()Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccessExtensionProvider:()Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
         2: .line 65
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.util.Providers.getWordTypes:()Lorg/graalvm/compiler/word/WordTypes;
            invokespecial org.graalvm.compiler.phases.util.Providers.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/nodes/spi/StampProvider;Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/word/WordTypes;)V
         3: .line 66
            return
        end local 1 // org.graalvm.compiler.phases.util.Providers copyFrom
        end local 0 // org.graalvm.compiler.phases.util.Providers this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/graalvm/compiler/phases/util/Providers;
            0    4     1  copyFrom  Lorg/graalvm/compiler/phases/util/Providers;
    MethodParameters:
          Name  Flags
      copyFrom  

  public jdk.vm.ci.code.CodeCacheProvider getCodeCache();
    descriptor: ()Ljdk/vm/ci/code/CodeCacheProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.util.Providers this
         0: .line 70
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.codeCache:Ljdk/vm/ci/code/CodeCacheProvider;
            areturn
        end local 0 // org.graalvm.compiler.phases.util.Providers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/util/Providers;

  public org.graalvm.compiler.api.replacements.SnippetReflectionProvider getSnippetReflection();
    descriptor: ()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.util.Providers this
         0: .line 74
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            areturn
        end local 0 // org.graalvm.compiler.phases.util.Providers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/util/Providers;

  public org.graalvm.compiler.word.WordTypes getWordTypes();
    descriptor: ()Lorg/graalvm/compiler/word/WordTypes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.util.Providers this
         0: .line 78
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            areturn
        end local 0 // org.graalvm.compiler.phases.util.Providers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/util/Providers;

  public org.graalvm.compiler.phases.util.Providers copyWith(jdk.vm.ci.meta.ConstantReflectionProvider);
    descriptor: (Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.util.Providers this
        start local 1 // jdk.vm.ci.meta.ConstantReflectionProvider substitution
         0: .line 83
            getstatic org.graalvm.compiler.phases.util.Providers.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/graalvm/compiler/phases/util/Providers;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            ldc "must override"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 84
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.phases.util.Providers
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.codeCache:Ljdk/vm/ci/code/CodeCacheProvider;
            aload 1 /* substitution */
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.constantFieldProvider:Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.lowerer:Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.stampProvider:Lorg/graalvm/compiler/nodes/spi/StampProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.platformConfigurationProvider:Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
         2: .line 85
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
         3: .line 84
            invokespecial org.graalvm.compiler.phases.util.Providers.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/nodes/spi/StampProvider;Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/word/WordTypes;)V
            areturn
        end local 1 // jdk.vm.ci.meta.ConstantReflectionProvider substitution
        end local 0 // org.graalvm.compiler.phases.util.Providers this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/phases/util/Providers;
            0    4     1  substitution  Ljdk/vm/ci/meta/ConstantReflectionProvider;
    MethodParameters:
              Name  Flags
      substitution  

  public org.graalvm.compiler.phases.util.Providers copyWith(org.graalvm.compiler.core.common.spi.ConstantFieldProvider);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;)Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.util.Providers this
        start local 1 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider substitution
         0: .line 90
            getstatic org.graalvm.compiler.phases.util.Providers.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/graalvm/compiler/phases/util/Providers;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            ldc "must override"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 91
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.phases.util.Providers
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.codeCache:Ljdk/vm/ci/code/CodeCacheProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.constantReflection:Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 1 /* substitution */
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.lowerer:Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.stampProvider:Lorg/graalvm/compiler/nodes/spi/StampProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.platformConfigurationProvider:Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
         2: .line 92
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
         3: .line 91
            invokespecial org.graalvm.compiler.phases.util.Providers.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/nodes/spi/StampProvider;Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/word/WordTypes;)V
            areturn
        end local 1 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider substitution
        end local 0 // org.graalvm.compiler.phases.util.Providers this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/phases/util/Providers;
            0    4     1  substitution  Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
    MethodParameters:
              Name  Flags
      substitution  

  public org.graalvm.compiler.phases.util.Providers copyWith(org.graalvm.compiler.nodes.spi.Replacements);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/Replacements;)Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.util.Providers this
        start local 1 // org.graalvm.compiler.nodes.spi.Replacements substitution
         0: .line 97
            getstatic org.graalvm.compiler.phases.util.Providers.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/graalvm/compiler/phases/util/Providers;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "must override in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 98
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.phases.util.Providers
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.codeCache:Ljdk/vm/ci/code/CodeCacheProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.constantReflection:Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.constantFieldProvider:Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.lowerer:Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            aload 1 /* substitution */
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.stampProvider:Lorg/graalvm/compiler/nodes/spi/StampProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.platformConfigurationProvider:Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;
         2: .line 99
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
         3: .line 98
            invokespecial org.graalvm.compiler.phases.util.Providers.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/nodes/spi/StampProvider;Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/word/WordTypes;)V
            areturn
        end local 1 // org.graalvm.compiler.nodes.spi.Replacements substitution
        end local 0 // org.graalvm.compiler.phases.util.Providers this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/phases/util/Providers;
            0    4     1  substitution  Lorg/graalvm/compiler/nodes/spi/Replacements;
    MethodParameters:
              Name  Flags
      substitution  

  public org.graalvm.compiler.phases.util.Providers copyWith(org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;)Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.util.Providers this
        start local 1 // org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider substitution
         0: .line 103
            getstatic org.graalvm.compiler.phases.util.Providers.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/graalvm/compiler/phases/util/Providers;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " must override"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 104
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.phases.util.Providers
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.codeCache:Ljdk/vm/ci/code/CodeCacheProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.constantReflection:Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.constantFieldProvider:Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.lowerer:Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.stampProvider:Lorg/graalvm/compiler/nodes/spi/StampProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.platformConfigurationProvider:Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;
            aload 1 /* substitution */
         2: .line 105
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
         3: .line 104
            invokespecial org.graalvm.compiler.phases.util.Providers.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/nodes/spi/StampProvider;Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/word/WordTypes;)V
            areturn
        end local 1 // org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider substitution
        end local 0 // org.graalvm.compiler.phases.util.Providers this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/phases/util/Providers;
            0    4     1  substitution  Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
    MethodParameters:
              Name  Flags
      substitution  

  public org.graalvm.compiler.nodes.spi.CoreProvidersImpl copyWith(org.graalvm.compiler.nodes.spi.Replacements);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/Replacements;)Lorg/graalvm/compiler/nodes/spi/CoreProvidersImpl;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.phases.util.Providers.copyWith:(Lorg/graalvm/compiler/nodes/spi/Replacements;)Lorg/graalvm/compiler/phases/util/Providers;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.graalvm.compiler.nodes.spi.CoreProvidersImpl copyWith(org.graalvm.compiler.core.common.spi.ConstantFieldProvider);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;)Lorg/graalvm/compiler/nodes/spi/CoreProvidersImpl;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.phases.util.Providers.copyWith:(Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;)Lorg/graalvm/compiler/phases/util/Providers;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.graalvm.compiler.nodes.spi.CoreProvidersImpl copyWith(jdk.vm.ci.meta.ConstantReflectionProvider);
    descriptor: (Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/spi/CoreProvidersImpl;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.phases.util.Providers.copyWith:(Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/phases/util/Providers;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "Providers.java"