X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Felaboration%2Fexpressions%2FECHRSelect.java;h=bf3b818f56c01c844b078705751ca1f3d20fd873;hb=666ee533a3cfa9f59e79215a269f8342227cdbda;hp=47c007d7f7446fc45a04467feb67c56beec3fa5d;hpb=292e64ba21f8044df19884dc3e61fe5e292a82df;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ECHRSelect.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ECHRSelect.java index 47c007d7f..bf3b818f5 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ECHRSelect.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ECHRSelect.java @@ -17,20 +17,14 @@ import org.simantics.scl.compiler.elaboration.contexts.TypingContext; 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.types.Type; import org.simantics.scl.compiler.types.Types; import org.simantics.scl.compiler.types.exceptions.MatchException; 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 ECHRSelect extends Expression { - CHRQuery query; - Variable[] existentialVariables; - Expression expression; + public CHRQuery query; + public Variable[] existentialVariables; + public Expression expression; private ArrayList planOps; private CHRRuleset currentRuleset; @@ -39,24 +33,6 @@ public class ECHRSelect extends Expression { this.query = query; } - @Override - public void collectRefs(TObjectIntHashMap allRefs, TIntHashSet refs) { - query.collectRefs(allRefs, refs); - expression.collectRefs(allRefs, refs); - } - - @Override - public void collectVars(TObjectIntHashMap allVars, TIntHashSet vars) { - query.collectVars(allVars, vars); - expression.collectVars(allVars, vars); - } - - @Override - public void forVariables(VariableProcedure procedure) { - query.forVariables(procedure); - expression.forVariables(procedure); - } - @Override protected void updateType() throws MatchException { setType(Types.list(expression.getType())); @@ -98,15 +74,6 @@ public class ECHRSelect extends Expression { return w.apply(location, context.getValue(Names.MList_freeze).getValue(), list); } - @Override - public void collectFreeVariables(THashSet vars) { - query.collectFreeVariables(vars); - expression.collectFreeVariables(vars); - if(existentialVariables != null) - for(Variable variable : existentialVariables) - vars.remove(variable); - } - @Override public Expression resolve(TranslationContext context) { currentRuleset = context.currentRuleset; @@ -127,19 +94,6 @@ public class ECHRSelect extends Expression { } } - @Override - public Expression decorate(ExpressionDecorator decorator) { - this.expression = decorator.decorate(expression); - return this; - } - - @Override - public void collectEffects(THashSet effects) { - expression.collectEffects(effects); - query.collectQueryEffects(effects); - effects.add(Types.PROC); - } - @Override public void accept(ExpressionVisitor visitor) { visitor.visit(this);