--- old/test/testlibrary/jittester/src/jdk/test/lib/jittester/factories/FunctionDefinitionFactory.java 2016-05-12 04:24:25.718334602 +0300 +++ new/test/testlibrary/jittester/src/jdk/test/lib/jittester/factories/FunctionDefinitionFactory.java 2016-05-12 04:24:25.650334603 +0300 @@ -28,6 +28,7 @@ import java.util.List; import jdk.test.lib.jittester.IRNode; +import jdk.test.lib.jittester.Nothing; import jdk.test.lib.jittester.ProductionFailedException; import jdk.test.lib.jittester.Symbol; import jdk.test.lib.jittester.SymbolTable; @@ -37,11 +38,11 @@ import jdk.test.lib.jittester.functions.ArgumentDeclaration; import jdk.test.lib.jittester.functions.FunctionDefinition; import jdk.test.lib.jittester.functions.FunctionInfo; +import jdk.test.lib.jittester.functions.Return; import jdk.test.lib.jittester.types.TypeKlass; -import jdk.test.lib.jittester.types.TypeVoid; import jdk.test.lib.jittester.utils.PseudoRandom; -class FunctionDefinitionFactory extends Factory { +class FunctionDefinitionFactory extends Factory { private final Type resultType; private final String name; private final long complexityLimit; @@ -67,11 +68,11 @@ } @Override - public IRNode produce() throws ProductionFailedException { + public FunctionDefinition produce() throws ProductionFailedException { Type resType = resultType; if (resType == null) { List types = new ArrayList<>(TypeList.getAll()); - types.add(new TypeVoid()); + types.add(TypeList.VOID); resType = PseudoRandom.randomElement(types); } int argNumber = (int) (PseudoRandom.random() * memberFunctionsArgLimit); @@ -86,7 +87,7 @@ ArrayList argumentsDeclaration = new ArrayList<>(argNumber); SymbolTable.push(); IRNode body; - IRNode returnNode; + Return returnNode; FunctionInfo functionInfo; try { IRNodeBuilder builder = new IRNodeBuilder().setArgumentType(ownerClass); @@ -127,13 +128,13 @@ .setCanHaveReturn(true) .getBlockFactory() .produce(); - if (!resType.equals(new TypeVoid())) { + if (!resType.equals(TypeList.VOID)) { returnNode = builder.setComplexityLimit(complexityLimit - blockComplLimit) .setExceptionSafe(false) .getReturnFactory() .produce(); } else { - returnNode = null; + returnNode = new Return(new Nothing()); } } finally { SymbolTable.pop();