public class org.graalvm.compiler.core.test.SubWordReturnTest extends org.graalvm.compiler.core.test.CustomizedBytecodePatternTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.core.test.SubWordReturnTest
  super_class: org.graalvm.compiler.core.test.CustomizedBytecodePatternTest
{
  private final jdk.vm.ci.meta.JavaKind kind;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int value;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static java.util.List<java.lang.Object[]> data();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=0
         0: .line 49
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* ret */
        start local 0 // java.util.ArrayList ret
         1: .line 50
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 1000000
            iastore
            dup
            iconst_1
            ldc 1000001
            iastore
            dup
            iconst_2
            ldc -1000000
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 8
      StackMap locals: java.util.ArrayList top int int int[]
      StackMap stack:
         2: aload 4
            iload 2
            iaload
            istore 1 /* i */
        start local 1 // int i
         3: .line 51
            aload 0 /* ret */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_1
            iload 1 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 52
            aload 0 /* ret */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_1
            iload 1 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 53
            aload 0 /* ret */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_1
            iload 1 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         6: .line 54
            aload 0 /* ret */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_1
            iload 1 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 1 // int i
         7: .line 50
            iinc 2 1
      StackMap locals:
      StackMap stack:
         8: iload 2
            iload 3
            if_icmplt 2
         9: .line 56
            aload 0 /* ret */
            areturn
        end local 0 // java.util.ArrayList ret
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1   10     0   ret  Ljava/util/ArrayList<[Ljava/lang/Object;>;
            3    7     1     i  I
    Signature: ()Ljava/util/List<[Ljava/lang/Object;>;
    RuntimeVisibleAnnotations: 
      org.junit.runners.Parameterized$Parameters(name = "{0}, {1}")

  public void <init>(jdk.vm.ci.meta.JavaKind, int);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.test.SubWordReturnTest this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
        start local 2 // int value
         0: .line 59
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.test.CustomizedBytecodePatternTest.<init>:()V
         1: .line 60
            aload 0 /* this */
            aload 1 /* kind */
            putfield org.graalvm.compiler.core.test.SubWordReturnTest.kind:Ljdk/vm/ci/meta/JavaKind;
         2: .line 61
            aload 0 /* this */
            iload 2 /* value */
            putfield org.graalvm.compiler.core.test.SubWordReturnTest.value:I
         3: .line 62
            return
        end local 2 // int value
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // org.graalvm.compiler.core.test.SubWordReturnTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/graalvm/compiler/core/test/SubWordReturnTest;
            0    4     1   kind  Ljdk/vm/ci/meta/JavaKind;
            0    4     2  value  I
    MethodParameters:
       Name  Flags
      kind   
      value  

  public void testSubWordReturn();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.core.test.SubWordReturnTest this
         0: .line 66
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc Lorg/graalvm/compiler/core/test/SubWordReturnTest;
            invokevirtual java.lang.Class.getName:()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 /* this */
            getfield org.graalvm.compiler.core.test.SubWordReturnTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "Getter"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.core.test.SubWordReturnTest.getClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* testClass */
        start local 1 // java.lang.Class testClass
         1: .line 67
            aload 0 /* this */
            aload 1 /* testClass */
            ldc "testSnippet"
            invokevirtual org.graalvm.compiler.core.test.SubWordReturnTest.getResolvedJavaMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 2 /* method */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
         2: .line 68
            aload 0 /* this */
            aload 2 /* method */
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.test.SubWordReturnTest.test:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 69
            return
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // java.lang.Class testClass
        end local 0 // org.graalvm.compiler.core.test.SubWordReturnTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/graalvm/compiler/core/test/SubWordReturnTest;
            1    4     1  testClass  Ljava/lang/Class<*>;
            2    4     2     method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    Exceptions:
      throws java.lang.ClassNotFoundException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  protected byte[] generateClass(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.core.test.SubWordReturnTest this
        start local 1 // java.lang.String internalClassName
         0: .line 92
            new org.objectweb.asm.ClassWriter
            dup
            iconst_0
            invokespecial org.objectweb.asm.ClassWriter.<init>:(I)V
            astore 2 /* cw */
        start local 2 // org.objectweb.asm.ClassWriter cw
         1: .line 93
            aload 2 /* cw */
            bipush 52
            bipush 33
            aload 1 /* internalClassName */
            aconst_null
            ldc "java/lang/Object"
            aconst_null
            invokevirtual org.objectweb.asm.ClassWriter.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
         2: .line 95
            aload 2 /* cw */
            bipush 10
            ldc "intField"
            ldc "I"
            aconst_null
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordReturnTest.value:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.objectweb.asm.ClassWriter.visitField:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;
            astore 3 /* intField */
        start local 3 // org.objectweb.asm.FieldVisitor intField
         3: .line 96
            aload 3 /* intField */
            invokevirtual org.objectweb.asm.FieldVisitor.visitEnd:()V
         4: .line 98
            aload 2 /* cw */
            bipush 10
            ldc "get"
            new java.lang.StringBuilder
            dup
            ldc "()"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordReturnTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getTypeChar:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
            aconst_null
            invokevirtual org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
            astore 4 /* get */
        start local 4 // org.objectweb.asm.MethodVisitor get
         5: .line 99
            aload 4 /* get */
            invokevirtual org.objectweb.asm.MethodVisitor.visitCode:()V
         6: .line 100
            aload 4 /* get */
            sipush 178
            aload 1 /* internalClassName */
            ldc "intField"
            ldc "I"
            invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         7: .line 101
            aload 4 /* get */
            sipush 172
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
         8: .line 102
            aload 4 /* get */
            iconst_1
            iconst_0
            invokevirtual org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
         9: .line 103
            aload 4 /* get */
            invokevirtual org.objectweb.asm.MethodVisitor.visitEnd:()V
        10: .line 105
            aload 2 /* cw */
            bipush 9
            ldc "testSnippet"
            ldc "()I"
            aconst_null
            aconst_null
            invokevirtual org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
            astore 5 /* snippet */
        start local 5 // org.objectweb.asm.MethodVisitor snippet
        11: .line 106
            aload 5 /* snippet */
            invokevirtual org.objectweb.asm.MethodVisitor.visitCode:()V
        12: .line 107
            aload 5 /* snippet */
            sipush 184
            aload 1 /* internalClassName */
            ldc "get"
            new java.lang.StringBuilder
            dup
            ldc "()"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordReturnTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getTypeChar:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            invokevirtual org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        13: .line 108
            aload 5 /* snippet */
            sipush 172
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        14: .line 109
            aload 5 /* snippet */
            iconst_1
            iconst_0
            invokevirtual org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
        15: .line 110
            aload 5 /* snippet */
            invokevirtual org.objectweb.asm.MethodVisitor.visitEnd:()V
        16: .line 112
            aload 2 /* cw */
            invokevirtual org.objectweb.asm.ClassWriter.visitEnd:()V
        17: .line 113
            aload 2 /* cw */
            invokevirtual org.objectweb.asm.ClassWriter.toByteArray:()[B
            areturn
        end local 5 // org.objectweb.asm.MethodVisitor snippet
        end local 4 // org.objectweb.asm.MethodVisitor get
        end local 3 // org.objectweb.asm.FieldVisitor intField
        end local 2 // org.objectweb.asm.ClassWriter cw
        end local 1 // java.lang.String internalClassName
        end local 0 // org.graalvm.compiler.core.test.SubWordReturnTest this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   18     0               this  Lorg/graalvm/compiler/core/test/SubWordReturnTest;
            0   18     1  internalClassName  Ljava/lang/String;
            1   18     2                 cw  Lorg/objectweb/asm/ClassWriter;
            3   18     3           intField  Lorg/objectweb/asm/FieldVisitor;
            5   18     4                get  Lorg/objectweb/asm/MethodVisitor;
           11   18     5            snippet  Lorg/objectweb/asm/MethodVisitor;
    MethodParameters:
                   Name  Flags
      internalClassName  
}
SourceFile: "SubWordReturnTest.java"
NestMembers:
  org.graalvm.compiler.core.test.SubWordReturnTest$ByteGetter
InnerClasses:
  public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
  ByteGetter = org.graalvm.compiler.core.test.SubWordReturnTest$ByteGetter of org.graalvm.compiler.core.test.SubWordReturnTest
  public abstract Parameters = org.junit.runners.Parameterized$Parameters of org.junit.runners.Parameterized
    RuntimeVisibleAnnotations: 
      org.junit.runner.RunWith(value = Lorg/junit/runners/Parameterized;)