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.VariableProcedure;
7 public class ForVariablesUsesVisitor extends StandardExpressionVisitor {
8 VariableProcedure procedure;
10 public ForVariablesUsesVisitor(VariableProcedure procedure) {
11 this.procedure = procedure;
15 public void visit(EVariable expression) {
16 if(expression.variable != null)
17 procedure.execute(expression.location, expression.variable);
20 public void visit(EAsPattern expression) {
21 expression.pattern.accept(this);
22 procedure.execute(expression.eVar.location, expression.var);