Handle usedDataHash computation for macros
Fixes IncrClosureInference.changeFunctionalInterfaceParam test. Temporary rules built as macro applications weren't computing hash due to origin!=null condition. Also macro inputs weren't processed. Stable hash for TypeVarSubstitution is defined because it's used in macro args. In general, any classes used as constraint/predicate/macro args must adhere to stable hashCode() contract: hash should change if there're important changes that may influence typechecking result. Otherwise there may be unnecessary incremental recomputations. Relevant for MPSCR-62
This commit is contained in:
parent
672b46dc65
commit
f9ca9f2766
|
|
@ -13875,6 +13875,55 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbH" id="2uP4pEW5pE" role="3cqZAp" />
|
||||
<node concept="3clFbF" id="2uP4pEWbzk" role="3cqZAp">
|
||||
<node concept="2OqwBi" id="2uP4pEWchz" role="3clFbG">
|
||||
<node concept="37vLTw" id="2uP4pEWbzi" role="2Oq$k0">
|
||||
<ref role="3cqZAo" node="5itBwM5S4wZ" resolve="builder" />
|
||||
</node>
|
||||
<node concept="liA8E" id="2uP4pEWcln" role="2OqNvi">
|
||||
<ref role="37wK5l" to="i348:2uP4pEUZQ6" resolve="processMacroArgs" />
|
||||
<node concept="2OqwBi" id="2uP4pEW8v$" role="37wK5m">
|
||||
<node concept="Xjq3P" id="2uP4pEW8v_" role="2Oq$k0" />
|
||||
<node concept="2OwXpG" id="2uP4pEW8vA" role="2OqNvi">
|
||||
<ref role="2Oxat5" node="5itBwM60YWo" resolve="param" />
|
||||
<node concept="1ZhdrF" id="2uP4pEW8vB" role="lGtFl">
|
||||
<property role="2qtEX8" value="fieldDeclaration" />
|
||||
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1197029447546/1197029500499" />
|
||||
<node concept="3$xsQk" id="2uP4pEW8vC" role="3$ytzL">
|
||||
<node concept="3clFbS" id="2uP4pEW8vD" role="2VODD2">
|
||||
<node concept="3clFbF" id="2uP4pEW8vE" role="3cqZAp">
|
||||
<node concept="2OqwBi" id="2uP4pEW8vF" role="3clFbG">
|
||||
<node concept="1iwH7S" id="2uP4pEW8vG" role="2Oq$k0" />
|
||||
<node concept="1iwH70" id="2uP4pEW8vH" role="2OqNvi">
|
||||
<ref role="1iwH77" node="5itBwM61GZv" resolve="macro_param_field" />
|
||||
<node concept="30H73N" id="2uP4pEW8vI" role="1iwH7V" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="1WS0z7" id="2uP4pEWdfN" role="lGtFl">
|
||||
<node concept="3JmXsc" id="2uP4pEWdfO" role="3Jn$fo">
|
||||
<node concept="3clFbS" id="2uP4pEWdfP" role="2VODD2">
|
||||
<node concept="3clFbF" id="2uP4pEWdux" role="3cqZAp">
|
||||
<node concept="2OqwBi" id="2uP4pEWdQ9" role="3clFbG">
|
||||
<node concept="30H73N" id="2uP4pEWduw" role="2Oq$k0" />
|
||||
<node concept="3Tsc0h" id="2uP4pEWeks" role="2OqNvi">
|
||||
<ref role="3TtcxE" to="wq2x:5itBwM5irVx" resolve="parameter" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbH" id="2uP4pEW69G" role="3cqZAp" />
|
||||
<node concept="3clFbF" id="5itBwM5SbCq" role="3cqZAp">
|
||||
<node concept="37vLTw" id="5itBwM5SbCo" role="3clFbG">
|
||||
<ref role="3cqZAo" node="5itBwM5S4wZ" resolve="builder" />
|
||||
|
|
@ -14441,7 +14490,7 @@
|
|||
<ref role="3cqZAo" node="5itBwM6VIn8" resolve="builder" />
|
||||
</node>
|
||||
<node concept="liA8E" id="7WFMSEvhcPh" role="2OqNvi">
|
||||
<ref role="37wK5l" to="i348:6ZznG7qAAZS" resolve="processMacroApp" />
|
||||
<ref role="37wK5l" to="i348:2uP4pEUZQ6" resolve="processMacroArgs" />
|
||||
<node concept="37vLTw" id="7WFMSEvhcPi" role="37wK5m">
|
||||
<ref role="3cqZAo" node="5itBwM6XBIn" resolve="input" />
|
||||
</node>
|
||||
|
|
|
|||
|
|
@ -275,6 +275,7 @@
|
|||
<child id="1163668922816" name="ifTrue" index="3K4E3e" />
|
||||
<child id="1163668934364" name="ifFalse" index="3K4GZi" />
|
||||
</concept>
|
||||
<concept id="1082113931046" name="jetbrains.mps.baseLanguage.structure.ContinueStatement" flags="nn" index="3N13vt" />
|
||||
<concept id="1208890769693" name="jetbrains.mps.baseLanguage.structure.ArrayLengthOperation" flags="nn" index="1Rwk04" />
|
||||
<concept id="6329021646629104954" name="jetbrains.mps.baseLanguage.structure.SingleLineComment" flags="nn" index="3SKdUt">
|
||||
<child id="8356039341262087992" name="line" index="1aUNEU" />
|
||||
|
|
@ -3403,76 +3404,50 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="2tJIrI" id="6ZznG7qAiQP" role="jymVt" />
|
||||
<node concept="3clFb_" id="6ZznG7qAAZS" role="jymVt">
|
||||
<property role="TrG5h" value="processMacroApp" />
|
||||
<node concept="37vLTG" id="6ZznG7qANdF" role="3clF46">
|
||||
<property role="TrG5h" value="input" />
|
||||
<node concept="3uibUv" id="6ZznG7qAQSc" role="1tU5fm">
|
||||
<ref role="3uigEE" to="mhbf:~SNode" resolve="SNode" />
|
||||
</node>
|
||||
</node>
|
||||
<node concept="37vLTG" id="6ZznG7qASK_" role="3clF46">
|
||||
<property role="TrG5h" value="args" />
|
||||
<node concept="8X2XB" id="6ZznG7qB03E" role="1tU5fm">
|
||||
<node concept="3uibUv" id="6ZznG7qAXFC" role="8Xvag">
|
||||
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
|
||||
<node concept="2tJIrI" id="2uP4pEUPl6" role="jymVt" />
|
||||
<node concept="3clFb_" id="2uP4pEUZQ6" role="jymVt">
|
||||
<property role="TrG5h" value="processMacroArgs" />
|
||||
<node concept="3clFbS" id="2uP4pEUZQ9" role="3clF47">
|
||||
<node concept="2Gpval" id="2uP4pEVKAU" role="3cqZAp">
|
||||
<node concept="2GrKxI" id="2uP4pEVKAW" role="2Gsz3X">
|
||||
<property role="TrG5h" value="arg" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbS" id="6ZznG7qAAZV" role="3clF47">
|
||||
<node concept="3clFbJ" id="6ZznG7qB4bc" role="3cqZAp">
|
||||
<node concept="3clFbS" id="6ZznG7qB4be" role="3clFbx">
|
||||
<node concept="3clFbF" id="6ZznG7qB9rA" role="3cqZAp">
|
||||
<node concept="d57v9" id="6ZznG7qB9rB" role="3clFbG">
|
||||
<node concept="3cpWs3" id="6ZznG7qB9rC" role="37vLTx">
|
||||
<node concept="2OqwBi" id="6ZznG7qB9rD" role="3uHU7w">
|
||||
<node concept="37vLTw" id="6ZznG7qBdn6" role="2Oq$k0">
|
||||
<ref role="3cqZAo" node="6ZznG7qANdF" resolve="input" />
|
||||
</node>
|
||||
<node concept="liA8E" id="6ZznG7qB9rF" role="2OqNvi">
|
||||
<ref role="37wK5l" to="wyt6:~Object.hashCode()" resolve="hashCode" />
|
||||
</node>
|
||||
</node>
|
||||
<node concept="17qRlL" id="6ZznG7qB9rG" role="3uHU7B">
|
||||
<node concept="37vLTw" id="6ZznG7qB9rH" role="3uHU7B">
|
||||
<ref role="3cqZAo" node="cmlg9NyC84" resolve="usedDataHash" />
|
||||
</node>
|
||||
<node concept="3cmrfG" id="6ZznG7qB9rI" role="3uHU7w">
|
||||
<property role="3cmrfH" value="17" />
|
||||
</node>
|
||||
</node>
|
||||
<node concept="37vLTw" id="2uP4pEVKFr" role="2GsD0m">
|
||||
<ref role="3cqZAo" node="2uP4pEV7xZ" resolve="args" />
|
||||
</node>
|
||||
<node concept="3clFbS" id="2uP4pEVKB0" role="2LFqv$">
|
||||
<node concept="3clFbJ" id="2uP4pEVMFE" role="3cqZAp">
|
||||
<node concept="3clFbS" id="2uP4pEVMFG" role="3clFbx">
|
||||
<node concept="3N13vt" id="2uP4pEVNEx" role="3cqZAp" />
|
||||
</node>
|
||||
<node concept="3clFbC" id="2uP4pEVNFA" role="3clFbw">
|
||||
<node concept="2GrUjf" id="2uP4pEVMH5" role="3uHU7B">
|
||||
<ref role="2Gs0qQ" node="2uP4pEVKAW" resolve="arg" />
|
||||
</node>
|
||||
<node concept="2OqwBi" id="6ZznG7qB9rJ" role="37vLTJ">
|
||||
<node concept="Xjq3P" id="6ZznG7qB9rK" role="2Oq$k0" />
|
||||
<node concept="2OwXpG" id="6ZznG7qB9rL" role="2OqNvi">
|
||||
<ref role="2Oxat5" node="cmlg9NyC84" resolve="usedDataHash" />
|
||||
</node>
|
||||
<node concept="10Nm6u" id="2uP4pEVMNT" role="3uHU7w" />
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbF" id="2uP4pEVhMB" role="3cqZAp">
|
||||
<node concept="1rXfSq" id="2uP4pEVhMA" role="3clFbG">
|
||||
<ref role="37wK5l" node="500mE4_wy5W" resolve="doProcessUsedData" />
|
||||
<node concept="2GrUjf" id="2uP4pEVLjN" role="37wK5m">
|
||||
<ref role="2Gs0qQ" node="2uP4pEVKAW" resolve="arg" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3y3z36" id="6ZznG7qB4Sw" role="3clFbw">
|
||||
<node concept="10Nm6u" id="6ZznG7qB4YI" role="3uHU7w" />
|
||||
<node concept="37vLTw" id="6ZznG7qB4Hs" role="3uHU7B">
|
||||
<ref role="3cqZAo" node="6ZznG7qANdF" resolve="input" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbJ" id="6ZznG7qBeh1" role="3cqZAp">
|
||||
<node concept="3clFbS" id="6ZznG7qBeh3" role="3clFbx">
|
||||
<node concept="3clFbH" id="6ZznG7qBeh2" role="3cqZAp" />
|
||||
</node>
|
||||
<node concept="3y3z36" id="6ZznG7qBeIr" role="3clFbw">
|
||||
<node concept="10Nm6u" id="6ZznG7qBfb2" role="3uHU7w" />
|
||||
<node concept="37vLTw" id="6ZznG7qBeiK" role="3uHU7B">
|
||||
<ref role="3cqZAo" node="6ZznG7qASK_" resolve="args" />
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3Tm1VV" id="2uP4pEUTsf" role="1B3o_S" />
|
||||
<node concept="3cqZAl" id="2uP4pEUZFr" role="3clF45" />
|
||||
<node concept="37vLTG" id="2uP4pEV7xZ" role="3clF46">
|
||||
<property role="TrG5h" value="args" />
|
||||
<node concept="8X2XB" id="2uP4pEV9wM" role="1tU5fm">
|
||||
<node concept="3uibUv" id="2uP4pEV7xY" role="8Xvag">
|
||||
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3Tm1VV" id="6ZznG7qAwHp" role="1B3o_S" />
|
||||
<node concept="3cqZAl" id="6ZznG7qAIxg" role="3clF45" />
|
||||
</node>
|
||||
<node concept="2tJIrI" id="tc9pc3zv32" role="jymVt" />
|
||||
<node concept="3clFb_" id="1N8$BG_3xre" role="jymVt">
|
||||
|
|
@ -3564,41 +3539,35 @@
|
|||
<property role="3oM_SC" value="suffix," />
|
||||
</node>
|
||||
<node concept="3oM_SD" id="cmlg9NJblO" role="1PaTwD">
|
||||
<property role="3oM_SC" value="requiredHash>" />
|
||||
<property role="3oM_SC" value="usedDataHash>" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3SKdUt" id="cmlg9NJilA" role="3cqZAp">
|
||||
<node concept="1PaTwC" id="cmlg9NJilB" role="1aUNEU">
|
||||
<node concept="3oM_SD" id="cmlg9NJuxu" role="1PaTwD">
|
||||
<property role="3oM_SC" value="requiredHash" />
|
||||
<node concept="3SKdUt" id="6n6HVW5bjWQ" role="3cqZAp">
|
||||
<node concept="1PaTwC" id="6n6HVW5bjWR" role="1aUNEU">
|
||||
<node concept="3oM_SD" id="6n6HVW5bjWS" role="1PaTwD">
|
||||
<property role="3oM_SC" value="for" />
|
||||
</node>
|
||||
<node concept="3oM_SD" id="cmlg9NJnsX" role="1PaTwD">
|
||||
<property role="3oM_SC" value="is" />
|
||||
<node concept="3oM_SD" id="6n6HVW5bpy1" role="1PaTwD">
|
||||
<property role="3oM_SC" value="computation" />
|
||||
</node>
|
||||
<node concept="3oM_SD" id="cmlg9NJnt$" role="1PaTwD">
|
||||
<property role="3oM_SC" value="calculated" />
|
||||
<node concept="3oM_SD" id="6n6HVW5bpy4" role="1PaTwD">
|
||||
<property role="3oM_SC" value="of" />
|
||||
</node>
|
||||
<node concept="3oM_SD" id="cmlg9NJntL" role="1PaTwD">
|
||||
<property role="3oM_SC" value="from" />
|
||||
<node concept="3oM_SD" id="6n6HVW5bpy8" role="1PaTwD">
|
||||
<property role="3oM_SC" value="this" />
|
||||
</node>
|
||||
<node concept="3oM_SD" id="cmlg9NJnu7" role="1PaTwD">
|
||||
<property role="3oM_SC" value="all" />
|
||||
<node concept="3oM_SD" id="6n6HVW5bpyP" role="1PaTwD">
|
||||
<property role="3oM_SC" value="hash" />
|
||||
</node>
|
||||
<node concept="3oM_SD" id="cmlg9NJnue" role="1PaTwD">
|
||||
<property role="3oM_SC" value="SNodeReference" />
|
||||
<node concept="3oM_SD" id="6n6HVW5bpyV" role="1PaTwD">
|
||||
<property role="3oM_SC" value="see" />
|
||||
</node>
|
||||
<node concept="3oM_SD" id="cmlg9NJnvD" role="1PaTwD">
|
||||
<property role="3oM_SC" value="occurring" />
|
||||
<node concept="3oM_SD" id="6n6HVW5bpza" role="1PaTwD">
|
||||
<property role="3oM_SC" value="processUsedData" />
|
||||
</node>
|
||||
<node concept="3oM_SD" id="cmlg9NJnwq" role="1PaTwD">
|
||||
<property role="3oM_SC" value="within" />
|
||||
</node>
|
||||
<node concept="3oM_SD" id="cmlg9NJnyj" role="1PaTwD">
|
||||
<property role="3oM_SC" value="the" />
|
||||
</node>
|
||||
<node concept="3oM_SD" id="cmlg9NJnyA" role="1PaTwD">
|
||||
<property role="3oM_SC" value="rule" />
|
||||
<node concept="3oM_SD" id="6n6HVW5bpzU" role="1PaTwD">
|
||||
<property role="3oM_SC" value="method" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -4262,40 +4231,10 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbJ" id="500mE4_we6W" role="3cqZAp">
|
||||
<node concept="3clFbS" id="500mE4_we6Y" role="3clFbx">
|
||||
<node concept="3clFbF" id="500mE4_weIH" role="3cqZAp">
|
||||
<node concept="d57v9" id="500mE4_weII" role="3clFbG">
|
||||
<node concept="3cpWs3" id="500mE4_weIJ" role="37vLTx">
|
||||
<node concept="2OqwBi" id="500mE4_weIK" role="3uHU7w">
|
||||
<node concept="37vLTw" id="500mE4_whua" role="2Oq$k0">
|
||||
<ref role="3cqZAo" node="500mE4_wBLj" resolve="arg" />
|
||||
</node>
|
||||
<node concept="liA8E" id="500mE4_weIM" role="2OqNvi">
|
||||
<ref role="37wK5l" to="wyt6:~Object.hashCode()" resolve="hashCode" />
|
||||
</node>
|
||||
</node>
|
||||
<node concept="17qRlL" id="500mE4_weIN" role="3uHU7B">
|
||||
<node concept="37vLTw" id="500mE4_weIO" role="3uHU7B">
|
||||
<ref role="3cqZAo" node="cmlg9NyC84" resolve="usedDataHash" />
|
||||
</node>
|
||||
<node concept="3cmrfG" id="500mE4_weIP" role="3uHU7w">
|
||||
<property role="3cmrfH" value="37" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="2OqwBi" id="500mE4_weIQ" role="37vLTJ">
|
||||
<node concept="Xjq3P" id="500mE4_weIR" role="2Oq$k0" />
|
||||
<node concept="2OwXpG" id="500mE4_weIS" role="2OqNvi">
|
||||
<ref role="2Oxat5" node="cmlg9NyC84" resolve="usedDataHash" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="1rXfSq" id="500mE4_wegp" role="3clFbw">
|
||||
<ref role="37wK5l" node="500mE4_vxeB" resolve="isExternalData" />
|
||||
<node concept="37vLTw" id="500mE4_welz" role="37wK5m">
|
||||
<node concept="3clFbF" id="2uP4pEVK16" role="3cqZAp">
|
||||
<node concept="1rXfSq" id="2uP4pEVK14" role="3clFbG">
|
||||
<ref role="37wK5l" node="2uP4pEVxrD" resolve="doProcessUsedDataHash" />
|
||||
<node concept="37vLTw" id="2uP4pEVKqb" role="37wK5m">
|
||||
<ref role="3cqZAo" node="500mE4_wBLj" resolve="arg" />
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -4392,6 +4331,58 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="2tJIrI" id="2uP4pEViri" role="jymVt" />
|
||||
<node concept="3clFb_" id="2uP4pEVxrD" role="jymVt">
|
||||
<property role="TrG5h" value="doProcessUsedDataHash" />
|
||||
<node concept="3clFbS" id="2uP4pEVxrG" role="3clF47">
|
||||
<node concept="3clFbJ" id="500mE4_we6W" role="3cqZAp">
|
||||
<node concept="3clFbS" id="500mE4_we6Y" role="3clFbx">
|
||||
<node concept="3clFbF" id="500mE4_weIH" role="3cqZAp">
|
||||
<node concept="d57v9" id="500mE4_weII" role="3clFbG">
|
||||
<node concept="3cpWs3" id="500mE4_weIJ" role="37vLTx">
|
||||
<node concept="2OqwBi" id="500mE4_weIK" role="3uHU7w">
|
||||
<node concept="37vLTw" id="500mE4_whua" role="2Oq$k0">
|
||||
<ref role="3cqZAo" node="2uP4pEVB3a" resolve="arg" />
|
||||
</node>
|
||||
<node concept="liA8E" id="500mE4_weIM" role="2OqNvi">
|
||||
<ref role="37wK5l" to="wyt6:~Object.hashCode()" resolve="hashCode" />
|
||||
</node>
|
||||
</node>
|
||||
<node concept="17qRlL" id="500mE4_weIN" role="3uHU7B">
|
||||
<node concept="37vLTw" id="500mE4_weIO" role="3uHU7B">
|
||||
<ref role="3cqZAo" node="cmlg9NyC84" resolve="usedDataHash" />
|
||||
</node>
|
||||
<node concept="3cmrfG" id="500mE4_weIP" role="3uHU7w">
|
||||
<property role="3cmrfH" value="37" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="2OqwBi" id="500mE4_weIQ" role="37vLTJ">
|
||||
<node concept="Xjq3P" id="500mE4_weIR" role="2Oq$k0" />
|
||||
<node concept="2OwXpG" id="500mE4_weIS" role="2OqNvi">
|
||||
<ref role="2Oxat5" node="cmlg9NyC84" resolve="usedDataHash" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="1rXfSq" id="500mE4_wegp" role="3clFbw">
|
||||
<ref role="37wK5l" node="500mE4_vxeB" resolve="isExternalData" />
|
||||
<node concept="37vLTw" id="500mE4_welz" role="37wK5m">
|
||||
<ref role="3cqZAo" node="2uP4pEVB3a" resolve="arg" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3Tm6S6" id="2uP4pEVptD" role="1B3o_S" />
|
||||
<node concept="3cqZAl" id="2uP4pEVxfU" role="3clF45" />
|
||||
<node concept="37vLTG" id="2uP4pEVB3a" role="3clF46">
|
||||
<property role="TrG5h" value="arg" />
|
||||
<node concept="3uibUv" id="2uP4pEVB39" role="1tU5fm">
|
||||
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="2tJIrI" id="500mE4_w9it" role="jymVt" />
|
||||
<node concept="3clFb_" id="500mE4_vxeB" role="jymVt">
|
||||
<property role="TrG5h" value="isExternalData" />
|
||||
|
|
@ -4555,65 +4546,54 @@
|
|||
</node>
|
||||
</node>
|
||||
<node concept="3clFbF" id="500mE4_vUWs" role="3cqZAp">
|
||||
<node concept="1Wc70l" id="4DCEyKv2Cmw" role="3clFbG">
|
||||
<node concept="3y3z36" id="4DCEyKv2Ed$" role="3uHU7B">
|
||||
<node concept="10Nm6u" id="4DCEyKv2EkW" role="3uHU7w" />
|
||||
<node concept="2OqwBi" id="4DCEyKv2CRE" role="3uHU7B">
|
||||
<node concept="Xjq3P" id="4DCEyKv2CKN" role="2Oq$k0" />
|
||||
<node concept="2OwXpG" id="4DCEyKv2CYG" role="2OqNvi">
|
||||
<ref role="2Oxat5" node="7nPD14Ob4B1" resolve="origin" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3fqX7Q" id="500mE4_vVvV" role="3uHU7w">
|
||||
<node concept="1eOMI4" id="500mE4_vYmH" role="3fr31v">
|
||||
<node concept="22lmx$" id="4DCEyKv33OG" role="1eOMHV">
|
||||
<node concept="2ZW3vV" id="4DCEyKv35yW" role="3uHU7w">
|
||||
<node concept="3uibUv" id="4DCEyKv35EA" role="2ZW6by">
|
||||
<ref role="3uigEE" node="5WBVN_M1BKE" resolve="LateExpression" />
|
||||
</node>
|
||||
<node concept="37vLTw" id="4DCEyKv35b0" role="2ZW6bz">
|
||||
<ref role="3cqZAo" node="500mE4_vARD" resolve="arg" />
|
||||
</node>
|
||||
<node concept="3fqX7Q" id="500mE4_vVvV" role="3clFbG">
|
||||
<node concept="1eOMI4" id="500mE4_vYmH" role="3fr31v">
|
||||
<node concept="22lmx$" id="4DCEyKv33OG" role="1eOMHV">
|
||||
<node concept="2ZW3vV" id="4DCEyKv35yW" role="3uHU7w">
|
||||
<node concept="3uibUv" id="4DCEyKv35EA" role="2ZW6by">
|
||||
<ref role="3uigEE" node="5WBVN_M1BKE" resolve="LateExpression" />
|
||||
</node>
|
||||
<node concept="22lmx$" id="4DCEyKv2NID" role="3uHU7B">
|
||||
<node concept="22lmx$" id="500mE4_JbC2" role="3uHU7B">
|
||||
<node concept="22lmx$" id="500mE4_vXMZ" role="3uHU7B">
|
||||
<node concept="2ZW3vV" id="500mE4_vVvX" role="3uHU7B">
|
||||
<node concept="3uibUv" id="500mE4_vVvY" role="2ZW6by">
|
||||
<ref role="3uigEE" to="bj13:~MetaLogical" resolve="MetaLogical" />
|
||||
</node>
|
||||
<node concept="37vLTw" id="500mE4_vVvZ" role="2ZW6bz">
|
||||
<ref role="3cqZAo" node="500mE4_vARD" resolve="arg" />
|
||||
</node>
|
||||
<node concept="37vLTw" id="4DCEyKv35b0" role="2ZW6bz">
|
||||
<ref role="3cqZAo" node="500mE4_vARD" resolve="arg" />
|
||||
</node>
|
||||
</node>
|
||||
<node concept="22lmx$" id="4DCEyKv2NID" role="3uHU7B">
|
||||
<node concept="22lmx$" id="500mE4_JbC2" role="3uHU7B">
|
||||
<node concept="22lmx$" id="500mE4_vXMZ" role="3uHU7B">
|
||||
<node concept="2ZW3vV" id="500mE4_vVvX" role="3uHU7B">
|
||||
<node concept="3uibUv" id="500mE4_vVvY" role="2ZW6by">
|
||||
<ref role="3uigEE" to="bj13:~MetaLogical" resolve="MetaLogical" />
|
||||
</node>
|
||||
<node concept="2ZW3vV" id="500mE4_vY3P" role="3uHU7w">
|
||||
<node concept="3uibUv" id="500mE4_vY8B" role="2ZW6by">
|
||||
<ref role="3uigEE" to="bj13:~Logical" resolve="Logical" />
|
||||
</node>
|
||||
<node concept="37vLTw" id="500mE4_vXVs" role="2ZW6bz">
|
||||
<ref role="3cqZAo" node="500mE4_vARD" resolve="arg" />
|
||||
</node>
|
||||
<node concept="37vLTw" id="500mE4_vVvZ" role="2ZW6bz">
|
||||
<ref role="3cqZAo" node="500mE4_vARD" resolve="arg" />
|
||||
</node>
|
||||
</node>
|
||||
<node concept="2ZW3vV" id="500mE4_Jc9W" role="3uHU7w">
|
||||
<node concept="3uibUv" id="500mE4_Jcri" role="2ZW6by">
|
||||
<ref role="3uigEE" to="6exd:1bm7a6EXvsP" resolve="DataForm" />
|
||||
<node concept="2ZW3vV" id="500mE4_vY3P" role="3uHU7w">
|
||||
<node concept="3uibUv" id="500mE4_vY8B" role="2ZW6by">
|
||||
<ref role="3uigEE" to="bj13:~Logical" resolve="Logical" />
|
||||
</node>
|
||||
<node concept="37vLTw" id="500mE4_Jc05" role="2ZW6bz">
|
||||
<node concept="37vLTw" id="500mE4_vXVs" role="2ZW6bz">
|
||||
<ref role="3cqZAo" node="500mE4_vARD" resolve="arg" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="2ZW3vV" id="4DCEyKv2Ogq" role="3uHU7w">
|
||||
<node concept="3uibUv" id="4DCEyKv2TEu" role="2ZW6by">
|
||||
<ref role="3uigEE" to="wyt6:~String" resolve="String" />
|
||||
<node concept="2ZW3vV" id="500mE4_Jc9W" role="3uHU7w">
|
||||
<node concept="3uibUv" id="500mE4_Jcri" role="2ZW6by">
|
||||
<ref role="3uigEE" to="6exd:1bm7a6EXvsP" resolve="DataForm" />
|
||||
</node>
|
||||
<node concept="37vLTw" id="4DCEyKv2Oa9" role="2ZW6bz">
|
||||
<node concept="37vLTw" id="500mE4_Jc05" role="2ZW6bz">
|
||||
<ref role="3cqZAo" node="500mE4_vARD" resolve="arg" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="2ZW3vV" id="4DCEyKv2Ogq" role="3uHU7w">
|
||||
<node concept="3uibUv" id="4DCEyKv2TEu" role="2ZW6by">
|
||||
<ref role="3uigEE" to="wyt6:~String" resolve="String" />
|
||||
</node>
|
||||
<node concept="37vLTw" id="4DCEyKv2Oa9" role="2ZW6bz">
|
||||
<ref role="3cqZAo" node="500mE4_vARD" resolve="arg" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
|
|||
|
|
@ -154,6 +154,7 @@
|
|||
<concept id="1109283449304" name="jetbrains.mps.baseLanguage.structure.TypeVariableReference" flags="in" index="16syzq">
|
||||
<reference id="1109283546497" name="typeVariableDeclaration" index="16sUi3" />
|
||||
</concept>
|
||||
<concept id="1092119917967" name="jetbrains.mps.baseLanguage.structure.MulExpression" flags="nn" index="17qRlL" />
|
||||
<concept id="1068498886296" name="jetbrains.mps.baseLanguage.structure.VariableReference" flags="nn" index="37vLTw">
|
||||
<reference id="1068581517664" name="variableDeclaration" index="3cqZAo" />
|
||||
</concept>
|
||||
|
|
@ -683,6 +684,9 @@
|
|||
<child id="5686963296372573084" name="elementType" index="3O5elw" />
|
||||
</concept>
|
||||
<concept id="1180964022718" name="jetbrains.mps.baseLanguage.collections.structure.ConcatOperation" flags="nn" index="3QWeyG" />
|
||||
<concept id="1228228912534" name="jetbrains.mps.baseLanguage.collections.structure.DowncastExpression" flags="nn" index="3S9uib">
|
||||
<child id="1228228959951" name="expression" index="3S9DZi" />
|
||||
</concept>
|
||||
<concept id="1178894719932" name="jetbrains.mps.baseLanguage.collections.structure.DistinctOperation" flags="nn" index="1VAtEI" />
|
||||
</language>
|
||||
<language id="c4803b19-6d89-4a3b-bf82-390769514add" name="jetbrains.mps.lang.coderules">
|
||||
|
|
@ -29968,6 +29972,81 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="2tJIrI" id="2uP4pEYJYI" role="jymVt" />
|
||||
<node concept="3clFb_" id="2uP4pEYLkq" role="jymVt">
|
||||
<property role="TrG5h" value="hashCode" />
|
||||
<node concept="3clFbS" id="2uP4pEYLkt" role="3clF47">
|
||||
<node concept="3cpWs8" id="2uP4pEZ0rr" role="3cqZAp">
|
||||
<node concept="3cpWsn" id="2uP4pEZ0ru" role="3cpWs9">
|
||||
<property role="TrG5h" value="hashCode" />
|
||||
<node concept="10Oyi0" id="2uP4pEZ0rp" role="1tU5fm" />
|
||||
<node concept="2OqwBi" id="2uP4pEYS9R" role="33vP2m">
|
||||
<node concept="3S9uib" id="2uP4pEYRay" role="2Oq$k0">
|
||||
<node concept="2OqwBi" id="2uP4pEYNep" role="3S9DZi">
|
||||
<node concept="37vLTw" id="2uP4pEYMA_" role="2Oq$k0">
|
||||
<ref role="3cqZAo" node="6EY0p2w8VVA" resolve="local" />
|
||||
</node>
|
||||
<node concept="3lbrtF" id="2uP4pEYNHS" role="2OqNvi" />
|
||||
</node>
|
||||
</node>
|
||||
<node concept="liA8E" id="2uP4pEYTec" role="2OqNvi">
|
||||
<ref role="37wK5l" to="33ny:~Set.hashCode()" resolve="hashCode" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3clFbJ" id="2uP4pEZ21E" role="3cqZAp">
|
||||
<node concept="3clFbS" id="2uP4pEZ21G" role="3clFbx">
|
||||
<node concept="3clFbF" id="2uP4pEZ37r" role="3cqZAp">
|
||||
<node concept="37vLTI" id="2uP4pEZ3Zi" role="3clFbG">
|
||||
<node concept="37vLTw" id="2uP4pEZ37p" role="37vLTJ">
|
||||
<ref role="3cqZAo" node="2uP4pEZ0ru" resolve="hashCode" />
|
||||
</node>
|
||||
<node concept="3cpWs3" id="2uP4pEYUqk" role="37vLTx">
|
||||
<node concept="17qRlL" id="2uP4pEYWOq" role="3uHU7w">
|
||||
<node concept="2OqwBi" id="2uP4pEYXpd" role="3uHU7w">
|
||||
<node concept="37vLTw" id="2uP4pEYWPC" role="2Oq$k0">
|
||||
<ref role="3cqZAo" node="6EY0p2w8VQt" resolve="prev" />
|
||||
</node>
|
||||
<node concept="liA8E" id="2uP4pEYXMm" role="2OqNvi">
|
||||
<ref role="37wK5l" node="2uP4pEYLkq" resolve="hashCode" />
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3cmrfG" id="2uP4pEYVLA" role="3uHU7B">
|
||||
<property role="3cmrfH" value="19" />
|
||||
</node>
|
||||
</node>
|
||||
<node concept="17qRlL" id="2uP4pEYZvS" role="3uHU7B">
|
||||
<node concept="3cmrfG" id="2uP4pEYZx2" role="3uHU7w">
|
||||
<property role="3cmrfH" value="17" />
|
||||
</node>
|
||||
<node concept="37vLTw" id="2uP4pEZ4LI" role="3uHU7B">
|
||||
<ref role="3cqZAo" node="2uP4pEZ0ru" resolve="hashCode" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3y3z36" id="2uP4pEZ2A5" role="3clFbw">
|
||||
<node concept="10Nm6u" id="2uP4pEZ34u" role="3uHU7w" />
|
||||
<node concept="37vLTw" id="2uP4pEZ23c" role="3uHU7B">
|
||||
<ref role="3cqZAo" node="6EY0p2w8VQt" resolve="prev" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3cpWs6" id="2uP4pEYMk9" role="3cqZAp">
|
||||
<node concept="37vLTw" id="2uP4pEZ5cS" role="3cqZAk">
|
||||
<ref role="3cqZAo" node="2uP4pEZ0ru" resolve="hashCode" />
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node concept="3Tm1VV" id="2uP4pEYKXf" role="1B3o_S" />
|
||||
<node concept="10Oyi0" id="2uP4pEYLDH" role="3clF45" />
|
||||
<node concept="2AHcQZ" id="2uP4pEYLYu" role="2AJF6D">
|
||||
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
|
||||
</node>
|
||||
</node>
|
||||
<node concept="2tJIrI" id="6EY0p2w92PX" role="jymVt" />
|
||||
<node concept="312cEg" id="6EY0p2w8VVA" role="jymVt">
|
||||
<property role="TrG5h" value="local" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue