public class org.graalvm.compiler.api.directives.test.RootNameDirectiveTest extends org.graalvm.compiler.core.test.GraalCompilerTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.api.directives.test.RootNameDirectiveTest
  super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
  static java.lang.String rootNameInCallee;
    descriptor: Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String rootNameInCaller;
    descriptor: Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.api.directives.test.RootNameDirectiveTest this
         0: .line 52
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
         1: .line 53
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/api/directives/test/RootNameDirectiveTest;
            ldc "rootNameAtCalleeSnippet"
            invokevirtual org.graalvm.compiler.api.directives.test.RootNameDirectiveTest.getResolvedJavaMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod
            astore 1 /* rootNameAtCalleeSnippet */
        start local 1 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod rootNameAtCalleeSnippet
         2: .line 54
            aload 1 /* rootNameAtCalleeSnippet */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod.shouldBeInlined:()Z
            pop
         3: .line 56
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/api/directives/test/RootNameDirectiveTest;
            ldc "rootNameWithinInstrumentationSnippet"
            invokevirtual org.graalvm.compiler.api.directives.test.RootNameDirectiveTest.getResolvedJavaMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod
            astore 2 /* rootNameWithinInstrumentationSnippet */
        start local 2 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod rootNameWithinInstrumentationSnippet
         4: .line 57
            aload 2 /* rootNameWithinInstrumentationSnippet */
            invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod.shouldBeInlined:()Z
            pop
         5: .line 58
            return
        end local 2 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod rootNameWithinInstrumentationSnippet
        end local 1 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod rootNameAtCalleeSnippet
        end local 0 // org.graalvm.compiler.api.directives.test.RootNameDirectiveTest this
      LocalVariableTable:
        Start  End  Slot                                  Name  Signature
            0    6     0                                  this  Lorg/graalvm/compiler/api/directives/test/RootNameDirectiveTest;
            2    6     1               rootNameAtCalleeSnippet  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;
            4    6     2  rootNameWithinInstrumentationSnippet  Ljdk/vm/ci/hotspot/HotSpotResolvedJavaMethod;

  private static java.lang.String toString(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 61
            new java.lang.StringBuilder
            dup
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            invokeinterface jdk.vm.ci.meta.Signature.toMethodDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
        Name  Flags
      method  

  public static java.lang.String rootNameSnippet();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 65
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.rootName:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void testRootName();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.api.directives.test.RootNameDirectiveTest this
         0: .line 68
            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.api.directives.test.RootNameDirectiveTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/api/directives/test/RootNameDirectiveTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public static java.lang.String rootNameAtCalleeSnippet();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 84
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.rootName:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String callerSnippet();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 88
            invokestatic org.graalvm.compiler.api.directives.test.RootNameDirectiveTest.rootNameAtCalleeSnippet:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void testRootNameAtCallee();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.api.directives.test.RootNameDirectiveTest this
         0: .line 91
            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.api.directives.test.RootNameDirectiveTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/api/directives/test/RootNameDirectiveTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public static void rootNameWithinInstrumentationSnippet();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 111
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.instrumentationBegin:()V
         1: .line 112
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.rootName:()Ljava/lang/String;
            putstatic org.graalvm.compiler.api.directives.test.RootNameDirectiveTest.rootNameInCallee:Ljava/lang/String;
         2: .line 113
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.instrumentationEnd:()V
         3: .line 114
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.test.GraalCompilerTest$BytecodeParserForceInline()

  public static void callerSnippet1();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 117
            invokestatic org.graalvm.compiler.api.directives.test.RootNameDirectiveTest.rootNameWithinInstrumentationSnippet:()V
         1: .line 119
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.instrumentationBegin:()V
         2: .line 120
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.rootName:()Ljava/lang/String;
            putstatic org.graalvm.compiler.api.directives.test.RootNameDirectiveTest.rootNameInCaller:Ljava/lang/String;
         3: .line 121
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.instrumentationEnd:()V
         4: .line 122
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void assertEquals(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.code.InstalledCode, java.lang.Object, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/code/InstalledCode;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.api.directives.test.RootNameDirectiveTest this
         0: .line 126
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tObjects 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.api.directives.test.RootNameDirectiveTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/api/directives/test/RootNameDirectiveTest;
    MethodParameters:
          Name  Flags
      graph     
      code      
      expected  
      actual    

  public void testRootNameWithinInstrumentationAtCallee();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.api.directives.test.RootNameDirectiveTest this
         0: .line 157
            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.api.directives.test.RootNameDirectiveTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/api/directives/test/RootNameDirectiveTest;
    RuntimeInvisibleAnnotations: 
      Test()
}
SourceFile: "RootNameDirectiveTest.java"
InnerClasses:
  public abstract BytecodeParserForceInline = org.graalvm.compiler.core.test.GraalCompilerTest$BytecodeParserForceInline of org.graalvm.compiler.core.test.GraalCompilerTest