< prev index next >
test/testlibrary/jittester/src/jdk/test/lib/jittester/factories/CompoundShiftAssignmentOperatorFactory.java
Print this page
*** 30,55 ****
import jdk.test.lib.jittester.ProductionFailedException;
import jdk.test.lib.jittester.Type;
import jdk.test.lib.jittester.TypeList;
import jdk.test.lib.jittester.utils.TypeUtil;
import jdk.test.lib.jittester.types.TypeKlass;
- import jdk.test.lib.jittester.types.TypeBoolean;
import jdk.test.lib.jittester.utils.PseudoRandom;
class CompoundShiftAssignmentOperatorFactory extends BinaryOperatorFactory {
CompoundShiftAssignmentOperatorFactory(OperatorKind opKind, long complexityLimit,
int operatorLimit, TypeKlass ownerClass, Type resultType, boolean exceptionSafe, boolean noconsts) {
super(opKind, complexityLimit, operatorLimit, ownerClass, resultType, exceptionSafe, noconsts);
}
@Override
protected boolean isApplicable(Type resultType) {
! return TypeList.isBuiltInInt(resultType) && !resultType.equals(new TypeBoolean());
}
@Override
! protected Pair<Type, Type> generateTypes() throws ProductionFailedException {
return new Pair<>(resultType, PseudoRandom.randomElement(
TypeUtil.getExplicitlyCastable(TypeList.getBuiltInInt(), resultType)));
}
@Override
--- 30,54 ----
import jdk.test.lib.jittester.ProductionFailedException;
import jdk.test.lib.jittester.Type;
import jdk.test.lib.jittester.TypeList;
import jdk.test.lib.jittester.utils.TypeUtil;
import jdk.test.lib.jittester.types.TypeKlass;
import jdk.test.lib.jittester.utils.PseudoRandom;
class CompoundShiftAssignmentOperatorFactory extends BinaryOperatorFactory {
CompoundShiftAssignmentOperatorFactory(OperatorKind opKind, long complexityLimit,
int operatorLimit, TypeKlass ownerClass, Type resultType, boolean exceptionSafe, boolean noconsts) {
super(opKind, complexityLimit, operatorLimit, ownerClass, resultType, exceptionSafe, noconsts);
}
@Override
protected boolean isApplicable(Type resultType) {
! return TypeList.isBuiltInInt(resultType) && !resultType.equals(TypeList.BOOLEAN);
}
@Override
! protected Pair<Type, Type> generateTypes() {
return new Pair<>(resultType, PseudoRandom.randomElement(
TypeUtil.getExplicitlyCastable(TypeList.getBuiltInInt(), resultType)));
}
@Override
*** 71,78 ****
IRNode rightExpr = builder.setComplexityLimit(rightComplexityLimit)
.setOperatorLimit(rightOperatorLimit)
.setResultType(rightType)
.getExpressionFactory()
.produce();
! return new BinaryOperator(opKind, leftExpr, rightExpr);
}
}
--- 70,77 ----
IRNode rightExpr = builder.setComplexityLimit(rightComplexityLimit)
.setOperatorLimit(rightOperatorLimit)
.setResultType(rightType)
.getExpressionFactory()
.produce();
! return new BinaryOperator(opKind, resultType, leftExpr, rightExpr);
}
}
< prev index next >