public class org.graalvm.compiler.replacements.test.InvokeTest 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.replacements.test.InvokeTest
  super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.InvokeTest this
         0: .line 37
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
         1: .line 38
            aload 0 /* this */
            invokestatic org.graalvm.compiler.replacements.test.InvokeTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.createSuites:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/phases/tiers/Suites;
            invokevirtual org.graalvm.compiler.phases.tiers.Suites.getHighTier:()Lorg/graalvm/compiler/phases/PhaseSuite;
            ldc Lorg/graalvm/compiler/phases/common/AbstractInliningPhase;
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.findPhase:(Ljava/lang/Class;)Ljava/util/ListIterator;
            invokeinterface java.util.ListIterator.remove:()V
         2: .line 39
            return
        end local 0 // org.graalvm.compiler.replacements.test.InvokeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/replacements/test/InvokeTest;

  private java.lang.String privateMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.test.InvokeTest this
        start local 1 // java.lang.String s
         0: .line 58
            aload 1 /* s */
            areturn
        end local 1 // java.lang.String s
        end local 0 // org.graalvm.compiler.replacements.test.InvokeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/test/InvokeTest;
            0    1     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public void test1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.InvokeTest this
         0: .line 63
            aload 0 /* this */
            ldc "invokestatic"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "a string"
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         1: .line 64
            aload 0 /* this */
            ldc "invokespecialConstructor"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "a string"
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 65
            aload 0 /* this */
            ldc "invokespecial"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            dup
            iconst_1
            ldc "a string"
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 66
            aload 0 /* this */
            ldc "invokevirtual"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new org.graalvm.compiler.replacements.test.InvokeTest$A
            dup
            invokespecial org.graalvm.compiler.replacements.test.InvokeTest$A.<init>:()V
            aastore
            dup
            iconst_1
            ldc "a string"
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 67
            aload 0 /* this */
            ldc "invokevirtual2"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new org.graalvm.compiler.replacements.test.InvokeTest$A
            dup
            invokespecial org.graalvm.compiler.replacements.test.InvokeTest$A.<init>:()V
            aastore
            dup
            iconst_1
            ldc "a string"
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         5: .line 68
            aload 0 /* this */
            ldc "invokeinterface"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new org.graalvm.compiler.replacements.test.InvokeTest$A
            dup
            invokespecial org.graalvm.compiler.replacements.test.InvokeTest$A.<init>:()V
            aastore
            dup
            iconst_1
            ldc "a string"
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         6: .line 69
            iconst_1
            anewarray java.lang.Object
            astore 1 /* args */
        start local 1 // java.lang.Object[] args
         7: .line 70
            aload 0 /* this */
            ldc "invokestatic"
            aload 1 /* args */
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         8: .line 71
            aload 0 /* this */
            ldc "invokespecialConstructor"
            aload 1 /* args */
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         9: .line 72
            aload 0 /* this */
            ldc "invokespecial"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aconst_null
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        10: .line 73
            aload 0 /* this */
            ldc "invokevirtual"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aconst_null
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        11: .line 74
            aload 0 /* this */
            ldc "invokevirtual2"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aconst_null
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        12: .line 75
            aload 0 /* this */
            ldc "invokeinterface"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aconst_null
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        13: .line 76
            return
        end local 1 // java.lang.Object[] args
        end local 0 // org.graalvm.compiler.replacements.test.InvokeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/graalvm/compiler/replacements/test/InvokeTest;
            7   14     1  args  [Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static java.lang.String invokestatic(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 79
            aload 0 /* s */
            invokestatic org.graalvm.compiler.replacements.test.InvokeTest.staticMethod:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String staticMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 83
            aload 0 /* s */
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String invokespecialConstructor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 87
            new org.graalvm.compiler.replacements.test.InvokeTest$A
            dup
            invokespecial org.graalvm.compiler.replacements.test.InvokeTest$A.<init>:()V
            aload 0 /* s */
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest$A.virtualMethod:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String invokespecial(org.graalvm.compiler.replacements.test.InvokeTest, java.lang.String);
    descriptor: (Lorg/graalvm/compiler/replacements/test/InvokeTest;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.test.InvokeTest a
        start local 1 // java.lang.String s
         0: .line 91
            aload 0 /* a */
            aload 1 /* s */
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest.privateMethod:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String s
        end local 0 // org.graalvm.compiler.replacements.test.InvokeTest a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Lorg/graalvm/compiler/replacements/test/InvokeTest;
            0    1     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      a     
      s     

  public static java.lang.String invokevirtual(org.graalvm.compiler.replacements.test.InvokeTest$A, java.lang.String);
    descriptor: (Lorg/graalvm/compiler/replacements/test/InvokeTest$A;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.test.InvokeTest$A a
        start local 1 // java.lang.String s
         0: .line 95
            aload 0 /* a */
            aload 1 /* s */
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest$A.virtualMethod:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String s
        end local 0 // org.graalvm.compiler.replacements.test.InvokeTest$A a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Lorg/graalvm/compiler/replacements/test/InvokeTest$A;
            0    1     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      a     
      s     

  public static java.lang.String invokevirtual2(org.graalvm.compiler.replacements.test.InvokeTest$A, java.lang.String);
    descriptor: (Lorg/graalvm/compiler/replacements/test/InvokeTest$A;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.test.InvokeTest$A a
        start local 1 // java.lang.String s
         0: .line 99
            aload 0 /* a */
            aload 1 /* s */
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest$A.virtualMethod:(Ljava/lang/String;)Ljava/lang/String;
            pop
         1: .line 100
            aload 0 /* a */
            aload 1 /* s */
            invokevirtual org.graalvm.compiler.replacements.test.InvokeTest$A.virtualMethod:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String s
        end local 0 // org.graalvm.compiler.replacements.test.InvokeTest$A a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  Lorg/graalvm/compiler/replacements/test/InvokeTest$A;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      a     
      s     

  public static java.lang.String invokeinterface(org.graalvm.compiler.replacements.test.InvokeTest$I, java.lang.String);
    descriptor: (Lorg/graalvm/compiler/replacements/test/InvokeTest$I;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.test.InvokeTest$I i
        start local 1 // java.lang.String s
         0: .line 104
            aload 0 /* i */
            aload 1 /* s */
            invokeinterface org.graalvm.compiler.replacements.test.InvokeTest$I.virtualMethod:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String s
        end local 0 // org.graalvm.compiler.replacements.test.InvokeTest$I i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     i  Lorg/graalvm/compiler/replacements/test/InvokeTest$I;
            0    1     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      i     
      s     
}
SourceFile: "InvokeTest.java"
NestMembers:
  org.graalvm.compiler.replacements.test.InvokeTest$A  org.graalvm.compiler.replacements.test.InvokeTest$I
InnerClasses:
  public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
  public A = org.graalvm.compiler.replacements.test.InvokeTest$A of org.graalvm.compiler.replacements.test.InvokeTest
  public abstract I = org.graalvm.compiler.replacements.test.InvokeTest$I of org.graalvm.compiler.replacements.test.InvokeTest