public class org.graalvm.compiler.phases.util.Providers 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: java.lang.Object
{
  private final jdk.vm.ci.meta.MetaAccessProvider metaAccess;
    descriptor: Ljdk/vm/ci/meta/MetaAccessProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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.nodes.spi.LoweringProvider lowerer;
    descriptor: Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.meta.ConstantReflectionProvider constantReflection;
    descriptor: Ljdk/vm/ci/meta/ConstantReflectionProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.core.common.spi.ConstantFieldProvider constantFieldProvider;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.core.common.spi.ForeignCallsProvider foreignCalls;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.nodes.spi.Replacements replacements;
    descriptor: Lorg/graalvm/compiler/nodes/spi/Replacements;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.nodes.spi.StampProvider stampProvider;
    descriptor: Lorg/graalvm/compiler/nodes/spi/StampProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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);
    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;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=9, args_size=9
        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
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
            aload 1 /* metaAccess */
            putfield org.graalvm.compiler.phases.util.Providers.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
         2: .line 57
            aload 0 /* this */
            aload 2 /* codeCache */
            putfield org.graalvm.compiler.phases.util.Providers.codeCache:Ljdk/vm/ci/code/CodeCacheProvider;
         3: .line 58
            aload 0 /* this */
            aload 3 /* constantReflection */
            putfield org.graalvm.compiler.phases.util.Providers.constantReflection:Ljdk/vm/ci/meta/ConstantReflectionProvider;
         4: .line 59
            aload 0 /* this */
            aload 4 /* constantFieldProvider */
            putfield org.graalvm.compiler.phases.util.Providers.constantFieldProvider:Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
         5: .line 60
            aload 0 /* this */
            aload 5 /* foreignCalls */
            putfield org.graalvm.compiler.phases.util.Providers.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
         6: .line 61
            aload 0 /* this */
            aload 6 /* lowerer */
            putfield org.graalvm.compiler.phases.util.Providers.lowerer:Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
         7: .line 62
            aload 0 /* this */
            aload 7 /* replacements */
            putfield org.graalvm.compiler.phases.util.Providers.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
         8: .line 63
            aload 0 /* this */
            aload 8 /* stampProvider */
            putfield org.graalvm.compiler.phases.util.Providers.stampProvider:Lorg/graalvm/compiler/nodes/spi/StampProvider;
         9: .line 64
            return
        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   10     0                   this  Lorg/graalvm/compiler/phases/util/Providers;
            0   10     1             metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0   10     2              codeCache  Ljdk/vm/ci/code/CodeCacheProvider;
            0   10     3     constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            0   10     4  constantFieldProvider  Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            0   10     5           foreignCalls  Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            0   10     6                lowerer  Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            0   10     7           replacements  Lorg/graalvm/compiler/nodes/spi/Replacements;
            0   10     8          stampProvider  Lorg/graalvm/compiler/nodes/spi/StampProvider;
    MethodParameters:
                       Name  Flags
      metaAccess             
      codeCache              
      constantReflection     
      constantFieldProvider  
      foreignCalls           
      lowerer                
      replacements           
      stampProvider          

  public void <init>(org.graalvm.compiler.phases.util.Providers);
    descriptor: (Lorg/graalvm/compiler/phases/util/Providers;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, 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 67
            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 68
            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;
            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;)V
         2: .line 69
            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    3     0      this  Lorg/graalvm/compiler/phases/util/Providers;
            0    3     1  copyFrom  Lorg/graalvm/compiler/phases/util/Providers;
    MethodParameters:
          Name  Flags
      copyFrom  

  public void <init>(org.graalvm.compiler.phases.tiers.PhaseContext);
    descriptor: (Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.util.Providers this
        start local 1 // org.graalvm.compiler.phases.tiers.PhaseContext copyFrom
         0: .line 72
            aload 0 /* this */
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aconst_null
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getConstantFieldProvider:()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            aconst_null
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
         1: .line 73
            aload 1 /* copyFrom */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
            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;)V
         2: .line 74
            return
        end local 1 // org.graalvm.compiler.phases.tiers.PhaseContext copyFrom
        end local 0 // org.graalvm.compiler.phases.util.Providers this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/phases/util/Providers;
            0    3     1  copyFrom  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
    MethodParameters:
          Name  Flags
      copyFrom  

  public jdk.vm.ci.meta.MetaAccessProvider getMetaAccess();
    descriptor: ()Ljdk/vm/ci/meta/MetaAccessProvider;
    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.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            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 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 83
            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.core.common.spi.ForeignCallsProvider getForeignCalls();
    descriptor: ()Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.util.Providers this
         0: .line 88
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
            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.nodes.spi.LoweringProvider getLowerer();
    descriptor: ()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.util.Providers this
         0: .line 92
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.lowerer:Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            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.core.common.spi.ArrayOffsetProvider getArrayOffsetProvider();
    descriptor: ()Lorg/graalvm/compiler/core/common/spi/ArrayOffsetProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.util.Providers this
         0: .line 97
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.lowerer:Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            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 jdk.vm.ci.meta.ConstantReflectionProvider getConstantReflection();
    descriptor: ()Ljdk/vm/ci/meta/ConstantReflectionProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.util.Providers this
         0: .line 102
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.constantReflection:Ljdk/vm/ci/meta/ConstantReflectionProvider;
            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.core.common.spi.ConstantFieldProvider getConstantFieldProvider();
    descriptor: ()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.util.Providers this
         0: .line 106
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.constantFieldProvider:Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            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.nodes.spi.Replacements getReplacements();
    descriptor: ()Lorg/graalvm/compiler/nodes/spi/Replacements;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.util.Providers this
         0: .line 110
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
            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.nodes.spi.StampProvider getStampProvider();
    descriptor: ()Lorg/graalvm/compiler/nodes/spi/StampProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.util.Providers this
         0: .line 114
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.Providers.stampProvider:Lorg/graalvm/compiler/nodes/spi/StampProvider;
            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.MetaAccessProvider);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;)Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.util.Providers this
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider substitution
         0: .line 118
            new org.graalvm.compiler.phases.util.Providers
            dup
            aload 1 /* substitution */
            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;
            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;)V
            areturn
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider substitution
        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;
            0    1     1  substitution  Ljdk/vm/ci/meta/MetaAccessProvider;
    MethodParameters:
              Name  Flags
      substitution  

  public org.graalvm.compiler.phases.util.Providers copyWith(jdk.vm.ci.code.CodeCacheProvider);
    descriptor: (Ljdk/vm/ci/code/CodeCacheProvider;)Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.util.Providers this
        start local 1 // jdk.vm.ci.code.CodeCacheProvider substitution
         0: .line 122
            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 1 /* substitution */
            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;
            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;)V
            areturn
        end local 1 // jdk.vm.ci.code.CodeCacheProvider substitution
        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;
            0    1     1  substitution  Ljdk/vm/ci/code/CodeCacheProvider;
    MethodParameters:
              Name  Flags
      substitution  

  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=10, 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 126
            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;
            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;)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    1     0          this  Lorg/graalvm/compiler/phases/util/Providers;
            0    1     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=10, 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 130
            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;
            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;)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    1     0          this  Lorg/graalvm/compiler/phases/util/Providers;
            0    1     1  substitution  Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
    MethodParameters:
              Name  Flags
      substitution  

  public org.graalvm.compiler.phases.util.Providers copyWith(org.graalvm.compiler.core.common.spi.ForeignCallsProvider);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;)Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.util.Providers this
        start local 1 // org.graalvm.compiler.core.common.spi.ForeignCallsProvider substitution
         0: .line 134
            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 1 /* substitution */
            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;
            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;)V
            areturn
        end local 1 // org.graalvm.compiler.core.common.spi.ForeignCallsProvider substitution
        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;
            0    1     1  substitution  Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
    MethodParameters:
              Name  Flags
      substitution  

  public org.graalvm.compiler.phases.util.Providers copyWith(org.graalvm.compiler.nodes.spi.LoweringProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.util.Providers this
        start local 1 // org.graalvm.compiler.nodes.spi.LoweringProvider substitution
         0: .line 138
            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 1 /* substitution */
            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;
            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;)V
            areturn
        end local 1 // org.graalvm.compiler.nodes.spi.LoweringProvider substitution
        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;
            0    1     1  substitution  Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
    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=10, 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 142
            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;
            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;)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    1     0          this  Lorg/graalvm/compiler/phases/util/Providers;
            0    1     1  substitution  Lorg/graalvm/compiler/nodes/spi/Replacements;
    MethodParameters:
              Name  Flags
      substitution  

  public org.graalvm.compiler.phases.util.Providers copyWith(org.graalvm.compiler.nodes.spi.StampProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/StampProvider;)Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.util.Providers this
        start local 1 // org.graalvm.compiler.nodes.spi.StampProvider substitution
         0: .line 146
            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 1 /* substitution */
            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;)V
            areturn
        end local 1 // org.graalvm.compiler.nodes.spi.StampProvider substitution
        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;
            0    1     1  substitution  Lorg/graalvm/compiler/nodes/spi/StampProvider;
    MethodParameters:
              Name  Flags
      substitution  
}
SourceFile: "Providers.java"