]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/Expression.java
(refs #7375) Replaced collectVars method by a visitor
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / Expression.java
index 5b60dad423c942ddbb2a0ff4d03906a5e327b0cb..427acbd19b9dbbdd082df33f7c8ca97b0792d3ed 100644 (file)
@@ -18,6 +18,7 @@ import org.simantics.scl.compiler.elaboration.expressions.printing.ExpressionToS
 import org.simantics.scl.compiler.elaboration.expressions.visitors.CollectEffectsVisitor;
 import org.simantics.scl.compiler.elaboration.expressions.visitors.CollectFreeVariablesVisitor;
 import org.simantics.scl.compiler.elaboration.expressions.visitors.CollectRefsVisitor;
+import org.simantics.scl.compiler.elaboration.expressions.visitors.CollectVarsVisitor;
 import org.simantics.scl.compiler.elaboration.expressions.visitors.ForVariablesUsesVisitor;
 import org.simantics.scl.compiler.elaboration.expressions.visitors.StandardExpressionVisitor;
 import org.simantics.scl.compiler.elaboration.query.QAtom;
@@ -163,7 +164,9 @@ public abstract class Expression extends Symbol implements Typed {
         accept(new CollectRefsVisitor(allRefs, refs));
     }
 
-    public abstract void collectVars(TObjectIntHashMap<Variable> allVars, TIntHashSet vars);
+    public final void collectVars(TObjectIntHashMap<Variable> allVars, TIntHashSet vars) {
+        accept(new CollectVarsVisitor(allVars, vars));
+    }
 
     public final void forVariableUses(VariableProcedure procedure) {
         accept(new ForVariablesUsesVisitor(procedure));