]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ERuleset.java
(refs #7375) Replaced collectFreeVariables method by a visitor
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / ERuleset.java
index e84e0500c41bb045547266a9f924ea62b22d9b10..dadf52797d28052416c24961a166ee66657b6c78 100644 (file)
@@ -43,13 +43,12 @@ import org.simantics.scl.compiler.types.kinds.Kinds;
 import gnu.trove.impl.Constants;
 import gnu.trove.map.hash.THashMap;
 import gnu.trove.map.hash.TObjectIntHashMap;
-import gnu.trove.set.hash.THashSet;
 import gnu.trove.set.hash.TIntHashSet;
 
 public class ERuleset extends SimplifiableExpression {
     LocalRelation[] relations;
-    DatalogRule[] rules;
-    Expression in;
+    public DatalogRule[] rules;
+    public Expression in;
     
     public ERuleset(LocalRelation[] relations, DatalogRule[] rules, Expression in) {
         this.relations = relations;
@@ -129,18 +128,6 @@ public class ERuleset extends SimplifiableExpression {
         in = in.checkIgnoredType(context);
         return compile(context);
     }
-    
-    @Override
-    public void collectFreeVariables(THashSet<Variable> vars) {
-        for(DatalogRule rule : rules) {
-            for(Expression parameter : rule.headParameters)
-                parameter.collectFreeVariables(vars);
-            rule.body.collectFreeVariables(vars);
-            for(Variable var : rule.variables)
-                vars.remove(var);
-        }
-        in.collectFreeVariables(vars);
-    }
 
     @Override
     public void collectVars(TObjectIntHashMap<Variable> allVars,