From: Jani Simomaa Date: Mon, 17 Jul 2017 19:17:55 +0000 (+0300) Subject: Merge "AbstractCompileStructuralValueRequest uses wrong RuntimeEnvironment" X-Git-Tag: v1.31.0~264^2~50 X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=commitdiff_plain;h=e81aaf01a022b7f9fd54924f843a8f8594682126;hp=5c5ee43928133ae99fcb693a6980d86f088b2cb5 Merge "AbstractCompileStructuralValueRequest uses wrong RuntimeEnvironment" --- diff --git a/bundles/org.simantics.document.server.io/META-INF/MANIFEST.MF b/bundles/org.simantics.document.server.io/META-INF/MANIFEST.MF index b860e19bf..4b14c09b6 100644 --- a/bundles/org.simantics.document.server.io/META-INF/MANIFEST.MF +++ b/bundles/org.simantics.document.server.io/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Document Server I/O interface Bundle-SymbolicName: org.simantics.document.server.io -Bundle-Version: 0.0.1.qualifier +Bundle-Version: 1.0.0.qualifier Bundle-Activator: org.simantics.document.server.io.Activator Bundle-Vendor: Semantum Oy Require-Bundle: org.eclipse.core.runtime diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/CHRQuery.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/CHRQuery.java index 9e2bf6f34..5cb0f2aee 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/CHRQuery.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/chr/CHRQuery.java @@ -3,6 +3,7 @@ package org.simantics.scl.compiler.elaboration.chr; import org.simantics.scl.compiler.elaboration.chr.plan.PostCommitOp; import org.simantics.scl.compiler.elaboration.chr.plan.PreCommitOp; import org.simantics.scl.compiler.elaboration.chr.planning.QueryPlanningContext; +import org.simantics.scl.compiler.elaboration.chr.relations.CHRConstraint; import org.simantics.scl.compiler.elaboration.contexts.SimplificationContext; import org.simantics.scl.compiler.elaboration.contexts.TranslationContext; import org.simantics.scl.compiler.elaboration.contexts.TypingContext; @@ -62,7 +63,7 @@ public class CHRQuery extends Symbol { } } - public boolean createQueryPlan(QueryPlanningContext context, Expression inputFact, int activeLiteralId) { + public boolean createQueryPlan(QueryPlanningContext context, Expression inputFact, int activeLiteralId, CHRConstraint initConstraint) { for(int i=0;i currentId) + currentId = context.currentId; + } } diff --git a/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/ModuleRegressionTests.java b/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/ModuleRegressionTests.java index a5975932b..d8f703afc 100644 --- a/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/ModuleRegressionTests.java +++ b/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/ModuleRegressionTests.java @@ -32,6 +32,7 @@ public class ModuleRegressionTests extends TestBase { @Test public void CHR8() { test(); } @Test public void CHR9() { test(); } @Test public void CHR10() { test(); } + @Test public void CHR11() { test(); } @Test public void ClosureRecursion() { test(); } @Test public void Collaz() { test(); } @Test public void Compose() { test(); } diff --git a/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/CHR11.scl b/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/CHR11.scl new file mode 100644 index 000000000..3ba991ef5 --- /dev/null +++ b/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/CHR11.scl @@ -0,0 +1,26 @@ +module { export = [main], features = [chr] } +import "Prelude" + +ruleset Foo where + constraint Foo Integer + +main = () + where + foo = createFoo + include Foo foo + + when Foo ?x + then print ?x + + when True + then Foo 2 + + when Foo ?x + ?x < 5 + then Foo (?x + 1) +-- +2 +3 +4 +5 +() \ No newline at end of file