< prev index next >
test/testlibrary/jittester/src/jdk/test/lib/jittester/factories/LogicOperatorFactory.java
Print this page
*** 21,50 ****
* questions.
*/
package jdk.test.lib.jittester.factories;
! import jdk.test.lib.jittester.IRNode;
import jdk.test.lib.jittester.OperatorKind;
import jdk.test.lib.jittester.ProductionFailedException;
import jdk.test.lib.jittester.Rule;
import jdk.test.lib.jittester.Type;
import jdk.test.lib.jittester.types.TypeKlass;
! class LogicOperatorFactory extends Factory {
! private final Rule rule;
LogicOperatorFactory(long complexityLimit, int operatorLimit, TypeKlass ownerClass, Type resultType,
boolean exceptionSafe, boolean noconsts) throws ProductionFailedException {
IRNodeBuilder builder = new IRNodeBuilder()
.setComplexityLimit(complexityLimit)
.setOperatorLimit(operatorLimit)
.setOwnerKlass(ownerClass)
.setResultType(resultType)
.setExceptionSafe(exceptionSafe)
.setNoConsts(noconsts);
! rule = new Rule("arithmetic");
rule.add("land", builder.setOperatorKind(OperatorKind.AND).getBinaryOperatorFactory());
rule.add("lor", builder.setOperatorKind(OperatorKind.OR).getBinaryOperatorFactory());
rule.add("greater", builder.setOperatorKind(OperatorKind.GT).getBinaryOperatorFactory());
rule.add("less", builder.setOperatorKind(OperatorKind.LT).getBinaryOperatorFactory());
rule.add("ge", builder.setOperatorKind(OperatorKind.GE).getBinaryOperatorFactory());
--- 21,50 ----
* questions.
*/
package jdk.test.lib.jittester.factories;
! import jdk.test.lib.jittester.Operator;
import jdk.test.lib.jittester.OperatorKind;
import jdk.test.lib.jittester.ProductionFailedException;
import jdk.test.lib.jittester.Rule;
import jdk.test.lib.jittester.Type;
import jdk.test.lib.jittester.types.TypeKlass;
! class LogicOperatorFactory extends Factory<Operator> {
! private final Rule<Operator> rule;
LogicOperatorFactory(long complexityLimit, int operatorLimit, TypeKlass ownerClass, Type resultType,
boolean exceptionSafe, boolean noconsts) throws ProductionFailedException {
IRNodeBuilder builder = new IRNodeBuilder()
.setComplexityLimit(complexityLimit)
.setOperatorLimit(operatorLimit)
.setOwnerKlass(ownerClass)
.setResultType(resultType)
.setExceptionSafe(exceptionSafe)
.setNoConsts(noconsts);
! rule = new Rule<>("arithmetic");
rule.add("land", builder.setOperatorKind(OperatorKind.AND).getBinaryOperatorFactory());
rule.add("lor", builder.setOperatorKind(OperatorKind.OR).getBinaryOperatorFactory());
rule.add("greater", builder.setOperatorKind(OperatorKind.GT).getBinaryOperatorFactory());
rule.add("less", builder.setOperatorKind(OperatorKind.LT).getBinaryOperatorFactory());
rule.add("ge", builder.setOperatorKind(OperatorKind.GE).getBinaryOperatorFactory());
*** 53,61 ****
rule.add("neq", builder.setOperatorKind(OperatorKind.NE).getBinaryOperatorFactory());
rule.add("lnot", builder.setOperatorKind(OperatorKind.NOT).getUnaryOperatorFactory());
}
@Override
! public IRNode produce() throws ProductionFailedException {
return rule.produce();
}
}
--- 53,61 ----
rule.add("neq", builder.setOperatorKind(OperatorKind.NE).getBinaryOperatorFactory());
rule.add("lnot", builder.setOperatorKind(OperatorKind.NOT).getUnaryOperatorFactory());
}
@Override
! public Operator produce() throws ProductionFailedException {
return rule.produce();
}
}
< prev index next >