]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/visitors/ForVariablesUsesVisitor.java
(refs #7375) Replaced collectFreeVariables method by a visitor
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / visitors / ForVariablesUsesVisitor.java
1 package org.simantics.scl.compiler.elaboration.expressions.visitors;
2
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;
6
7 public class ForVariablesUsesVisitor extends StandardExpressionVisitor {
8     VariableProcedure procedure;
9     
10     public ForVariablesUsesVisitor(VariableProcedure procedure) {
11         this.procedure = procedure;
12     }
13     
14     @Override
15     public void visit(EVariable expression) {
16         if(expression.variable != null)
17             procedure.execute(expression.location, expression.variable);
18     }
19     @Override
20     public void visit(EAsPattern expression) {
21         expression.pattern.accept(this);
22         procedure.execute(expression.eVar.location, expression.var);
23     }
24 }