< prev index next >

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

Print this page

        

@@ -22,30 +22,31 @@
  */
 
 package jdk.test.lib.jittester.factories;
 
 import java.util.ArrayList;
-import jdk.test.lib.jittester.IRNode;
+
+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.SymbolTable;
 import jdk.test.lib.jittester.Type;
 import jdk.test.lib.jittester.TypeList;
 import jdk.test.lib.jittester.types.TypeKlass;
 import jdk.test.lib.jittester.utils.PseudoRandom;
 
-class AssignmentOperatorFactory extends Factory {
+class AssignmentOperatorFactory extends Factory<Operator> {
     private final int operatorLimit;
     private final long complexityLimit;
     private final Type resultType;
     private final boolean exceptionSafe;
     private final boolean noconsts;
     private final TypeKlass ownerClass;
 
-    private Rule fillRule(Type resultType) throws ProductionFailedException {
-        Rule rule = new Rule("assignment");
+    private Rule<Operator> fillRule(Type resultType) throws ProductionFailedException {
+        Rule<Operator> rule = new Rule<>("assignment");
         IRNodeBuilder builder = new IRNodeBuilder()
                 .setComplexityLimit(complexityLimit)
                 .setOperatorLimit(operatorLimit)
                 .setOwnerKlass(ownerClass)
                 .setResultType(resultType)

@@ -82,18 +83,18 @@
         this.exceptionSafe = exceptionSafe;
         this.noconsts = noconsts;
     }
 
     @Override
-    public IRNode produce() throws ProductionFailedException {
+    public Operator produce() throws ProductionFailedException {
         if (resultType == null) { // if no result type is given - choose any.
             ArrayList<Type> allTypes = new ArrayList<>(TypeList.getAll());
             PseudoRandom.shuffle(allTypes);
             for (Type type : allTypes) {
                 SymbolTable.push();
                 try {
-                    IRNode result =  fillRule(type).produce();
+                    Operator result =  fillRule(type).produce();
                     SymbolTable.merge();
                     return result;
                 } catch (ProductionFailedException e) {
                     SymbolTable.pop();
                 }
< prev index next >