test
[repair.git] / Repair / RepairCompiler / MCC / IR / InclusionPredicate.java
index 0e075bd976521fe0a3e47d03e42e2e361a5533a3..cbe703772393f9a38382b1e0024e61884e5ed62e 100755 (executable)
@@ -4,11 +4,11 @@ import java.util.*;
 
 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();
         }
 
@@ -16,15 +16,19 @@ public class InclusionPredicate extends Predicate {
             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);
     }