public class org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest extends org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest
  super_class: org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase
{
  private static final int[] LENGTHS;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.lang.Object[] constantArgs;
    descriptor: [Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 36
            bipush 26
            newarray 10
            dup
            iconst_1
            iconst_1
            iastore
            dup
            iconst_2
            iconst_2
            iastore
            dup
            iconst_3
            iconst_3
            iastore
            dup
            iconst_4
            iconst_4
            iastore
            dup
            iconst_5
            iconst_5
            iastore
            dup
            bipush 6
            bipush 7
            iastore
            dup
            bipush 7
            bipush 8
            iastore
            dup
            bipush 8
            bipush 9
            iastore
            dup
            bipush 9
            bipush 15
            iastore
            dup
            bipush 10
            bipush 16
            iastore
            dup
            bipush 11
            bipush 17
            iastore
            dup
            bipush 12
            bipush 24
            iastore
            dup
            bipush 13
            bipush 31
            iastore
            dup
            bipush 14
            bipush 32
            iastore
            dup
            bipush 15
            bipush 33
            iastore
            dup
            bipush 16
            bipush 48
            iastore
            dup
            bipush 17
            bipush 63
            iastore
            dup
            bipush 18
            bipush 64
            iastore
            dup
            bipush 19
            bipush 65
            iastore
            dup
            bipush 20
            bipush 127
            iastore
            dup
            bipush 21
            sipush 128
            iastore
            dup
            bipush 22
            sipush 129
            iastore
            dup
            bipush 23
            sipush 255
            iastore
            dup
            bipush 24
            sipush 256
            iastore
            dup
            bipush 25
            sipush 257
            iastore
            putstatic org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest.LENGTHS:[I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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.ArrayEqualsConstantLengthTest this
         0: .line 34
            aload 0 /* this */
            invokespecial org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase.<init>:()V
            return
        end local 0 // org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/test/ArrayEqualsConstantLengthTest;

  private void testEquals(java.lang.String, java.lang.Class<?>[], org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase$ArrayBuilder);
    descriptor: (Ljava/lang/String;[Ljava/lang/Class;Lorg/graalvm/compiler/replacements/test/ArraysSubstitutionsTestBase$ArrayBuilder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=16, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest this
        start local 1 // java.lang.String methodName
        start local 2 // java.lang.Class[] parameterTypes
        start local 3 // org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase$ArrayBuilder builder
         0: .line 39
            getstatic org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest.LENGTHS:[I
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 13
      StackMap locals: org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest java.lang.String java.lang.Class[] org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase$ArrayBuilder top int int int[]
      StackMap stack:
         1: aload 7
            iload 5
            iaload
            istore 4 /* length */
        start local 4 // int length
         2: .line 40
            aload 0 /* this */
            aload 1 /* methodName */
            ldc Lorg/graalvm/compiler/replacements/nodes/ArrayEqualsNode;
            ldc Ljava/util/Arrays;
            ldc "equals"
            aload 2 /* parameterTypes */
            iconst_0
         3: .line 41
            iconst_1
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 42
            aload 3 /* builder */
            iload 4 /* length */
            iconst_0
            iconst_1
            invokeinterface org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase$ArrayBuilder.newArray:(III)Ljava/lang/Object;
            aastore
            dup
            iconst_1
         5: .line 43
            aload 3 /* builder */
            iload 4 /* length */
            iconst_0
            iconst_1
            invokeinterface org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase$ArrayBuilder.newArray:(III)Ljava/lang/Object;
            aastore
            dup
            iconst_2
         6: .line 44
            aload 3 /* builder */
            iload 4 /* length */
            iconst_0
            iconst_1
            invokeinterface org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase$ArrayBuilder.newArray:(III)Ljava/lang/Object;
            aastore
         7: .line 45
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         8: .line 46
            aload 3 /* builder */
            iload 4 /* length */
            iconst_0
            iconst_1
            invokeinterface org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase$ArrayBuilder.newArray:(III)Ljava/lang/Object;
            aastore
            dup
            iconst_1
         9: .line 47
            aload 3 /* builder */
            iload 4 /* length */
            iconst_1
            iconst_1
            invokeinterface org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase$ArrayBuilder.newArray:(III)Ljava/lang/Object;
            aastore
            dup
            iconst_2
        10: .line 48
            aload 3 /* builder */
            iload 4 /* length */
            iconst_0
            iconst_2
            invokeinterface org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase$ArrayBuilder.newArray:(III)Ljava/lang/Object;
            aastore
        11: .line 40
            invokevirtual org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest.testSubstitution:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;ZZ[Ljava/lang/Object;[Ljava/lang/Object;)V
        end local 4 // int length
        12: .line 39
            iinc 5 1
      StackMap locals:
      StackMap stack:
        13: iload 5
            iload 6
            if_icmplt 1
        14: .line 50
            return
        end local 3 // org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase$ArrayBuilder builder
        end local 2 // java.lang.Class[] parameterTypes
        end local 1 // java.lang.String methodName
        end local 0 // org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lorg/graalvm/compiler/replacements/test/ArrayEqualsConstantLengthTest;
            0   15     1      methodName  Ljava/lang/String;
            0   15     2  parameterTypes  [Ljava/lang/Class;
            0   15     3         builder  Lorg/graalvm/compiler/replacements/test/ArraysSubstitutionsTestBase$ArrayBuilder;
            2   12     4          length  I
    Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;Lorg/graalvm/compiler/replacements/test/ArraysSubstitutionsTestBase$ArrayBuilder;)V
    MethodParameters:
                Name  Flags
      methodName      
      parameterTypes  
      builder         

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

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

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

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

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

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

  protected org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration editGraphBuilderConfiguration(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration conf
         0: .line 86
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest.constantArgs:[Ljava/lang/Object;
            ifnull 3
         1: .line 87
            new org.graalvm.compiler.replacements.ConstantBindingParameterPlugin
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest.constantArgs:[Ljava/lang/Object;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            invokespecial org.graalvm.compiler.replacements.ConstantBindingParameterPlugin.<init>:([Ljava/lang/Object;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
            astore 2 /* constantBinding */
        start local 2 // org.graalvm.compiler.replacements.ConstantBindingParameterPlugin constantBinding
         2: .line 88
            aload 1 /* conf */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            aload 2 /* constantBinding */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.appendParameterPlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/ParameterPlugin;)V
        end local 2 // org.graalvm.compiler.replacements.ConstantBindingParameterPlugin constantBinding
         3: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* conf */
            invokespecial org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase.editGraphBuilderConfiguration:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            areturn
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration conf
        end local 0 // org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/graalvm/compiler/replacements/test/ArrayEqualsConstantLengthTest;
            0    4     1             conf  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            2    3     2  constantBinding  Lorg/graalvm/compiler/replacements/ConstantBindingParameterPlugin;
    MethodParameters:
      Name  Flags
      conf  

  protected void testSubstitution(java.lang.String, java.lang.Class<?>, java.lang.Class<?>, java.lang.String, java.lang.Class<?>[], boolean, boolean, [], []);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;ZZ[Ljava/lang/Object;[Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=10, args_size=10
        start local 0 // org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest this
        start local 1 // java.lang.String testMethodName
        start local 2 // java.lang.Class intrinsicClass
        start local 3 // java.lang.Class holder
        start local 4 // java.lang.String methodName
        start local 5 // java.lang.Class[] parameterTypes
        start local 6 // boolean optional
        start local 7 // boolean forceCompilation
        start local 8 // java.lang.Object[] args1
        start local 9 // java.lang.Object[] args2
         0: .line 96
            aload 0 /* this */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* args1 */
            iconst_0
            aaload
            aastore
            putfield org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest.constantArgs:[Ljava/lang/Object;
         1: .line 97
            aload 0 /* this */
            aload 1 /* testMethodName */
            aload 2 /* intrinsicClass */
            aload 3 /* holder */
            aload 4 /* methodName */
            aload 5 /* parameterTypes */
            iload 6 /* optional */
            iload 7 /* forceCompilation */
            aload 8 /* args1 */
            aload 9 /* args2 */
            invokespecial org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase.testSubstitution:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;ZZ[Ljava/lang/Object;[Ljava/lang/Object;)V
         2: .line 98
            return
        end local 9 // java.lang.Object[] args2
        end local 8 // java.lang.Object[] args1
        end local 7 // boolean forceCompilation
        end local 6 // boolean optional
        end local 5 // java.lang.Class[] parameterTypes
        end local 4 // java.lang.String methodName
        end local 3 // java.lang.Class holder
        end local 2 // java.lang.Class intrinsicClass
        end local 1 // java.lang.String testMethodName
        end local 0 // org.graalvm.compiler.replacements.test.ArrayEqualsConstantLengthTest this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lorg/graalvm/compiler/replacements/test/ArrayEqualsConstantLengthTest;
            0    3     1    testMethodName  Ljava/lang/String;
            0    3     2    intrinsicClass  Ljava/lang/Class<*>;
            0    3     3            holder  Ljava/lang/Class<*>;
            0    3     4        methodName  Ljava/lang/String;
            0    3     5    parameterTypes  [Ljava/lang/Class;
            0    3     6          optional  Z
            0    3     7  forceCompilation  Z
            0    3     8             args1  [Ljava/lang/Object;
            0    3     9             args2  [Ljava/lang/Object;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;ZZ[Ljava/lang/Object;[Ljava/lang/Object;)V
    MethodParameters:
                  Name  Flags
      testMethodName    
      intrinsicClass    
      holder            
      methodName        
      parameterTypes    
      optional          
      forceCompilation  
      args1             
      args2             
}
SourceFile: "ArrayEqualsConstantLengthTest.java"
InnerClasses:
  public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
  abstract ArrayBuilder = org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase$ArrayBuilder of org.graalvm.compiler.replacements.test.ArraysSubstitutionsTestBase