Commit 03ef6ee5 authored by André Pacak's avatar André Pacak

start with context projection lookup merge transformation

parent 9c6d88f7
......@@ -7186,7 +7186,137 @@
</node>
<node concept="3Tm1VV" id="4RJJaubau2E" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="6XUlM2nKY26" role="jymVt" />
<node concept="3clFb_" id="6XUlM2nL3i2" role="jymVt">
<property role="TrG5h" value="getRulesForDeclaration" />
<node concept="3clFbS" id="6XUlM2nL3i5" role="3clF47">
<node concept="3clFbF" id="6XUlM2nL72G" role="3cqZAp">
<node concept="2OqwBi" id="6XUlM2nMDKf" role="3clFbG">
<node concept="2OqwBi" id="6XUlM2nLn9Z" role="2Oq$k0">
<node concept="2OqwBi" id="6XUlM2nLeid" role="2Oq$k0">
<node concept="2OqwBi" id="6XUlM2nL7jU" role="2Oq$k0">
<node concept="37vLTw" id="6XUlM2nL72F" role="2Oq$k0">
<ref role="3cqZAo" node="4RJJaub7ZYE" resolve="module" />
</node>
<node concept="I4A8Y" id="6XUlM2nLaQA" role="2OqNvi" />
</node>
<node concept="2SmgA7" id="6XUlM2nLhUZ" role="2OqNvi">
<node concept="chp4Y" id="6XUlM2nLljH" role="1dBWTz">
<ref role="cht4Q" to="b83y:2_58u12eCWN" resolve="Rule" />
</node>
</node>
</node>
<node concept="3zZkjj" id="6XUlM2nLwC2" role="2OqNvi">
<node concept="1bVj0M" id="6XUlM2nLwC4" role="23t8la">
<node concept="3clFbS" id="6XUlM2nLwC5" role="1bW5cS">
<node concept="3clFbF" id="6XUlM2nLwMW" role="3cqZAp">
<node concept="1Wc70l" id="6XUlM2nLRz7" role="3clFbG">
<node concept="1rXfSq" id="6XUlM2nLRV$" role="3uHU7B">
<ref role="37wK5l" node="4RJJaub9Qev" resolve="moduleContains" />
<node concept="37vLTw" id="6XUlM2nLSiW" role="37wK5m">
<ref role="3cqZAo" node="6XUlM2nLwC6" resolve="it" />
</node>
</node>
<node concept="3clFbC" id="6XUlM2nLQKZ" role="3uHU7w">
<node concept="37vLTw" id="6XUlM2nLR6R" role="3uHU7w">
<ref role="3cqZAo" node="6XUlM2nL5ak" resolve="declaration" />
</node>
<node concept="2OqwBi" id="6XUlM2nLJcW" role="3uHU7B">
<node concept="2OqwBi" id="6XUlM2nLx4U" role="2Oq$k0">
<node concept="37vLTw" id="6XUlM2nLwMV" role="2Oq$k0">
<ref role="3cqZAo" node="6XUlM2nLwC6" resolve="it" />
</node>
<node concept="3TrEf2" id="6XUlM2nLC8D" role="2OqNvi">
<ref role="3Tt5mk" to="b83y:2_58u12eCXl" resolve="conclusion" />
</node>
</node>
<node concept="2qgKlT" id="6XUlM2nLQjE" role="2OqNvi">
<ref role="37wK5l" to="pgas:iMPJyMM1Nb" resolve="getJudgment" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="6XUlM2nLwC6" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="6XUlM2nLwC7" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="ANE8D" id="6XUlM2nMY6i" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="6XUlM2nL1mM" role="1B3o_S" />
<node concept="2I9FWS" id="6XUlM2nL3eP" role="3clF45">
<ref role="2I9WkF" to="b83y:2_58u12eCWN" resolve="Rule" />
</node>
<node concept="37vLTG" id="6XUlM2nL5ak" role="3clF46">
<property role="TrG5h" value="declaration" />
<node concept="3Tqbb2" id="6XUlM2nL5aj" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12eLDI" resolve="JudgmentDeclaration" />
</node>
</node>
</node>
<node concept="2tJIrI" id="4RJJaubXLYO" role="jymVt" />
<node concept="3clFb_" id="6XUlM2nTnbU" role="jymVt">
<property role="TrG5h" value="removeRulesOfDeclarationAndItself" />
<node concept="3clFbS" id="6XUlM2nTnbX" role="3clF47">
<node concept="3cpWs8" id="6XUlM2nTOGj" role="3cqZAp">
<node concept="3cpWsn" id="6XUlM2nTOGk" role="3cpWs9">
<property role="TrG5h" value="rules" />
<node concept="2I9FWS" id="6XUlM2nTOGg" role="1tU5fm">
<ref role="2I9WkF" to="b83y:2_58u12eCWN" resolve="Rule" />
</node>
<node concept="1rXfSq" id="6XUlM2nTOGl" role="33vP2m">
<ref role="37wK5l" node="6XUlM2nL3i2" resolve="getRulesForDeclaration" />
<node concept="37vLTw" id="6XUlM2nTOGm" role="37wK5m">
<ref role="3cqZAo" node="6XUlM2nTFYv" resolve="declaration" />
</node>
</node>
</node>
</node>
<node concept="1DcWWT" id="6XUlM2nTON_" role="3cqZAp">
<node concept="3clFbS" id="6XUlM2nTONB" role="2LFqv$">
<node concept="3clFbF" id="6XUlM2nTQOn" role="3cqZAp">
<node concept="2OqwBi" id="6XUlM2nTQXE" role="3clFbG">
<node concept="37vLTw" id="6XUlM2nTQOl" role="2Oq$k0">
<ref role="3cqZAo" node="6XUlM2nTONC" resolve="rule" />
</node>
<node concept="3YRAZt" id="6XUlM2nTRsc" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3cpWsn" id="6XUlM2nTONC" role="1Duv9x">
<property role="TrG5h" value="rule" />
<node concept="3Tqbb2" id="6XUlM2nTOXo" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12eCWN" resolve="Rule" />
</node>
</node>
<node concept="37vLTw" id="6XUlM2nTPmv" role="1DdaDG">
<ref role="3cqZAo" node="6XUlM2nTOGk" resolve="rules" />
</node>
</node>
<node concept="3clFbF" id="6XUlM2nTSW1" role="3cqZAp">
<node concept="2OqwBi" id="6XUlM2nTU_h" role="3clFbG">
<node concept="37vLTw" id="6XUlM2nTSVZ" role="2Oq$k0">
<ref role="3cqZAo" node="6XUlM2nTFYv" resolve="declaration" />
</node>
<node concept="3YRAZt" id="6XUlM2nTUXX" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="6XUlM2nTl9a" role="1B3o_S" />
<node concept="3cqZAl" id="6XUlM2nTn9W" role="3clF45" />
<node concept="37vLTG" id="6XUlM2nTFYv" role="3clF46">
<property role="TrG5h" value="declaration" />
<node concept="3Tqbb2" id="6XUlM2nTFYu" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12eLDI" resolve="JudgmentDeclaration" />
</node>
</node>
</node>
<node concept="3clFb_" id="4RJJaubLgPa" role="jymVt">
<property role="TrG5h" value="getLastElement" />
<node concept="3clFbS" id="4RJJaubLgPd" role="3clF47">
......
......@@ -228,6 +228,7 @@
<concept id="1162935959151" name="jetbrains.mps.baseLanguage.collections.structure.GetSizeOperation" flags="nn" index="34oBXx" />
<concept id="1165525191778" name="jetbrains.mps.baseLanguage.collections.structure.GetFirstOperation" flags="nn" index="1uHKPH" />
<concept id="1165595910856" name="jetbrains.mps.baseLanguage.collections.structure.GetLastOperation" flags="nn" index="1yVyf7" />
<concept id="1225727723840" name="jetbrains.mps.baseLanguage.collections.structure.FindFirstOperation" flags="nn" index="1z4cxt" />
<concept id="1202120902084" name="jetbrains.mps.baseLanguage.collections.structure.WhereOperation" flags="nn" index="3zZkjj" />
<concept id="1202128969694" name="jetbrains.mps.baseLanguage.collections.structure.SelectOperation" flags="nn" index="3$u5V9" />
<concept id="1197932370469" name="jetbrains.mps.baseLanguage.collections.structure.MapElement" flags="nn" index="3EllGN">
......@@ -244,6 +245,9 @@
<node concept="1puMqW" id="4RJJaubPgua" role="1puA0r">
<ref role="1puQsG" node="7DdCaEODx6h" resolve="eliminateContextByProjection" />
</node>
<node concept="1puMqW" id="6XUlM2nKVB6" role="1puA0r">
<ref role="1puQsG" node="6XUlM2nKRm7" resolve="mergeContextProjectionLookup" />
</node>
</node>
<node concept="1pmfR0" id="4XA4NEmGx5U">
<property role="TrG5h" value="eliminateRecursiveInputFromJudgment" />
......@@ -1819,5 +1823,243 @@
</node>
</node>
</node>
<node concept="1pmfR0" id="6XUlM2nKRm7">
<property role="TrG5h" value="mergeContextProjectionLookup" />
<property role="1v3f2W" value="pre_processing" />
<property role="1v3jST" value="true" />
<node concept="1pplIY" id="6XUlM2nKRm8" role="1pqMTA">
<node concept="3clFbS" id="6XUlM2nKRm9" role="2VODD2">
<node concept="3cpWs8" id="6XUlM2nKRwT" role="3cqZAp">
<node concept="3cpWsn" id="6XUlM2nKRwU" role="3cpWs9">
<property role="TrG5h" value="modules" />
<node concept="2I9FWS" id="6XUlM2nKRwR" role="1tU5fm">
<ref role="2I9WkF" to="b83y:2_58u12cYEI" resolve="TypeLangModule" />
</node>
<node concept="2YIFZM" id="6XUlM2nKRwV" role="33vP2m">
<ref role="37wK5l" to="5tos:4RJJaubbks$" resolve="getTypeLangModules" />
<ref role="1Pybhc" to="5tos:32CDcOyGKwu" resolve="TypeLangModuleQuerier" />
<node concept="1Q6Npb" id="6XUlM2nKRwW" role="37wK5m" />
</node>
</node>
</node>
<node concept="1DcWWT" id="6XUlM2nKR$6" role="3cqZAp">
<node concept="3clFbS" id="6XUlM2nKR$8" role="2LFqv$">
<node concept="3cpWs8" id="6XUlM2nKWP4" role="3cqZAp">
<node concept="3cpWsn" id="6XUlM2nKWP5" role="3cpWs9">
<property role="TrG5h" value="querier" />
<node concept="3uibUv" id="6XUlM2nKWP3" role="1tU5fm">
<ref role="3uigEE" to="5tos:32CDcOyGKwu" resolve="TypeLangModuleQuerier" />
</node>
<node concept="2ShNRf" id="6XUlM2nKWP6" role="33vP2m">
<node concept="1pGfFk" id="6XUlM2nKWP7" role="2ShVmc">
<ref role="37wK5l" to="5tos:4RJJaub9nwG" resolve="TypeLangModuleQuerier" />
<node concept="37vLTw" id="6XUlM2nKWP8" role="37wK5m">
<ref role="3cqZAo" node="6XUlM2nKR$9" resolve="module" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="6XUlM2nKXcu" role="3cqZAp" />
<node concept="3SKdUt" id="6XUlM2nKXdg" role="3cqZAp">
<node concept="3SKdUq" id="6XUlM2nKXdi" role="3SKWNk">
<property role="3SKdUp" value="get all context projection rules" />
</node>
</node>
<node concept="3cpWs8" id="6XUlM2nU1TV" role="3cqZAp">
<node concept="3cpWsn" id="6XUlM2nU1TW" role="3cpWs9">
<property role="TrG5h" value="contextProjectionDeclaration" />
<node concept="3Tqbb2" id="6XUlM2nU1TX" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12eLDI" resolve="JudgmentDeclaration" />
</node>
<node concept="2OqwBi" id="6XUlM2nU1TY" role="33vP2m">
<node concept="2OqwBi" id="6XUlM2nU1TZ" role="2Oq$k0">
<node concept="37vLTw" id="6XUlM2nU1U0" role="2Oq$k0">
<ref role="3cqZAo" node="6XUlM2nKWP5" resolve="querier" />
</node>
<node concept="liA8E" id="6XUlM2nU1U1" role="2OqNvi">
<ref role="37wK5l" to="5tos:4RJJauchPfF" resolve="getDeclarationsWithTermAndContext" />
</node>
</node>
<node concept="1z4cxt" id="6XUlM2nU1U2" role="2OqNvi">
<node concept="1bVj0M" id="6XUlM2nU1U3" role="23t8la">
<node concept="3clFbS" id="6XUlM2nU1U4" role="1bW5cS">
<node concept="3clFbF" id="6XUlM2nU1U5" role="3cqZAp">
<node concept="2OqwBi" id="6XUlM2nU1U6" role="3clFbG">
<node concept="2OqwBi" id="6XUlM2nU1U7" role="2Oq$k0">
<node concept="37vLTw" id="6XUlM2nU1U8" role="2Oq$k0">
<ref role="3cqZAo" node="6XUlM2nU1Uc" resolve="it" />
</node>
<node concept="3TrcHB" id="6XUlM2nU1U9" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
<node concept="liA8E" id="6XUlM2nU1Ua" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.equals(java.lang.Object):boolean" resolve="equals" />
<node concept="Xl_RD" id="6XUlM2nU1Ub" role="37wK5m">
<property role="Xl_RC" value="context" />
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="6XUlM2nU1Uc" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="6XUlM2nU1Ud" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="6XUlM2nU2ZF" role="3cqZAp">
<node concept="3cpWsn" id="6XUlM2nU2ZG" role="3cpWs9">
<property role="TrG5h" value="contextProjectionRules" />
<node concept="2I9FWS" id="6XUlM2nU2ZB" role="1tU5fm">
<ref role="2I9WkF" to="b83y:2_58u12eCWN" resolve="Rule" />
</node>
<node concept="2OqwBi" id="6XUlM2nU2ZH" role="33vP2m">
<node concept="37vLTw" id="6XUlM2nU2ZI" role="2Oq$k0">
<ref role="3cqZAo" node="6XUlM2nKWP5" resolve="querier" />
</node>
<node concept="liA8E" id="6XUlM2nU2ZJ" role="2OqNvi">
<ref role="37wK5l" to="5tos:6XUlM2nL3i2" resolve="getRulesForDeclaration" />
<node concept="37vLTw" id="6XUlM2nU2ZK" role="37wK5m">
<ref role="3cqZAo" node="6XUlM2nU1TW" resolve="contextProjectionDeclaration" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="6XUlM2nKXdI" role="3cqZAp" />
<node concept="3SKdUt" id="6XUlM2nKXeG" role="3cqZAp">
<node concept="3SKdUq" id="6XUlM2nKXeI" role="3SKWNk">
<property role="3SKdUp" value="TODO generate lookup_noctx rule based on projection rule" />
</node>
</node>
<node concept="3SKdUt" id="6XUlM2nKXfO" role="3cqZAp">
<node concept="3SKdUq" id="6XUlM2nKXfQ" role="3SKWNk">
<property role="3SKdUp" value="where conclusion returns bind we merge with both rules (==, !=)" />
</node>
</node>
<node concept="3SKdUt" id="6XUlM2nKXh4" role="3cqZAp">
<node concept="3SKdUq" id="6XUlM2nKXh6" role="3SKWNk">
<property role="3SKdUp" value="otherwise only merge with !=" />
</node>
</node>
<node concept="1DcWWT" id="6XUlM2nU479" role="3cqZAp">
<node concept="3clFbS" id="6XUlM2nU47b" role="2LFqv$" />
<node concept="3cpWsn" id="6XUlM2nU47c" role="1Duv9x">
<property role="TrG5h" value="rule" />
<node concept="3Tqbb2" id="6XUlM2nU4q_" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12eCWN" resolve="Rule" />
</node>
</node>
<node concept="37vLTw" id="6XUlM2nU4MC" role="1DdaDG">
<ref role="3cqZAo" node="6XUlM2nU2ZG" resolve="contextProjectionRules" />
</node>
</node>
<node concept="3clFbH" id="6XUlM2nKXhK" role="3cqZAp" />
<node concept="3clFbH" id="6XUlM2nU8yo" role="3cqZAp" />
<node concept="3SKdUt" id="6XUlM2nKXja" role="3cqZAp">
<node concept="3SKdUq" id="6XUlM2nKXjc" role="3SKWNk">
<property role="3SKdUp" value="remove lookup declaration" />
</node>
</node>
<node concept="3clFbF" id="6XUlM2nKXrc" role="3cqZAp">
<node concept="2OqwBi" id="6XUlM2nKXyU" role="3clFbG">
<node concept="37vLTw" id="6XUlM2nKXra" role="2Oq$k0">
<ref role="3cqZAo" node="6XUlM2nKWP5" resolve="querier" />
</node>
<node concept="liA8E" id="6XUlM2nKXD1" role="2OqNvi">
<ref role="37wK5l" to="5tos:4RJJaub9FX8" resolve="getDeclarationWithTermAndContext" />
</node>
</node>
</node>
<node concept="3cpWs8" id="6XUlM2nMZ3G" role="3cqZAp">
<node concept="3cpWsn" id="6XUlM2nMZ3H" role="3cpWs9">
<property role="TrG5h" value="projectContext" />
<node concept="3uibUv" id="6XUlM2nMZ3D" role="1tU5fm">
<ref role="3uigEE" to="5tos:32CDcOyEa0d" resolve="ProjectContext" />
</node>
<node concept="2ShNRf" id="6XUlM2nMZ3I" role="33vP2m">
<node concept="1pGfFk" id="6XUlM2nMZ3J" role="2ShVmc">
<ref role="37wK5l" to="5tos:32CDcOyElBr" resolve="ProjectContext" />
<node concept="37vLTw" id="6XUlM2nMZ3K" role="37wK5m">
<ref role="3cqZAo" node="6XUlM2nKR$9" resolve="module" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="6XUlM2nMZwd" role="3cqZAp">
<node concept="3cpWsn" id="6XUlM2nMZwe" role="3cpWs9">
<property role="TrG5h" value="lookupDeclaration" />
<node concept="3Tqbb2" id="6XUlM2nMZw7" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12eLDI" resolve="JudgmentDeclaration" />
</node>
<node concept="2OqwBi" id="6XUlM2nMZwf" role="33vP2m">
<node concept="37vLTw" id="6XUlM2nMZwg" role="2Oq$k0">
<ref role="3cqZAo" node="6XUlM2nMZ3H" resolve="projectContext" />
</node>
<node concept="liA8E" id="6XUlM2nMZwh" role="2OqNvi">
<ref role="37wK5l" to="5tos:32CDcOyTUll" resolve="getLookupDeclaration" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="6XUlM2nTYy1" role="3cqZAp">
<node concept="2OqwBi" id="6XUlM2nU02F" role="3clFbG">
<node concept="37vLTw" id="6XUlM2nTYxZ" role="2Oq$k0">
<ref role="3cqZAo" node="6XUlM2nKWP5" resolve="querier" />
</node>
<node concept="liA8E" id="6XUlM2nU10$" role="2OqNvi">
<ref role="37wK5l" to="5tos:6XUlM2nTnbU" resolve="removeRulesOfDeclarationAndItself" />
<node concept="37vLTw" id="6XUlM2nU122" role="37wK5m">
<ref role="3cqZAo" node="6XUlM2nMZwe" resolve="lookupDeclaration" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="6XUlM2nQHnA" role="3cqZAp" />
<node concept="3SKdUt" id="6XUlM2nKXkI" role="3cqZAp">
<node concept="3SKdUq" id="6XUlM2nKXkK" role="3SKWNk">
<property role="3SKdUp" value="remove context projection declaration and rules" />
</node>
</node>
<node concept="3clFbF" id="6XUlM2nU1mw" role="3cqZAp">
<node concept="2OqwBi" id="6XUlM2nU1xI" role="3clFbG">
<node concept="37vLTw" id="6XUlM2nU1mu" role="2Oq$k0">
<ref role="3cqZAo" node="6XUlM2nKWP5" resolve="querier" />
</node>
<node concept="liA8E" id="6XUlM2nU1Fv" role="2OqNvi">
<ref role="37wK5l" to="5tos:6XUlM2nTnbU" resolve="removeRulesOfDeclarationAndItself" />
<node concept="37vLTw" id="6XUlM2nU3V8" role="37wK5m">
<ref role="3cqZAo" node="6XUlM2nU1TW" resolve="contextProjectionDeclaration" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="6XUlM2nTful" role="3cqZAp" />
<node concept="3SKdUt" id="6XUlM2nKXoe" role="3cqZAp">
<node concept="3SKdUq" id="6XUlM2nKXog" role="3SKWNk">
<property role="3SKdUp" value="TODO remove old lookup_noctx rule" />
</node>
</node>
<node concept="3clFbH" id="6XUlM2nKXpc" role="3cqZAp" />
</node>
<node concept="3cpWsn" id="6XUlM2nKR$9" role="1Duv9x">
<property role="TrG5h" value="module" />
<node concept="3Tqbb2" id="6XUlM2nKRHv" role="1tU5fm">
<ref role="ehGHo" to="b83y:2_58u12cYEI" resolve="TypeLangModule" />
</node>
</node>
<node concept="37vLTw" id="6XUlM2nKS5y" role="1DdaDG">
<ref role="3cqZAo" node="6XUlM2nKRwU" resolve="modules" />
</node>
</node>
</node>
</node>
</node>
</model>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment