< 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 >