]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EVariable.java
(refs #7375) Replaced forVariables by a visitor
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / EVariable.java
index a4010303ca75ed20a23cb12f7780cf3e70f2fad6..669867ff6ca0e825f83c3906b50e3e63a652530f 100644 (file)
@@ -3,15 +3,14 @@ package org.simantics.scl.compiler.elaboration.expressions;
 import java.util.ArrayList;
 
 import org.simantics.scl.compiler.common.exceptions.InternalCompilerError;
+import org.simantics.scl.compiler.compilation.CompilationContext;
 import org.simantics.scl.compiler.elaboration.contexts.ReplaceContext;
 import org.simantics.scl.compiler.elaboration.contexts.SimplificationContext;
 import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;
 import org.simantics.scl.compiler.elaboration.contexts.TypingContext;
-import org.simantics.scl.compiler.environment.Environment;
 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.internal.elaboration.utils.ExpressionDecorator;
 import org.simantics.scl.compiler.internal.interpreted.IExpression;
 import org.simantics.scl.compiler.internal.interpreted.IVariable;
 import org.simantics.scl.compiler.top.ExpressionInterpretationContext;
@@ -28,7 +27,7 @@ import gnu.trove.set.hash.TIntHashSet;
 public class EVariable extends Expression {
     public static final EVariable[] EMPTY_ARRAY = new EVariable[0];
     
-    Variable variable;
+    public Variable variable;
     
     public EVariable(Variable variable) {
         this.variable = variable;
@@ -68,7 +67,7 @@ public class EVariable extends Expression {
        }
        
        @Override
-       public IVal toVal(Environment env, CodeWriter w) {
+       public IVal toVal(CompilationContext context, CodeWriter w) {
         return variable.getVal();
     }
 
@@ -162,11 +161,6 @@ public class EVariable extends Expression {
             return context.subsume(this, requiredType);
     }
     
-    @Override
-    public Expression decorate(ExpressionDecorator decorator) {     
-        return decorator.decorate(this);
-    }
-    
     @Override
     public boolean isEffectful() {
        return false;
@@ -186,12 +180,6 @@ public class EVariable extends Expression {
     public void accept(ExpressionVisitor visitor) {
         visitor.visit(this);
     }
-
-    @Override
-    public void forVariables(VariableProcedure procedure) {
-        if(variable != null)
-            procedure.execute(location, variable);
-    }
     
     @Override
     public boolean isPattern(int arity) {