< prev index next >
test/testlibrary/jittester/src/jdk/test/lib/jittester/factories/ConstructorDefinitionFactory.java
Print this page
*** 26,44 ****
import java.util.ArrayList;
import jdk.test.lib.jittester.IRNode;
import jdk.test.lib.jittester.ProductionFailedException;
import jdk.test.lib.jittester.Symbol;
import jdk.test.lib.jittester.SymbolTable;
import jdk.test.lib.jittester.VariableInfo;
import jdk.test.lib.jittester.functions.ArgumentDeclaration;
import jdk.test.lib.jittester.functions.ConstructorDefinition;
import jdk.test.lib.jittester.functions.FunctionInfo;
import jdk.test.lib.jittester.types.TypeKlass;
- import jdk.test.lib.jittester.types.TypeVoid;
import jdk.test.lib.jittester.utils.PseudoRandom;
! class ConstructorDefinitionFactory extends Factory {
private final long complexityLimit;
private final int statementLimit;
private final int operatorLimit;
private final int memberFunctionsArgLimit;
private final int level;
--- 26,44 ----
import java.util.ArrayList;
import jdk.test.lib.jittester.IRNode;
import jdk.test.lib.jittester.ProductionFailedException;
import jdk.test.lib.jittester.Symbol;
import jdk.test.lib.jittester.SymbolTable;
+ import jdk.test.lib.jittester.TypeList;
import jdk.test.lib.jittester.VariableInfo;
import jdk.test.lib.jittester.functions.ArgumentDeclaration;
import jdk.test.lib.jittester.functions.ConstructorDefinition;
import jdk.test.lib.jittester.functions.FunctionInfo;
import jdk.test.lib.jittester.types.TypeKlass;
import jdk.test.lib.jittester.utils.PseudoRandom;
! class ConstructorDefinitionFactory extends Factory<ConstructorDefinition> {
private final long complexityLimit;
private final int statementLimit;
private final int operatorLimit;
private final int memberFunctionsArgLimit;
private final int level;
*** 53,63 ****
this.memberFunctionsArgLimit = memberFunctionsArgLimit;
this.level = level;
}
@Override
! public IRNode produce() throws ProductionFailedException {
int argNumber = (int) (PseudoRandom.random() * memberFunctionsArgLimit);
ArrayList<VariableInfo> argumentsInfo = new ArrayList<>(argNumber);
ArrayList<ArgumentDeclaration> argumentsDeclaration = new ArrayList<>(argNumber);
SymbolTable.push();
IRNode body;
--- 53,63 ----
this.memberFunctionsArgLimit = memberFunctionsArgLimit;
this.level = level;
}
@Override
! public ConstructorDefinition produce() throws ProductionFailedException {
int argNumber = (int) (PseudoRandom.random() * memberFunctionsArgLimit);
ArrayList<VariableInfo> argumentsInfo = new ArrayList<>(argNumber);
ArrayList<ArgumentDeclaration> argumentsDeclaration = new ArrayList<>(argNumber);
SymbolTable.push();
IRNode body;
*** 88,98 ****
}
}
}
long blockComplLimit = (long) (PseudoRandom.random() * complexityLimit);
try {
! body = builder.setResultType(new TypeVoid())
.setComplexityLimit(blockComplLimit)
.setStatementLimit(statementLimit)
.setOperatorLimit(operatorLimit)
.setLevel(level)
.setSubBlock(true)
--- 88,98 ----
}
}
}
long blockComplLimit = (long) (PseudoRandom.random() * complexityLimit);
try {
! body = builder.setResultType(TypeList.VOID)
.setComplexityLimit(blockComplLimit)
.setStatementLimit(statementLimit)
.setOperatorLimit(operatorLimit)
.setLevel(level)
.setSubBlock(true)
< prev index next >