public class org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest extends org.graalvm.compiler.replacements.test.ReplacementsTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest
  super_class: org.graalvm.compiler.replacements.test.ReplacementsTest
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
         0: .line 59
            aload 0 /* this */
            invokespecial org.graalvm.compiler.replacements.test.ReplacementsTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/test/SubstitutionNodeSourcePositionTest;

  protected void registerInvocationPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
         0: .line 83
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tPluginFactory_SubstitutionNodeSourcePositionTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/test/SubstitutionNodeSourcePositionTest;
    MethodParameters:
                   Name  Flags
      invocationPlugins  

  public int methodSubstitution();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
         0: .line 91
            bipush 42
            invokestatic org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest$TestMethod.test:(I)I
            ireturn
        end local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/test/SubstitutionNodeSourcePositionTest;

  public void testMethodSubstitution();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
         0: .line 94
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/test/SubstitutionNodeSourcePositionTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void snippetLowering(java.lang.String[], java.lang.String);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
        start local 1 // java.lang.String[] array
        start local 2 // java.lang.String value
         0: .line 107
            aload 1 /* array */
            iconst_0
            aload 2 /* value */
            aastore
         1: .line 108
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String[] array
        end local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/replacements/test/SubstitutionNodeSourcePositionTest;
            0    2     1  array  [Ljava/lang/String;
            0    2     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      array  
      value  

  public void testSnippetLowering();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
         0: .line 110
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/test/SubstitutionNodeSourcePositionTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public int methodPlugin(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
        start local 1 // int i
         0: .line 126
            iload 1 /* i */
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.blackhole:(I)V
         1: .line 127
            iload 1 /* i */
            ireturn
        end local 1 // int i
        end local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/replacements/test/SubstitutionNodeSourcePositionTest;
            0    2     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public void testMethodPlugin();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
         0: .line 130
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/test/SubstitutionNodeSourcePositionTest;
    RuntimeInvisibleAnnotations: 
      Test()

  private void checkMappings(java.lang.String, boolean, java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/String;ZLjava/lang/Class;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
         0: .line 144
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tAssert cannot be resolved\n\tAssert cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/test/SubstitutionNodeSourcePositionTest;
    Signature: (Ljava/lang/String;ZLjava/lang/Class<*>;Ljava/lang/String;)V
    MethodParameters:
                Name  Flags
      snippetMethod   
      hasBytecodes    
      boundaryClass   
      boundaryMethod  

  private java.util.List<org.graalvm.compiler.code.SourceMapping> getSourceMappings(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
        start local 1 // java.lang.String name
         0: .line 166
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 2 /* method */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
         1: .line 167
            new org.graalvm.compiler.options.OptionValues
            dup
            invokestatic org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
            getstatic org.graalvm.compiler.core.common.GraalOptions.TrackNodeSourcePosition:Lorg/graalvm/compiler/options/OptionKey;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            anewarray java.lang.Object
            invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/Object;[Ljava/lang/Object;)V
            astore 3 /* options */
        start local 3 // org.graalvm.compiler.options.OptionValues options
         2: .line 168
            aload 0 /* this */
            aload 2 /* method */
            getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
            aload 3 /* options */
            invokevirtual org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest.parseEager:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 4 /* graph */
        start local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
         3: .line 169
            aload 4 /* graph */
            aload 4 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest.getBackend:()Lorg/graalvm/compiler/core/target/Backend;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest.getDefaultGraphBuilderSuite:()Lorg/graalvm/compiler/phases/PhaseSuite;
            getstatic org.graalvm.compiler.phases.OptimisticOptimizations.ALL:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            aload 4 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getProfilingInfo:()Ljdk/vm/ci/meta/ProfilingInfo;
         4: .line 170
            aload 0 /* this */
            aload 4 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest.createSuites:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/phases/tiers/Suites;
            aload 0 /* this */
            aload 4 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest.createLIRSuites:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/lir/phases/LIRSuites;
            new org.graalvm.compiler.code.CompilationResult
            dup
            aload 4 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.compilationId:()Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            invokespecial org.graalvm.compiler.code.CompilationResult.<init>:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;)V
            getstatic org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory.Default:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
            iconst_1
         5: .line 169
            invokestatic org.graalvm.compiler.core.GraalCompiler.compileGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/core/target/Backend;Lorg/graalvm/compiler/phases/PhaseSuite;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Ljdk/vm/ci/meta/ProfilingInfo;Lorg/graalvm/compiler/phases/tiers/Suites;Lorg/graalvm/compiler/lir/phases/LIRSuites;Lorg/graalvm/compiler/code/CompilationResult;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;Z)Lorg/graalvm/compiler/code/CompilationResult;
            astore 5 /* cr */
        start local 5 // org.graalvm.compiler.code.CompilationResult cr
         6: .line 171
            aload 5 /* cr */
            invokevirtual org.graalvm.compiler.code.CompilationResult.getSourceMappings:()Ljava/util/List;
            areturn
        end local 5 // org.graalvm.compiler.code.CompilationResult cr
        end local 4 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 3 // org.graalvm.compiler.options.OptionValues options
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/graalvm/compiler/replacements/test/SubstitutionNodeSourcePositionTest;
            0    7     1     name  Ljava/lang/String;
            1    7     2   method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            2    7     3  options  Lorg/graalvm/compiler/options/OptionValues;
            3    7     4    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            6    7     5       cr  Lorg/graalvm/compiler/code/CompilationResult;
    Signature: (Ljava/lang/String;)Ljava/util/List<Lorg/graalvm/compiler/code/SourceMapping;>;
    MethodParameters:
      Name  Flags
      name  
}
SourceFile: "SubstitutionNodeSourcePositionTest.java"
NestMembers:
  org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest$TestMethod  org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest$TestMethodSubstitution
InnerClasses:
  public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph
  private TestMethod = org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest$TestMethod of org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest
  public TestMethodSubstitution = org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest$TestMethodSubstitution of org.graalvm.compiler.replacements.test.SubstitutionNodeSourcePositionTest