1 package org.simantics.scl.compiler.elaboration.expressions.visitors;
3 import org.simantics.scl.compiler.elaboration.expressions.EAsPattern;
4 import org.simantics.scl.compiler.elaboration.expressions.EVariable;
5 import org.simantics.scl.compiler.elaboration.expressions.Variable;
7 import gnu.trove.map.hash.TObjectIntHashMap;
8 import gnu.trove.set.hash.TIntHashSet;
10 public class CollectVarsVisitor extends StandardExpressionVisitor {
11 private final TObjectIntHashMap<Variable> allVars;
12 private final TIntHashSet vars;
14 public CollectVarsVisitor(TObjectIntHashMap<Variable> allVars, TIntHashSet vars) {
15 this.allVars = allVars;
20 public void visit(EVariable expression) {
21 if(expression.variable != null) {
22 int id = allVars.get(expression.variable);
29 public void visit(EAsPattern expression) {
30 int id = allVars.get(expression.var);
33 expression.pattern.accept(this);