jdk/test/hotspot/jtreg/compiler/lib/generators/RestrictableMixedGenerator.java
Theo Weidmann f64f22b360 8346107: Generators: testing utility for random value generation
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: epeter, chagedorn
2025-01-16 12:17:21 +00:00

25 lines
844 B
Java

package compiler.lib.generators;
import java.util.List;
final class RestrictableMixedGenerator<T extends Comparable<T>> extends MixedGenerator<RestrictableGenerator<T>, T> implements RestrictableGenerator<T> {
RestrictableMixedGenerator(Generators g, List<RestrictableGenerator<T>> generators, List<Integer> weights) {
super(g, generators, weights);
}
RestrictableMixedGenerator(RestrictableMixedGenerator<T> other, T newLo, T newHi) {
super(other, (generator) -> {
try {
return generator.restricted(newLo, newHi);
} catch (EmptyGeneratorException e) {
return null;
}
});
}
@Override
public RestrictableGenerator<T> restricted(T newLo, T newHi) {
return new RestrictableMixedGenerator<>(this, newLo, newHi);
}
}