class org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1 implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1
  super_class: java.lang.Object
{
  final org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests this$0;
    descriptor: Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests);
    descriptor: (Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1 this
         0: .line 155
            aload 0 /* this */
            aload 1
            putfield org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1.this$0:Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests$1;
    MethodParameters:
        Name  Flags
      this$0  final

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1 this
         0: .line 160
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1.this$0:Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;
            ldc "unsafeFoldComponentType"
            getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.NO:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
            invokestatic org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests.access$0:(Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 1 /* graph */
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 161
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1.this$0:Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;
            invokestatic org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests.access$1:(Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;)Lorg/graalvm/compiler/phases/tiers/HighTierContext;
            astore 2 /* highContext */
        start local 2 // org.graalvm.compiler.phases.tiers.HighTierContext highContext
         2: .line 162
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/ParameterNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ParameterNode
            astore 3 /* param */
        start local 3 // org.graalvm.compiler.nodes.ParameterNode param
         3: .line 163
            aload 3 /* param */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1.this$0:Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;
            invokestatic org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests.access$2:(Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;)Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            ldc Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests$DummyClass;
            invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1.this$0:Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;
            invokestatic org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests.access$3:(Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;)Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokevirtual org.graalvm.compiler.nodes.ParameterNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
         4: .line 164
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1.this$0:Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;
            invokestatic org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests.access$4:(Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;)Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            aload 1 /* graph */
            aload 2 /* highContext */
            invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
         5: .line 165
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/ReturnNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ReturnNode
            astore 4 /* returnNode */
        start local 4 // org.graalvm.compiler.nodes.ReturnNode returnNode
         6: .line 166
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1.this$0:Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;
            invokestatic org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests.access$2:(Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;)Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            ldc Ljava/lang/Object;
            aload 4 /* returnNode */
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
            astore 5 /* result */
        start local 5 // java.lang.Object result
         7: .line 167
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1.this$0:Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;
            ldc "componentType must be null for non-array"
            aconst_null
            aload 5 /* result */
            invokestatic org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests.access$5:(Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 168
            return
        end local 5 // java.lang.Object result
        end local 4 // org.graalvm.compiler.nodes.ReturnNode returnNode
        end local 3 // org.graalvm.compiler.nodes.ParameterNode param
        end local 2 // org.graalvm.compiler.phases.tiers.HighTierContext highContext
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/graalvm/compiler/hotspot/test/ClassSubstitutionsTests$1;
            1    9     1        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    9     2  highContext  Lorg/graalvm/compiler/phases/tiers/HighTierContext;
            3    9     3        param  Lorg/graalvm/compiler/nodes/ParameterNode;
            6    9     4   returnNode  Lorg/graalvm/compiler/nodes/ReturnNode;
            7    9     5       result  Ljava/lang/Object;
}
SourceFile: "ClassSubstitutionsTests.java"
EnclosingMethod: org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests.testUnsafeFoldComponentType:()V
NestHost: org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests
InnerClasses:
  org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$1
  DummyClass = org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests$DummyClass of org.graalvm.compiler.hotspot.test.ClassSubstitutionsTests
  public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph