mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 12:09:14 +00:00
25 lines
844 B
Java
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);
|
|
}
|
|
}
|