]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EWhen.java
(refs #7375) Replaced collectVars method by a visitor
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / EWhen.java
index d8b42fca47e921bc26759442b77f41c7218e46b5..df6d56888d22013fe9ff38a836ace4ecc188d836 100644 (file)
@@ -1,6 +1,5 @@
 package org.simantics.scl.compiler.elaboration.expressions;
 
-import org.simantics.scl.compiler.common.exceptions.InternalCompilerError;
 import org.simantics.scl.compiler.elaboration.contexts.ReplaceContext;
 import org.simantics.scl.compiler.elaboration.contexts.SimplificationContext;
 import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;
@@ -17,15 +16,11 @@ import org.simantics.scl.compiler.types.exceptions.MatchException;
 import org.simantics.scl.compiler.types.exceptions.UnificationException;
 import org.simantics.scl.compiler.types.kinds.Kinds;
 
-import gnu.trove.map.hash.TObjectIntHashMap;
-import gnu.trove.set.hash.THashSet;
-import gnu.trove.set.hash.TIntHashSet;
-
 public class EWhen extends SimplifiableExpression {
 
     public Query query;
     public Expression action;
-    Variable[] variables;
+    public Variable[] variables;
     
     public EWhen(Query query, Expression action) {
         this.query = query;
@@ -43,25 +38,6 @@ public class EWhen extends SimplifiableExpression {
         this.variables = variables;
     }
 
-    @Override
-    public void collectRefs(TObjectIntHashMap<Object> allRefs,
-            TIntHashSet refs) {
-        query.collectRefs(allRefs, refs);
-        action.collectRefs(allRefs, refs);
-    }
-
-    @Override
-    public void collectVars(TObjectIntHashMap<Variable> allVars,
-            TIntHashSet vars) {
-        query.collectVars(allVars, vars);
-        action.collectVars(allVars, vars);
-    }
-    
-    @Override
-    public void collectEffects(THashSet<Type> effects) {
-        throw new InternalCompilerError(location, getClass().getSimpleName() + " does not support collectEffects.");
-    }
-
     @Override
     protected void updateType() throws MatchException {
         setType(Types.UNIT);
@@ -96,14 +72,6 @@ public class EWhen extends SimplifiableExpression {
         }
     }
 
-    @Override
-    public void collectFreeVariables(THashSet<Variable> vars) {
-        action.collectFreeVariables(vars);
-        query.collectFreeVariables(vars);
-        for(Variable var : variables)
-            vars.remove(var);
-    }
-
     @Override
     public Expression resolve(TranslationContext context) {
         context.pushExistentialFrame();
@@ -149,12 +117,6 @@ public class EWhen extends SimplifiableExpression {
     public Expression getAction() {
         return action;
     }
-
-    @Override
-    public void forVariables(VariableProcedure procedure) {
-        query.forVariables(procedure);
-        action.forVariables(procedure);
-    }
     
     @Override
     public Expression simplify(SimplificationContext context) {