X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Felaboration%2Fexpressions%2FECHRRuleset.java;h=a8ad1480d1be35af8115d493629e3f93724b8db5;hp=d23b2e4cee3b19710a8bf1d855c3144c153fa295;hb=a9f88c57e622d9ecf2732bd0278e0989dc0dfd5a;hpb=2f63e7a58e49a233b28c6968b848281060117c43 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ECHRRuleset.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ECHRRuleset.java index d23b2e4ce..a8ad1480d 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ECHRRuleset.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ECHRRuleset.java @@ -26,30 +26,29 @@ public class ECHRRuleset extends Expression { this.in = in; } - @Override - public void collectRefs(TObjectIntHashMap allRefs, TIntHashSet refs) { - ruleset.collectRefs(allRefs, refs); - in.collectRefs(allRefs, refs); - } @Override public void collectVars(TObjectIntHashMap allVars, TIntHashSet vars) { ruleset.collectVars(allVars, vars); in.collectVars(allVars, vars); } + @Override protected void updateType() throws MatchException { setType(in.getType()); } + @Override public IVal toVal(CompilationContext context, CodeWriter w) { ruleset.generateCode(w); return in.toVal(context, w); } + @Override public void collectFreeVariables(THashSet vars) { ruleset.collectFreeVariables(vars); in.collectFreeVariables(vars); } + @Override public Expression resolve(TranslationContext context) { if(context.currentRuleset != null) {