diff --git a/build.xml b/build.xml index d5438f6a..d940621d 100644 --- a/build.xml +++ b/build.xml @@ -511,6 +511,7 @@ + @@ -643,6 +644,7 @@ + @@ -2548,6 +2550,7 @@ + @@ -2680,6 +2683,7 @@ + @@ -3964,7 +3968,7 @@ - + @@ -4118,7 +4122,6 @@ - @@ -5514,7 +5517,48 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5555,11 +5599,12 @@ + - + @@ -5588,7 +5633,6 @@ - @@ -5602,6 +5646,7 @@ + @@ -6046,7 +6091,6 @@ - diff --git a/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps b/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps index 608de56b..20e438d6 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/generator/template/main@generator.mps @@ -5,18 +5,19 @@ - + - + - + + @@ -48,6 +49,10 @@ + + + + @@ -131,6 +136,10 @@ + + + + @@ -321,6 +330,7 @@ + @@ -398,6 +408,12 @@ + + + + + + @@ -480,6 +496,9 @@ + + + @@ -566,6 +585,7 @@ + @@ -680,6 +700,10 @@ + + + + @@ -687,17 +711,37 @@ + + + + + + + + + + + + + + + + + + + + @@ -707,7 +751,14 @@ + + + + + + + @@ -760,6 +811,11 @@ + + + + + @@ -1539,55 +1595,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -1681,55 +1691,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -3176,7 +3140,25 @@ - + + + + + + + + + + + + + + + + + + + @@ -3368,6 +3350,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3389,6 +3433,13 @@ + + + + + + + @@ -6788,57 +6839,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + @@ -6940,57 +6948,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + @@ -7208,55 +7173,13 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - @@ -10683,6 +10606,21 @@ + + + + + + + + + + + + + + + @@ -10751,21 +10689,6 @@ - - - - - - - - - - - - - - - @@ -14078,6 +14001,12 @@ + + + + + + @@ -15177,6 +15106,23 @@ + + + + + + + + + + + + + + + + + @@ -15201,23 +15147,6 @@ - - - - - - - - - - - - - - - - - @@ -15395,6 +15324,23 @@ + + + + + + + + + + + + + + + + + @@ -15435,23 +15381,6 @@ - - - - - - - - - - - - - - - - - @@ -15579,13 +15508,16 @@ - + + + + @@ -15619,9 +15551,6 @@ - - - @@ -16091,5 +16020,1542 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.eval.mps b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.eval.mps index 9b2f184a..3c14670f 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.eval.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.eval.mps @@ -113,6 +113,9 @@ + + + @@ -5068,6 +5071,21 @@ + + + + + + + + + + + + + + + @@ -5118,7 +5136,16 @@ - + + + + + + + + + + @@ -5190,6 +5217,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5261,6 +5336,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5294,6 +5433,14 @@ + + + + + + + + @@ -5565,9 +5712,23 @@ - - - + + + + + + + + + + + + + + + + + @@ -5866,67 +6027,83 @@ - - - - - - + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + - - + + - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.analysis.mps b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.analysis.mps index 72802572..053ca99b 100644 --- a/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.analysis.mps +++ b/coderules/languages/jetbrains.mps.lang.coderules/runtime/models/jetbrains.mps.lang.coderules.program.analysis.mps @@ -66,6 +66,9 @@ + + + @@ -157,6 +160,9 @@ + + + @@ -182,7 +188,9 @@ - + + + @@ -312,6 +320,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -438,6 +470,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -446,6 +519,20 @@ + + + + + + + + + + + + + + @@ -1678,6 +1765,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2700,6 +2882,9 @@ + + + @@ -2890,7 +3075,7 @@ - + @@ -2970,6 +3155,9 @@ + + + @@ -2996,6 +3184,9 @@ + + + @@ -3213,8 +3404,8 @@ - - + + @@ -3245,5 +3436,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coderules/solutions/jetbrains.mps.coderules.build/models/jetbrains.mps.coderules.build.mps b/coderules/solutions/jetbrains.mps.coderules.build/models/jetbrains.mps.coderules.build.mps index a176ff89..c6240f53 100644 --- a/coderules/solutions/jetbrains.mps.coderules.build/models/jetbrains.mps.coderules.build.mps +++ b/coderules/solutions/jetbrains.mps.coderules.build/models/jetbrains.mps.coderules.build.mps @@ -2,13 +2,13 @@ - - - - - - - + + + + + + + @@ -1710,6 +1710,11 @@ + + + + + diff --git a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.incrementality@tests.mps b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.incrementality@tests.mps index b9462204..525f0f72 100644 --- a/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.incrementality@tests.mps +++ b/coderules/solutions/jetbrains.mps.coderules.typechecking.test/models/jetbrains.mps.coderules.incrementality@tests.mps @@ -101,6 +101,7 @@ + @@ -115,6 +116,7 @@ + @@ -316,22 +318,11 @@ - - - - - - - - - - - @@ -354,6 +345,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -745,14 +775,6 @@ - - - - - - - - @@ -855,21 +877,6 @@ - - - - - - - - - - - - - - - @@ -894,82 +901,22 @@ - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - + @@ -977,41 +924,43 @@ - - - + + + - + - + - + - + - + - - - - + + + + - - - - - + + + + + + + - + @@ -1041,19 +990,21 @@ - - - - + + + + - - - - - + + + + + + + - + @@ -1061,15 +1012,6 @@ - - - - - - - - - diff --git a/coderules/solutions/jetbrains.mps.lang.coderules.template/jetbrains.mps.lang.coderules.template.msd b/coderules/solutions/jetbrains.mps.lang.coderules.template/jetbrains.mps.lang.coderules.template.msd index 39d34249..403f4b96 100644 --- a/coderules/solutions/jetbrains.mps.lang.coderules.template/jetbrains.mps.lang.coderules.template.msd +++ b/coderules/solutions/jetbrains.mps.lang.coderules.template/jetbrains.mps.lang.coderules.template.msd @@ -13,6 +13,7 @@ 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK) da80355b-a098-4248-9ec8-70d10dd7e9af(jetbrains.mps.reporting.runtime) bbf5c548-7111-4a53-a117-cdefc664cf34(jetbrains.mps.logic.reactor) + 26e8f4ce-2a35-4f44-8065-e5ba154b18e9(jetbrains.mps.lang.coderules.runtime) @@ -33,6 +34,7 @@ + diff --git a/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.template.mps b/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.template.mps index 90c3d0df..7dc5c8a0 100644 --- a/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.template.mps +++ b/coderules/solutions/jetbrains.mps.lang.coderules.template/models/jetbrains.mps.lang.coderules.template.mps @@ -25,6 +25,7 @@ + @@ -392,6 +393,16 @@ + + + + + + + + + + @@ -2680,6 +2691,9 @@ + + + @@ -2694,6 +2708,10 @@ + + + + @@ -2713,6 +2731,19 @@ + + + + + + + + + + + + + @@ -4199,6 +4230,22 @@ + + + + + + + + + + + + + + + + @@ -4427,6 +4474,11 @@ + + + + + diff --git a/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/MatchJournalImpl.kt b/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/MatchJournalImpl.kt index 2cd58d9d..7b6be627 100644 --- a/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/MatchJournalImpl.kt +++ b/reactor/Core/src/jetbrains/mps/logic/reactor/core/internal/MatchJournalImpl.kt @@ -215,6 +215,7 @@ internal open class MatchJournalImpl( override fun kind(): Kind = Kind.PROPAGATION override fun uniqueTag(): Any = tag().hashCode() override fun tag(): String = "initialrule${"initialrule".hashCode()}" + override fun basetag(): String = tag() override fun headKept(): Iterable = emptyList() override fun headReplaced(): Iterable = emptyList() override fun guard(): Iterable = emptyList() diff --git a/reactor/Core/src/jetbrains/mps/logic/reactor/program/Rule.java b/reactor/Core/src/jetbrains/mps/logic/reactor/program/Rule.java index f4e1a8bf..af50b3f2 100644 --- a/reactor/Core/src/jetbrains/mps/logic/reactor/program/Rule.java +++ b/reactor/Core/src/jetbrains/mps/logic/reactor/program/Rule.java @@ -32,10 +32,15 @@ public abstract class Rule { public abstract Object uniqueTag(); /** - * A human-readable identifier, not guaranteed to be unique + * Human-readable identifier, not guaranteed to be unique. */ public abstract String tag(); + /** + * Human-readable identifier shared by all rules produced from the same template. + */ + public abstract String basetag(); + /** * An origin serves as justification for all constraints affected by this rule. */ diff --git a/reactor/Test/src/program/MockProgram.kt b/reactor/Test/src/program/MockProgram.kt index feb84633..39a9cf5d 100644 --- a/reactor/Test/src/program/MockProgram.kt +++ b/reactor/Test/src/program/MockProgram.kt @@ -85,6 +85,8 @@ class MockRule( override fun tag(): String = tag + override fun basetag(): String = tag + override fun headKept(): Iterable = kept override fun headReplaced(): Iterable = replaced