]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ECHRSelect.java
(refs #7375) Replaced collectVars method by a visitor
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / ECHRSelect.java
index aa232cdb59ab7e10e29f01e14f72e7c2e7abeef6..bf3b818f56c01c844b078705751ca1f3d20fd873 100644 (file)
@@ -17,19 +17,14 @@ import org.simantics.scl.compiler.elaboration.contexts.TypingContext;
 import org.simantics.scl.compiler.errors.Locations;
 import org.simantics.scl.compiler.internal.codegen.references.IVal;
 import org.simantics.scl.compiler.internal.codegen.writer.CodeWriter;
-import org.simantics.scl.compiler.types.Type;
 import org.simantics.scl.compiler.types.Types;
 import org.simantics.scl.compiler.types.exceptions.MatchException;
 import org.simantics.scl.compiler.types.kinds.Kinds;
 
-import gnu.trove.map.hash.TObjectIntHashMap;
-import gnu.trove.set.hash.THashSet;
-import gnu.trove.set.hash.TIntHashSet;
-
 public class ECHRSelect extends Expression {
-    CHRQuery query;
-    Variable[] existentialVariables;
-    Expression expression;
+    public CHRQuery query;
+    public Variable[] existentialVariables;
+    public Expression expression;
     private ArrayList<PlanOp> planOps;
     private CHRRuleset currentRuleset;
     
@@ -38,24 +33,6 @@ public class ECHRSelect extends Expression {
         this.query = query;
     }
 
-    @Override
-    public void collectRefs(TObjectIntHashMap<Object> allRefs, TIntHashSet refs) {
-        query.collectRefs(allRefs, refs);
-        expression.collectRefs(allRefs, refs);
-    }
-
-    @Override
-    public void collectVars(TObjectIntHashMap<Variable> allVars, TIntHashSet vars) {
-        query.collectVars(allVars, vars);
-        expression.collectVars(allVars, vars);
-    }
-
-    @Override
-    public void forVariables(VariableProcedure procedure) {
-        query.forVariables(procedure);
-        expression.forVariables(procedure);
-    }
-
     @Override
     protected void updateType() throws MatchException {
         setType(Types.list(expression.getType()));
@@ -97,15 +74,6 @@ public class ECHRSelect extends Expression {
         return w.apply(location, context.getValue(Names.MList_freeze).getValue(), list);
     }
 
-    @Override
-    public void collectFreeVariables(THashSet<Variable> vars) {
-        query.collectFreeVariables(vars);
-        expression.collectFreeVariables(vars);
-        if(existentialVariables != null)
-            for(Variable variable : existentialVariables)
-                vars.remove(variable);
-    }
-
     @Override
     public Expression resolve(TranslationContext context) {
         currentRuleset = context.currentRuleset;
@@ -126,13 +94,6 @@ public class ECHRSelect extends Expression {
         }
     }
 
-    @Override
-    public void collectEffects(THashSet<Type> effects) {
-        expression.collectEffects(effects);
-        query.collectQueryEffects(effects);
-        effects.add(Types.PROC);
-    }
-
     @Override
     public void accept(ExpressionVisitor visitor) {
         visitor.visit(this);