public class InclusionPredicate extends Predicate {
- VarDescriptor var;
+ Expr expr;
SetExpr setexpr;
- public InclusionPredicate(VarDescriptor var, SetExpr setexpr) {
- if (var == null) {
+ public InclusionPredicate(Expr expr, SetExpr setexpr) {
+ if (expr == null) {
throw new NullPointerException();
}
throw new NullPointerException();
}
- this.var = var;
+ this.expr = expr;
this.setexpr = setexpr;
}
public Set getRequiredDescriptors() {
- return setexpr.getRequiredDescriptors();
+ Set v = expr.getRequiredDescriptors();
+ v.addAll(setexpr.getRequiredDescriptors());
+ return v;
}
public void generate(CodeWriter writer, VarDescriptor dest) {
+ VarDescriptor var = VarDescriptor.makeNew("exprval");
+ expr.generate(writer, var);
setexpr.generate_inclusion(writer, dest, var);
}