< prev index next >

test/testlibrary/jittester/src/jdk/test/lib/jittester/factories/ArrayCreationFactory.java

Print this page

        

@@ -27,19 +27,18 @@
 import jdk.test.lib.jittester.IRNode;
 import jdk.test.lib.jittester.Literal;
 import jdk.test.lib.jittester.ProductionFailedException;
 import jdk.test.lib.jittester.ProductionParams;
 import jdk.test.lib.jittester.Type;
+import jdk.test.lib.jittester.TypeList;
 import jdk.test.lib.jittester.VariableDeclaration;
 import jdk.test.lib.jittester.arrays.ArrayCreation;
 import jdk.test.lib.jittester.types.TypeArray;
 import jdk.test.lib.jittester.types.TypeKlass;
-import jdk.test.lib.jittester.types.TypeByte;
-import jdk.test.lib.jittester.types.TypeVoid;
 import jdk.test.lib.jittester.utils.PseudoRandom;
 
-class ArrayCreationFactory extends SafeFactory {
+class ArrayCreationFactory extends SafeFactory<ArrayCreation> {
     private final long complexityLimit;
     private final int operatorLimit;
     private final Type resultType;
     private final boolean exceptionSafe;
     private final boolean noconsts;

@@ -54,20 +53,20 @@
         this.exceptionSafe = exceptionSafe;
         this.noconsts = noconsts;
     }
 
     @Override
-    protected IRNode sproduce() throws ProductionFailedException {
+    protected ArrayCreation sproduce() throws ProductionFailedException {
         if (resultType instanceof TypeArray) {
             TypeArray arrayResultType = (TypeArray) resultType;
-            if (arrayResultType.type.equals(new TypeVoid())) {
+            if (arrayResultType.type.equals(TypeList.VOID)) {
                 arrayResultType = arrayResultType.produce();
             }
             IRNodeBuilder builder = new IRNodeBuilder()
                     .setComplexityLimit(complexityLimit)
                     .setOwnerKlass(ownerClass)
-                    .setResultType(new TypeByte())
+                    .setResultType(TypeList.BYTE)
                     .setExceptionSafe(exceptionSafe)
                     .setNoConsts(noconsts);
             double chanceExpression = ProductionParams.chanceExpressionIndex.value() / 100;
             ArrayList<IRNode> dims = new ArrayList<>(arrayResultType.dimensions);
             for (int i = 0; i < arrayResultType.dimensions; i++) {

@@ -75,18 +74,18 @@
                     dims.add(builder.setOperatorLimit((int) (PseudoRandom.random()
                                 * operatorLimit / arrayResultType.dimensions))
                             .getExpressionFactory()
                             .produce());
                 } else {
-                    Literal dimension = (Literal)builder.getLiteralFactory().produce();
+                    Literal dimension = builder.getLiteralFactory().produce();
                     while (Integer.valueOf(dimension.getValue().toString()) < 1) {
-                        dimension = (Literal)builder.getLiteralFactory().produce();
+                        dimension = builder.getLiteralFactory().produce();
                     }
                     dims.add(dimension);
                 }
             }
-            VariableDeclaration var =  (VariableDeclaration) builder
+            VariableDeclaration var = builder
                     .setOwnerKlass(ownerClass)
                     .setResultType(arrayResultType)
                     .setIsLocal(true)
                     .setIsStatic(false)
                     .getVariableDeclarationFactory()
< prev index next >