Refactor aspect lookup, introduce aspect clique to support multiple typesystems.

There might be several unrelated typesystems defined by languages imported into
a single model. A way to handle this is to use aspect cliques that correspond
to a collection of related aspects, which build a single typesystem.
This commit is contained in:
Fedor Isakov 2019-08-12 13:17:52 +02:00
parent 17544576ac
commit 39c4499585
14 changed files with 3857 additions and 3176 deletions

View File

@ -130,6 +130,9 @@
<property id="1068580123138" name="value" index="3clFbU" />
</concept>
<concept id="1068580123140" name="jetbrains.mps.baseLanguage.structure.ConstructorDeclaration" flags="ig" index="3clFbW" />
<concept id="1068580320020" name="jetbrains.mps.baseLanguage.structure.IntegerConstant" flags="nn" index="3cmrfG">
<property id="1068580320021" name="value" index="3cmrfH" />
</concept>
<concept id="1068581242875" name="jetbrains.mps.baseLanguage.structure.PlusExpression" flags="nn" index="3cpWs3" />
<concept id="1068581242878" name="jetbrains.mps.baseLanguage.structure.ReturnStatement" flags="nn" index="3cpWs6">
<child id="1068581517676" name="expression" index="3cqZAk" />
@ -142,6 +145,7 @@
<concept id="1079359253375" name="jetbrains.mps.baseLanguage.structure.ParenthesizedExpression" flags="nn" index="1eOMI4">
<child id="1079359253376" name="expression" index="1eOMHV" />
</concept>
<concept id="1081506762703" name="jetbrains.mps.baseLanguage.structure.GreaterThanExpression" flags="nn" index="3eOSWO" />
<concept id="1081516740877" name="jetbrains.mps.baseLanguage.structure.NotExpression" flags="nn" index="3fqX7Q">
<child id="1081516765348" name="expression" index="3fr31v" />
</concept>
@ -160,6 +164,7 @@
<concept id="7812454656619025412" name="jetbrains.mps.baseLanguage.structure.LocalMethodCall" flags="nn" index="1rXfSq" />
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
<child id="1109201940907" name="parameter" index="11_B2D" />
</concept>
<concept id="1081773326031" name="jetbrains.mps.baseLanguage.structure.BinaryOperation" flags="nn" index="3uHJSO">
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
@ -259,6 +264,7 @@
<concept id="1153944233411" name="jetbrains.mps.baseLanguage.collections.structure.ForEachVariableReference" flags="nn" index="2GrUjf">
<reference id="1153944258490" name="variable" index="2Gs0qQ" />
</concept>
<concept id="1235566554328" name="jetbrains.mps.baseLanguage.collections.structure.AnyOperation" flags="nn" index="2HwmR7" />
<concept id="1235573135402" name="jetbrains.mps.baseLanguage.collections.structure.SingletonSequenceCreator" flags="nn" index="2HTt$P">
<child id="1235573175711" name="elementType" index="2HTBi0" />
<child id="1235573187520" name="singletonValue" index="2HTEbv" />
@ -278,6 +284,9 @@
<child id="1197687026896" name="keyType" index="3rHrn6" />
<child id="1197687035757" name="valueType" index="3rHtpV" />
</concept>
<concept id="1165525191778" name="jetbrains.mps.baseLanguage.collections.structure.GetFirstOperation" flags="nn" index="1uHKPH" />
<concept id="7125221305512719026" name="jetbrains.mps.baseLanguage.collections.structure.CollectionType" flags="in" index="3vKaQO" />
<concept id="1225727723840" name="jetbrains.mps.baseLanguage.collections.structure.FindFirstOperation" flags="nn" index="1z4cxt" />
<concept id="1202128969694" name="jetbrains.mps.baseLanguage.collections.structure.SelectOperation" flags="nn" index="3$u5V9" />
<concept id="1240824834947" name="jetbrains.mps.baseLanguage.collections.structure.ValueAccessOperation" flags="nn" index="3AV6Ez" />
<concept id="1240825616499" name="jetbrains.mps.baseLanguage.collections.structure.KeyAccessOperation" flags="nn" index="3AY5_j" />
@ -289,6 +298,9 @@
<child id="1240906921264" name="map" index="3FOfgg" />
</concept>
<concept id="1176501494711" name="jetbrains.mps.baseLanguage.collections.structure.IsNotEmptyOperation" flags="nn" index="3GX2aA" />
<concept id="5686963296372573083" name="jetbrains.mps.baseLanguage.collections.structure.AbstractContainerType" flags="in" index="3O5elB">
<child id="5686963296372573084" name="elementType" index="3O5elw" />
</concept>
</language>
</registry>
<node concept="312cEu" id="tyIfzC0ZNj">
@ -395,6 +407,29 @@
<node concept="3cqZAl" id="tyIfzC440q" role="3clF45" />
<node concept="3Tm1VV" id="tyIfzC440r" role="1B3o_S" />
<node concept="3clFbS" id="tyIfzC440s" role="3clF47">
<node concept="3cpWs8" id="3KN3A4v4WRH" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4v4WRI" role="3cpWs9">
<property role="TrG5h" value="acs" />
<node concept="3vKaQO" id="3KN3A4v4J7k" role="1tU5fm">
<node concept="3uibUv" id="3KN3A4v4J7r" role="3O5elw">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4v4J7s" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
<node concept="2YIFZM" id="3KN3A4v4WRJ" role="33vP2m">
<ref role="37wK5l" to="u46i:7P_FdVPW9uU" resolve="allForModel" />
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
<node concept="37vLTw" id="3KN3A4v4WRK" role="37wK5m">
<ref role="3cqZAo" node="tyIfzC440m" resolve="demoModel" />
</node>
<node concept="37vLTw" id="3KN3A4v4WRL" role="37wK5m">
<ref role="3cqZAo" node="tyIfzC440k" resolve="repo" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="tyIfzC4hI7" role="3cqZAp">
<node concept="3cpWsn" id="tyIfzC4hI8" role="3cpWs9">
<property role="TrG5h" value="session" />
@ -413,14 +448,15 @@
</node>
</node>
</node>
<node concept="2YIFZM" id="tyIfzC4hIh" role="10QFUP">
<ref role="37wK5l" to="u46i:7P_FdVPW9uU" resolve="allForModel" />
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
<node concept="37vLTw" id="tyIfzC4hIi" role="37wK5m">
<ref role="3cqZAo" node="tyIfzC440m" resolve="demoModel" />
<node concept="2OqwBi" id="3KN3A4v4Y2x" role="10QFUP">
<node concept="2OqwBi" id="3KN3A4v4Xpl" role="2Oq$k0">
<node concept="37vLTw" id="3KN3A4v4WRM" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4v4WRI" resolve="acs" />
</node>
<node concept="1uHKPH" id="3KN3A4v$ymv" role="2OqNvi" />
</node>
<node concept="37vLTw" id="tyIfzC4hIj" role="37wK5m">
<ref role="3cqZAo" node="tyIfzC440k" resolve="repo" />
<node concept="liA8E" id="3KN3A4v4YlH" role="2OqNvi">
<ref role="37wK5l" to="fqlx:3KN3A4uUhpW" resolve="aspects" />
</node>
</node>
</node>
@ -493,6 +529,161 @@
<node concept="3cqZAl" id="tyIfzC0ZVs" role="3clF45" />
<node concept="3Tm1VV" id="tyIfzC0ZVt" role="1B3o_S" />
<node concept="3clFbS" id="tyIfzC0ZVu" role="3clF47">
<node concept="3cpWs8" id="3KN3A4v4YzE" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4v4YzF" role="3cpWs9">
<property role="TrG5h" value="acs" />
<node concept="3vKaQO" id="3KN3A4v4J2w" role="1tU5fm">
<node concept="3uibUv" id="3KN3A4v4J2B" role="3O5elw">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4v4J2C" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
<node concept="2YIFZM" id="3KN3A4v4YzG" role="33vP2m">
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
<ref role="37wK5l" to="u46i:7P_FdVPW9uU" resolve="allForModel" />
<node concept="37vLTw" id="3KN3A4v4YzH" role="37wK5m">
<ref role="3cqZAo" node="tyIfzC108H" resolve="demoModel" />
</node>
<node concept="37vLTw" id="3KN3A4v4YzI" role="37wK5m">
<ref role="3cqZAo" node="tyIfzC103X" resolve="repo" />
</node>
</node>
</node>
</node>
<node concept="3SKdUt" id="3KN3A4w605O" role="3cqZAp">
<node concept="1PaTwC" id="3KN3A4w605P" role="3ndbpf">
<node concept="3oM_SD" id="3KN3A4w60m8" role="1PaTwD">
<property role="3oM_SC" value="FIXME" />
</node>
<node concept="3oM_SD" id="3KN3A4w60ma" role="1PaTwD">
<property role="3oM_SC" value="this" />
</node>
<node concept="3oM_SD" id="3KN3A4w60s2" role="1PaTwD">
<property role="3oM_SC" value="is" />
</node>
<node concept="3oM_SD" id="3KN3A4w60s6" role="1PaTwD">
<property role="3oM_SC" value="a" />
</node>
<node concept="3oM_SD" id="3KN3A4w60sb" role="1PaTwD">
<property role="3oM_SC" value="hacky" />
</node>
<node concept="3oM_SD" id="3KN3A4w60sT" role="1PaTwD">
<property role="3oM_SC" value="way" />
</node>
<node concept="3oM_SD" id="3KN3A4w60tg" role="1PaTwD">
<property role="3oM_SC" value="to" />
</node>
<node concept="3oM_SD" id="3KN3A4w60tw" role="1PaTwD">
<property role="3oM_SC" value="get" />
</node>
<node concept="3oM_SD" id="3KN3A4w60tT" role="1PaTwD">
<property role="3oM_SC" value="the" />
</node>
<node concept="3oM_SD" id="3KN3A4w60uj" role="1PaTwD">
<property role="3oM_SC" value="clique" />
</node>
<node concept="3oM_SD" id="3KN3A4w60uY" role="1PaTwD">
<property role="3oM_SC" value="we" />
</node>
<node concept="3oM_SD" id="3KN3A4w60vq" role="1PaTwD">
<property role="3oM_SC" value="want" />
</node>
</node>
</node>
<node concept="3cpWs8" id="3KN3A4v$$Gr" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4v$$Gs" role="3cpWs9">
<property role="TrG5h" value="ac" />
<node concept="3uibUv" id="3KN3A4v$$Ga" role="1tU5fm">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4v$$Gd" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
<node concept="2OqwBi" id="3KN3A4v$$Gt" role="33vP2m">
<node concept="37vLTw" id="3KN3A4v$$Gu" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4v4YzF" resolve="acs" />
</node>
<node concept="1uHKPH" id="3KN3A4v$$Gv" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3clFbJ" id="3KN3A4v$ysd" role="3cqZAp">
<node concept="3clFbS" id="3KN3A4v$ysf" role="3clFbx">
<node concept="3clFbF" id="QpMEos80ju" role="3cqZAp">
<node concept="37vLTI" id="QpMEos80jv" role="3clFbG">
<node concept="2OqwBi" id="QpMEos80jw" role="37vLTx">
<node concept="37vLTw" id="QpMEos80jx" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4v4YzF" resolve="acs" />
</node>
<node concept="1z4cxt" id="QpMEos80jy" role="2OqNvi">
<node concept="1bVj0M" id="QpMEos80jz" role="23t8la">
<node concept="3clFbS" id="QpMEos80j$" role="1bW5cS">
<node concept="3clFbF" id="QpMEos80j_" role="3cqZAp">
<node concept="3fqX7Q" id="QpMEos80jA" role="3clFbG">
<node concept="2OqwBi" id="QpMEos6gMh" role="3fr31v">
<node concept="2OqwBi" id="QpMEos80jB" role="2Oq$k0">
<node concept="37vLTw" id="QpMEos80jC" role="2Oq$k0">
<ref role="3cqZAo" node="QpMEos80jE" resolve="a" />
</node>
<node concept="liA8E" id="QpMEos80jD" role="2OqNvi">
<ref role="37wK5l" to="fqlx:3KN3A4vz0wG" resolve="namespaces" />
</node>
</node>
<node concept="2HwmR7" id="QpMEos6ihJ" role="2OqNvi">
<node concept="1bVj0M" id="QpMEos6ihL" role="23t8la">
<node concept="3clFbS" id="QpMEos6ihM" role="1bW5cS">
<node concept="3clFbF" id="QpMEos6pqr" role="3cqZAp">
<node concept="2OqwBi" id="QpMEos6qkW" role="3clFbG">
<node concept="37vLTw" id="QpMEos6pqq" role="2Oq$k0">
<ref role="3cqZAo" node="QpMEos6ihN" resolve="ns" />
</node>
<node concept="liA8E" id="QpMEos6rbu" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.contains(java.lang.CharSequence)" resolve="contains" />
<node concept="Xl_RD" id="QpMEos6rAw" role="37wK5m">
<property role="Xl_RC" value="baseLanguage" />
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="QpMEos6ihN" role="1bW2Oz">
<property role="TrG5h" value="ns" />
<node concept="2jxLKc" id="QpMEos6ihO" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="QpMEos80jE" role="1bW2Oz">
<property role="TrG5h" value="a" />
<node concept="2jxLKc" id="QpMEos80jF" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="QpMEos80jG" role="37vLTJ">
<ref role="3cqZAo" node="3KN3A4v$$Gs" resolve="ac" />
</node>
</node>
</node>
</node>
<node concept="3eOSWO" id="3KN3A4v$$6i" role="3clFbw">
<node concept="3cmrfG" id="3KN3A4v$$6N" role="3uHU7w">
<property role="3cmrfH" value="1" />
</node>
<node concept="2OqwBi" id="3KN3A4v$z8o" role="3uHU7B">
<node concept="37vLTw" id="3KN3A4v$y$u" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4v4YzF" resolve="acs" />
</node>
<node concept="34oBXx" id="3KN3A4v$zka" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3clFbH" id="3KN3A4v$y4n" role="3cqZAp" />
<node concept="3cpWs8" id="6OXbTD_o6iu" role="3cqZAp">
<node concept="3cpWsn" id="6OXbTD_o6iv" role="3cpWs9">
<property role="TrG5h" value="session" />
@ -511,14 +702,12 @@
</node>
</node>
</node>
<node concept="2YIFZM" id="5zsw4w31mBK" role="10QFUP">
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
<ref role="37wK5l" to="u46i:7P_FdVPW9uU" resolve="allForModel" />
<node concept="37vLTw" id="tyIfzC21Od" role="37wK5m">
<ref role="3cqZAo" node="tyIfzC108H" resolve="demoModel" />
<node concept="2OqwBi" id="3KN3A4v4Z8$" role="10QFUP">
<node concept="37vLTw" id="3KN3A4v$Jfq" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4v$$Gs" resolve="ac" />
</node>
<node concept="37vLTw" id="5zsw4w31mBO" role="37wK5m">
<ref role="3cqZAo" node="tyIfzC103X" resolve="repo" />
<node concept="liA8E" id="3KN3A4v4ZkU" role="2OqNvi">
<ref role="37wK5l" to="fqlx:3KN3A4uUhpW" resolve="aspects" />
</node>
</node>
</node>

View File

@ -74,6 +74,7 @@
<child id="1068498886297" name="rValue" index="37vLTx" />
<child id="1068498886295" name="lValue" index="37vLTJ" />
</concept>
<concept id="4836112446988635817" name="jetbrains.mps.baseLanguage.structure.UndefinedType" flags="in" index="2jxLKc" />
<concept id="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
<concept id="1465982738277781862" name="jetbrains.mps.baseLanguage.structure.PlaceholderMember" flags="ng" index="2tJIrI" />
<concept id="1188207840427" name="jetbrains.mps.baseLanguage.structure.AnnotationInstance" flags="nn" index="2AHcQZ">
@ -159,12 +160,19 @@
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
<concept id="1068580123157" name="jetbrains.mps.baseLanguage.structure.Statement" flags="nn" index="3clFbH" />
<concept id="1068580123159" name="jetbrains.mps.baseLanguage.structure.IfStatement" flags="nn" index="3clFbJ">
<child id="1068580123160" name="condition" index="3clFbw" />
<child id="1068580123161" name="ifTrue" index="3clFbx" />
</concept>
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
<concept id="1068580123137" name="jetbrains.mps.baseLanguage.structure.BooleanConstant" flags="nn" index="3clFbT">
<property id="1068580123138" name="value" index="3clFbU" />
</concept>
<concept id="1068580320020" name="jetbrains.mps.baseLanguage.structure.IntegerConstant" flags="nn" index="3cmrfG">
<property id="1068580320021" name="value" index="3cmrfH" />
</concept>
<concept id="1068581242864" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclarationStatement" flags="nn" index="3cpWs8">
<child id="1068581242865" name="localVariableDeclaration" index="3cpWs9" />
</concept>
@ -173,6 +181,10 @@
<concept id="1079359253375" name="jetbrains.mps.baseLanguage.structure.ParenthesizedExpression" flags="nn" index="1eOMI4">
<child id="1079359253376" name="expression" index="1eOMHV" />
</concept>
<concept id="1081506762703" name="jetbrains.mps.baseLanguage.structure.GreaterThanExpression" flags="nn" index="3eOSWO" />
<concept id="1081516740877" name="jetbrains.mps.baseLanguage.structure.NotExpression" flags="nn" index="3fqX7Q">
<child id="1081516765348" name="expression" index="3fr31v" />
</concept>
<concept id="1204053956946" name="jetbrains.mps.baseLanguage.structure.IMethodCall" flags="ng" index="1ndlxa">
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
<child id="1068499141038" name="actualArgument" index="37wK5m" />
@ -373,13 +385,19 @@
</concept>
</language>
<language id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections">
<concept id="1204796164442" name="jetbrains.mps.baseLanguage.collections.structure.InternalSequenceOperation" flags="nn" index="23sCx2">
<child id="1204796294226" name="closure" index="23t8la" />
</concept>
<concept id="1151689724996" name="jetbrains.mps.baseLanguage.collections.structure.SequenceType" flags="in" index="A3Dl8">
<child id="1151689745422" name="elementType" index="A3Ik2" />
</concept>
<concept id="1235566554328" name="jetbrains.mps.baseLanguage.collections.structure.AnyOperation" flags="nn" index="2HwmR7" />
<concept id="1235573135402" name="jetbrains.mps.baseLanguage.collections.structure.SingletonSequenceCreator" flags="nn" index="2HTt$P">
<child id="1235573175711" name="elementType" index="2HTBi0" />
<child id="1235573187520" name="singletonValue" index="2HTEbv" />
</concept>
<concept id="1203518072036" name="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" flags="ig" index="Rh6nW" />
<concept id="1162935959151" name="jetbrains.mps.baseLanguage.collections.structure.GetSizeOperation" flags="nn" index="34oBXx" />
<concept id="1197683403723" name="jetbrains.mps.baseLanguage.collections.structure.MapType" flags="in" index="3rvAFt">
<child id="1197683466920" name="keyType" index="3rvQeY" />
<child id="1197683475734" name="valueType" index="3rvSg0" />
@ -388,10 +406,16 @@
<child id="1197687026896" name="keyType" index="3rHrn6" />
<child id="1197687035757" name="valueType" index="3rHtpV" />
</concept>
<concept id="1165525191778" name="jetbrains.mps.baseLanguage.collections.structure.GetFirstOperation" flags="nn" index="1uHKPH" />
<concept id="7125221305512719026" name="jetbrains.mps.baseLanguage.collections.structure.CollectionType" flags="in" index="3vKaQO" />
<concept id="1225727723840" name="jetbrains.mps.baseLanguage.collections.structure.FindFirstOperation" flags="nn" index="1z4cxt" />
<concept id="1197932370469" name="jetbrains.mps.baseLanguage.collections.structure.MapElement" flags="nn" index="3EllGN">
<child id="1197932505799" name="map" index="3ElQJh" />
<child id="1197932525128" name="key" index="3ElVtu" />
</concept>
<concept id="5686963296372573083" name="jetbrains.mps.baseLanguage.collections.structure.AbstractContainerType" flags="in" index="3O5elB">
<child id="5686963296372573084" name="elementType" index="3O5elw" />
</concept>
</language>
<language id="cba985fe-1e96-4f16-9f8d-b07434405d4f" name="jetbrains.mps.lang.smodel.types">
<concept id="7345257067587627589" name="jetbrains.mps.lang.smodel.types.structure.SNodeTypeOperation" flags="ng" index="2W$R8B" />
@ -810,6 +834,163 @@
</node>
</node>
</node>
<node concept="3cpWs8" id="3KN3A4v4Q8S" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4v4Q8T" role="3cpWs9">
<property role="TrG5h" value="acs" />
<node concept="3vKaQO" id="3KN3A4v4PGr" role="1tU5fm">
<node concept="3uibUv" id="3KN3A4v4PGy" role="3O5elw">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4v4PGz" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
<node concept="2YIFZM" id="3KN3A4v4Q8U" role="33vP2m">
<ref role="37wK5l" to="u46i:7P_FdVPW9uU" resolve="allForModel" />
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
<node concept="2OqwBi" id="3KN3A4v4Q8V" role="37wK5m">
<node concept="37vLTw" id="3KN3A4v4Q8W" role="2Oq$k0">
<ref role="3cqZAo" node="7mB3viLf32I" resolve="demo" />
</node>
<node concept="I4A8Y" id="3KN3A4v4Q8X" role="2OqNvi" />
</node>
<node concept="37vLTw" id="3KN3A4v4Q8Y" role="37wK5m">
<ref role="3cqZAo" node="6OXbTD_oHcp" resolve="repo" />
</node>
</node>
</node>
</node>
<node concept="3SKdUt" id="3KN3A4w605O" role="3cqZAp">
<node concept="1PaTwC" id="3KN3A4w605P" role="3ndbpf">
<node concept="3oM_SD" id="3KN3A4w60m8" role="1PaTwD">
<property role="3oM_SC" value="FIXME" />
</node>
<node concept="3oM_SD" id="3KN3A4w60ma" role="1PaTwD">
<property role="3oM_SC" value="this" />
</node>
<node concept="3oM_SD" id="3KN3A4w60s2" role="1PaTwD">
<property role="3oM_SC" value="is" />
</node>
<node concept="3oM_SD" id="3KN3A4w60s6" role="1PaTwD">
<property role="3oM_SC" value="a" />
</node>
<node concept="3oM_SD" id="3KN3A4w60sb" role="1PaTwD">
<property role="3oM_SC" value="hacky" />
</node>
<node concept="3oM_SD" id="3KN3A4w60sT" role="1PaTwD">
<property role="3oM_SC" value="way" />
</node>
<node concept="3oM_SD" id="3KN3A4w60tg" role="1PaTwD">
<property role="3oM_SC" value="to" />
</node>
<node concept="3oM_SD" id="3KN3A4w60tw" role="1PaTwD">
<property role="3oM_SC" value="get" />
</node>
<node concept="3oM_SD" id="3KN3A4w60tT" role="1PaTwD">
<property role="3oM_SC" value="the" />
</node>
<node concept="3oM_SD" id="3KN3A4w60uj" role="1PaTwD">
<property role="3oM_SC" value="clique" />
</node>
<node concept="3oM_SD" id="3KN3A4w60uY" role="1PaTwD">
<property role="3oM_SC" value="we" />
</node>
<node concept="3oM_SD" id="3KN3A4w60vq" role="1PaTwD">
<property role="3oM_SC" value="want" />
</node>
</node>
</node>
<node concept="3cpWs8" id="3KN3A4vAiqP" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4vAiqQ" role="3cpWs9">
<property role="TrG5h" value="ac" />
<node concept="3uibUv" id="3KN3A4vAigj" role="1tU5fm">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4vAigm" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
<node concept="2OqwBi" id="3KN3A4vAiqR" role="33vP2m">
<node concept="37vLTw" id="3KN3A4vAiqS" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4v4Q8T" resolve="acs" />
</node>
<node concept="1uHKPH" id="3KN3A4vAiqT" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3clFbJ" id="3KN3A4v$ysd" role="3cqZAp">
<node concept="3clFbS" id="3KN3A4v$ysf" role="3clFbx">
<node concept="3clFbF" id="3KN3A4v$_77" role="3cqZAp">
<node concept="37vLTI" id="3KN3A4v$_ea" role="3clFbG">
<node concept="2OqwBi" id="3KN3A4v$_uK" role="37vLTx">
<node concept="37vLTw" id="3KN3A4v$_hP" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4v4Q8T" resolve="acs" />
</node>
<node concept="1z4cxt" id="3KN3A4v$_HV" role="2OqNvi">
<node concept="1bVj0M" id="3KN3A4v$_HX" role="23t8la">
<node concept="3clFbS" id="3KN3A4v$_HY" role="1bW5cS">
<node concept="3clFbF" id="3KN3A4v$_Pb" role="3cqZAp">
<node concept="3fqX7Q" id="3KN3A4v$_P9" role="3clFbG">
<node concept="2OqwBi" id="QpMEos6gMh" role="3fr31v">
<node concept="2OqwBi" id="3KN3A4v$A26" role="2Oq$k0">
<node concept="37vLTw" id="3KN3A4v$_PI" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4v$_HZ" resolve="a" />
</node>
<node concept="liA8E" id="3KN3A4v$Am6" role="2OqNvi">
<ref role="37wK5l" to="fqlx:3KN3A4vz0wG" resolve="namespaces" />
</node>
</node>
<node concept="2HwmR7" id="QpMEos6ihJ" role="2OqNvi">
<node concept="1bVj0M" id="QpMEos6ihL" role="23t8la">
<node concept="3clFbS" id="QpMEos6ihM" role="1bW5cS">
<node concept="3clFbF" id="QpMEos6pqr" role="3cqZAp">
<node concept="2OqwBi" id="QpMEos6qkW" role="3clFbG">
<node concept="37vLTw" id="QpMEos6pqq" role="2Oq$k0">
<ref role="3cqZAo" node="QpMEos6ihN" resolve="ns" />
</node>
<node concept="liA8E" id="QpMEos6rbu" role="2OqNvi">
<ref role="37wK5l" to="wyt6:~String.contains(java.lang.CharSequence)" resolve="contains" />
<node concept="Xl_RD" id="QpMEos6rAw" role="37wK5m">
<property role="Xl_RC" value="baseLanguage" />
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="QpMEos6ihN" role="1bW2Oz">
<property role="TrG5h" value="ns" />
<node concept="2jxLKc" id="QpMEos6ihO" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="3KN3A4v$_HZ" role="1bW2Oz">
<property role="TrG5h" value="a" />
<node concept="2jxLKc" id="3KN3A4v$_I0" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="3KN3A4v$_75" role="37vLTJ">
<ref role="3cqZAo" node="3KN3A4vAiqQ" resolve="ac" />
</node>
</node>
</node>
</node>
<node concept="3eOSWO" id="3KN3A4v$$6i" role="3clFbw">
<node concept="3cmrfG" id="3KN3A4v$$6N" role="3uHU7w">
<property role="3cmrfH" value="1" />
</node>
<node concept="2OqwBi" id="3KN3A4v$z8o" role="3uHU7B">
<node concept="37vLTw" id="3KN3A4v$y$u" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4v4Q8T" resolve="acs" />
</node>
<node concept="34oBXx" id="3KN3A4v$zka" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3cpWs8" id="6OXbTD_o6iu" role="3cqZAp">
<node concept="3cpWsn" id="6OXbTD_o6iv" role="3cpWs9">
<property role="TrG5h" value="session" />
@ -819,26 +1000,21 @@
<node concept="2ShNRf" id="5zsw4w31jsK" role="33vP2m">
<node concept="1pGfFk" id="5zsw4w31jsL" role="2ShVmc">
<ref role="37wK5l" to="hano:7DvO2M9VeM1" resolve="RuleProcessingSession" />
<node concept="1eOMI4" id="5zsw4w31mBC" role="37wK5m">
<node concept="10QFUN" id="5zsw4w31mB_" role="1eOMHV">
<node concept="A3Dl8" id="5zsw4w31mBE" role="10QFUM">
<node concept="3qUE_q" id="5zsw4w31mBF" role="A3Ik2">
<node concept="3uibUv" id="5zsw4w31mBG" role="3qUE_r">
<node concept="1eOMI4" id="3KN3A4v4Wb0" role="37wK5m">
<node concept="10QFUN" id="3KN3A4v4WaX" role="1eOMHV">
<node concept="A3Dl8" id="3KN3A4v4Wb2" role="10QFUM">
<node concept="3qUE_q" id="3KN3A4v4Wb3" role="A3Ik2">
<node concept="3uibUv" id="3KN3A4v4Wb4" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
<node concept="2YIFZM" id="5zsw4w31mBK" role="10QFUP">
<ref role="37wK5l" to="u46i:7P_FdVPW9uU" resolve="allForModel" />
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
<node concept="2OqwBi" id="5zsw4w31mBL" role="37wK5m">
<node concept="37vLTw" id="7mB3viLf4tH" role="2Oq$k0">
<ref role="3cqZAo" node="7mB3viLf32I" resolve="demo" />
</node>
<node concept="I4A8Y" id="5zsw4w31mBN" role="2OqNvi" />
<node concept="2OqwBi" id="3KN3A4v4Wb8" role="10QFUP">
<node concept="37vLTw" id="3KN3A4vAmhd" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4vAiqQ" resolve="ac" />
</node>
<node concept="37vLTw" id="5zsw4w31mBO" role="37wK5m">
<ref role="3cqZAo" node="6OXbTD_oHcp" resolve="repo" />
<node concept="liA8E" id="3KN3A4v4Wbc" role="2OqNvi">
<ref role="37wK5l" to="fqlx:3KN3A4uUhpW" resolve="aspects" />
</node>
</node>
</node>

View File

@ -21,6 +21,7 @@
<dependency reexport="false">f97d84b2-8bad-4fdd-8ede-da17b3eacf4c(jetbrains.mps.coderules)</dependency>
<dependency reexport="false">f486b8aa-5b2d-4ec0-8ef5-8f45d773fb84(jetbrains.mps.lang.typechecking.runtime)</dependency>
<dependency reexport="false">4d5d9aa1-7b71-4888-9100-1b793e5328a6(jetbrains.mps.coderules.ui)</dependency>
<dependency reexport="false">ff6372a2-2f45-4ec3-952b-02581666015f(jetbrains.mps.lang.coderules.template)</dependency>
</dependencies>
<languageVersions>
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="9" />

View File

@ -56,6 +56,7 @@
<import index="unkn" ref="f97d84b2-8bad-4fdd-8ede-da17b3eacf4c/java:io.reactivex(jetbrains.mps.coderules/)" />
<import index="u46i" ref="r:c2760840-3210-4ad4-9e64-a2dfd53620e1(jetbrains.mps.lang.typechecking.aspect)" />
<import index="o35r" ref="r:76281d8a-46ce-405f-8cfc-287ee8597b54(jetbrains.mps.coderules.ui.plugin)" />
<import index="fqlx" ref="r:2cc226a9-8a78-4010-b962-823343fd28ff(jetbrains.mps.lang.coderules.aspect)" />
</imports>
<registry>
<language id="a247e09e-2435-45ba-b8d2-07e93feba96a" name="jetbrains.mps.baseLanguage.tuples">
@ -126,7 +127,6 @@
<child id="1068498886297" name="rValue" index="37vLTx" />
<child id="1068498886295" name="lValue" index="37vLTJ" />
</concept>
<concept id="4836112446988635817" name="jetbrains.mps.baseLanguage.structure.UndefinedType" flags="in" index="2jxLKc" />
<concept id="1202948039474" name="jetbrains.mps.baseLanguage.structure.InstanceMethodCallOperation" flags="nn" index="liA8E" />
<concept id="1465982738277781862" name="jetbrains.mps.baseLanguage.structure.PlaceholderMember" flags="ng" index="2tJIrI" />
<concept id="1188207840427" name="jetbrains.mps.baseLanguage.structure.AnnotationInstance" flags="nn" index="2AHcQZ">
@ -356,24 +356,20 @@
</concept>
</language>
<language id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections">
<concept id="1204796164442" name="jetbrains.mps.baseLanguage.collections.structure.InternalSequenceOperation" flags="nn" index="23sCx2">
<child id="1204796294226" name="closure" index="23t8la" />
</concept>
<concept id="540871147943773365" name="jetbrains.mps.baseLanguage.collections.structure.SingleArgumentSequenceOperation" flags="nn" index="25WWJ4">
<child id="540871147943773366" name="argument" index="25WWJ7" />
</concept>
<concept id="1151688443754" name="jetbrains.mps.baseLanguage.collections.structure.ListType" flags="in" index="_YKpA">
<child id="1151688676805" name="elementType" index="_ZDj9" />
</concept>
<concept id="1151689724996" name="jetbrains.mps.baseLanguage.collections.structure.SequenceType" flags="in" index="A3Dl8">
<child id="1151689745422" name="elementType" index="A3Ik2" />
<concept id="1235573135402" name="jetbrains.mps.baseLanguage.collections.structure.SingletonSequenceCreator" flags="nn" index="2HTt$P">
<child id="1235573175711" name="elementType" index="2HTBi0" />
<child id="1235573187520" name="singletonValue" index="2HTEbv" />
</concept>
<concept id="1235566554328" name="jetbrains.mps.baseLanguage.collections.structure.AnyOperation" flags="nn" index="2HwmR7" />
<concept id="1237721394592" name="jetbrains.mps.baseLanguage.collections.structure.AbstractContainerCreator" flags="nn" index="HWqM0">
<child id="1237721435808" name="initValue" index="HW$Y0" />
<child id="1237721435807" name="elementType" index="HW$YZ" />
</concept>
<concept id="1203518072036" name="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" flags="ig" index="Rh6nW" />
<concept id="1160600644654" name="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" flags="nn" index="Tc6Ow" />
<concept id="1160612413312" name="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" flags="nn" index="TSZUe" />
<concept id="1162935959151" name="jetbrains.mps.baseLanguage.collections.structure.GetSizeOperation" flags="nn" index="34oBXx" />
@ -891,6 +887,62 @@
</node>
</node>
<node concept="3clFbH" id="6kREIVkXLDT" role="3cqZAp" />
<node concept="3cpWs8" id="3KN3A4vCOBB" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4vCOBC" role="3cpWs9">
<property role="TrG5h" value="aspectLookup" />
<node concept="3uibUv" id="3KN3A4vCOjR" role="1tU5fm">
<ref role="3uigEE" to="fqlx:NKt6ynorWQ" resolve="AspectLookup" />
<node concept="3uibUv" id="3KN3A4vCOjU" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
<node concept="2YIFZM" id="3KN3A4vCOBD" role="33vP2m">
<ref role="37wK5l" to="u46i:78H58oeCAQS" resolve="aspectLookup" />
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
<node concept="3cpWs8" id="3KN3A4vCTIJ" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4vCTIK" role="3cpWs9">
<property role="TrG5h" value="ac" />
<node concept="3vKaQO" id="3KN3A4vCTGm" role="1tU5fm">
<node concept="3uibUv" id="3KN3A4vCTGt" role="3O5elw">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4vCTGu" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
<node concept="2OqwBi" id="3KN3A4vCTIL" role="33vP2m">
<node concept="37vLTw" id="3KN3A4vCTIM" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4vCOBC" resolve="aspectLookup" />
</node>
<node concept="liA8E" id="3KN3A4vCTIN" role="2OqNvi">
<ref role="37wK5l" to="fqlx:7mB3viLmii2" resolve="allForNodes" />
<node concept="2ShNRf" id="3KN3A4vEAr_" role="37wK5m">
<node concept="2HTt$P" id="3KN3A4vECvI" role="2ShVmc">
<node concept="3Tqbb2" id="3KN3A4vEDpx" role="2HTBi0" />
<node concept="37vLTw" id="3KN3A4vEDNf" role="2HTEbv">
<ref role="3cqZAo" node="6kREIVkWLqP" resolve="root" />
</node>
</node>
</node>
<node concept="2OqwBi" id="3KN3A4vCTIP" role="37wK5m">
<node concept="2OqwBi" id="3KN3A4vCTIQ" role="2Oq$k0">
<node concept="2WthIp" id="3KN3A4vCTIR" role="2Oq$k0" />
<node concept="1DTwFV" id="3KN3A4vCTIS" role="2OqNvi">
<ref role="2WH_rO" node="3YJ7yg2LgUn" resolve="mpsProject" />
</node>
</node>
<node concept="liA8E" id="3KN3A4vCTIT" role="2OqNvi">
<ref role="37wK5l" to="z1c3:~Project.getRepository()" resolve="getRepository" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="3KN3A4vCYR8" role="3cqZAp" />
<node concept="3cpWs8" id="6kREIVkWRFp" role="3cqZAp">
<node concept="3cpWsn" id="6kREIVkWRFq" role="3cpWs9">
<property role="TrG5h" value="applyTemplatesStep" />
@ -901,9 +953,11 @@
<node concept="2ShNRf" id="6kREIVkWRFr" role="33vP2m">
<node concept="1pGfFk" id="6kREIVkWRFs" role="2ShVmc">
<ref role="37wK5l" to="1yqb:7kTeLbPt4na" resolve="ApplyTemplatesStep" />
<node concept="2YIFZM" id="78H58oeKIlZ" role="37wK5m">
<ref role="37wK5l" to="u46i:78H58oeCAQS" resolve="aspectLookup" />
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
<node concept="2OqwBi" id="3KN3A4vCVx$" role="37wK5m">
<node concept="37vLTw" id="3KN3A4vCUwE" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4vCTIK" resolve="ac" />
</node>
<node concept="1uHKPH" id="3KN3A4vCW$I" role="2OqNvi" />
</node>
<node concept="2ShNRf" id="3IIf9O_rLCc" role="37wK5m">
<node concept="Tc6Ow" id="3IIf9O_rNYG" role="2ShVmc">
@ -1166,75 +1220,73 @@
</node>
</node>
</node>
<node concept="3cpWs8" id="3YJ7yg2LDWF" role="3cqZAp">
<node concept="3cpWsn" id="3YJ7yg2LDWG" role="3cpWs9">
<property role="TrG5h" value="allLanguageImports" />
<node concept="A3Dl8" id="3YJ7yg2LDWH" role="1tU5fm">
<node concept="3uibUv" id="3YJ7yg2LDWI" role="A3Ik2">
<ref role="3uigEE" to="c17a:~SLanguage" resolve="SLanguage" />
<node concept="3clFbJ" id="3KN3A4v4utG" role="3cqZAp">
<node concept="3clFbS" id="3KN3A4v4utI" role="3clFbx">
<node concept="3cpWs6" id="3KN3A4v4xym" role="3cqZAp">
<node concept="3clFbT" id="3KN3A4v4xSZ" role="3cqZAk" />
</node>
</node>
<node concept="3clFbC" id="3KN3A4v4wI0" role="3clFbw">
<node concept="10Nm6u" id="3KN3A4v4x7o" role="3uHU7w" />
<node concept="2OqwBi" id="3KN3A4v4vGA" role="3uHU7B">
<node concept="37vLTw" id="3KN3A4v4uPi" role="2Oq$k0">
<ref role="3cqZAo" node="3YJ7yg2LDWz" resolve="containingRoot" />
</node>
<node concept="I4A8Y" id="3KN3A4v4wo8" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3clFbH" id="3KN3A4v4yCo" role="3cqZAp" />
<node concept="3cpWs8" id="3KN3A4v4yZT" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4v4yZU" role="3cpWs9">
<property role="TrG5h" value="allForModel" />
<node concept="3vKaQO" id="3KN3A4v4yPq" role="1tU5fm">
<node concept="3uibUv" id="3KN3A4v4yPx" role="3O5elw">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4v4yPy" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
<node concept="2YIFZM" id="3YJ7yg2LDWJ" role="33vP2m">
<ref role="1Pybhc" to="w1kc:~SModelOperations" resolve="SModelOperations" />
<ref role="37wK5l" to="w1kc:~SModelOperations.getAllLanguageImports(org.jetbrains.mps.openapi.model.SModel)" resolve="getAllLanguageImports" />
<node concept="2OqwBi" id="3YJ7yg2LDWK" role="37wK5m">
<node concept="37vLTw" id="3YJ7yg2LDWL" role="2Oq$k0">
<node concept="2YIFZM" id="3KN3A4v4yZV" role="33vP2m">
<ref role="37wK5l" to="u46i:7P_FdVPW9uU" resolve="allForModel" />
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
<node concept="2OqwBi" id="3KN3A4v4yZW" role="37wK5m">
<node concept="37vLTw" id="3KN3A4v4yZX" role="2Oq$k0">
<ref role="3cqZAo" node="3YJ7yg2LDWz" resolve="containingRoot" />
</node>
<node concept="I4A8Y" id="3YJ7yg2LDWM" role="2OqNvi" />
<node concept="I4A8Y" id="3KN3A4v4yZY" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="3YJ7yg2LDWN" role="3cqZAp">
<node concept="3cpWsn" id="3YJ7yg2LDWO" role="3cpWs9">
<property role="TrG5h" value="hasTypeAspect" />
<node concept="10P_77" id="3YJ7yg2LDWP" role="1tU5fm" />
<node concept="2OqwBi" id="3YJ7yg2LDWQ" role="33vP2m">
<node concept="37vLTw" id="3YJ7yg2LDWR" role="2Oq$k0">
<ref role="3cqZAo" node="3YJ7yg2LDWG" resolve="allLanguageImports" />
</node>
<node concept="2HwmR7" id="3YJ7yg2LDWS" role="2OqNvi">
<node concept="1bVj0M" id="3YJ7yg2LDWT" role="23t8la">
<node concept="3clFbS" id="3YJ7yg2LDWU" role="1bW5cS">
<node concept="3clFbF" id="3YJ7yg2LDWV" role="3cqZAp">
<node concept="3y3z36" id="3YJ7yg2LDWW" role="3clFbG">
<node concept="10Nm6u" id="3YJ7yg2LDWX" role="3uHU7w" />
<node concept="2YIFZM" id="NKt6yomRVP" role="3uHU7B">
<ref role="37wK5l" to="u46i:2hteS6Cndm6" resolve="forLanguage" />
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
<node concept="37vLTw" id="3YJ7yg2LDWZ" role="37wK5m">
<ref role="3cqZAo" node="3YJ7yg2LDX3" resolve="it" />
</node>
<node concept="2OqwBi" id="3GlpCDS_rQW" role="37wK5m">
<node concept="2OqwBi" id="3YJ7yg2LDX0" role="2Oq$k0">
<node concept="2WthIp" id="3YJ7yg2LDX1" role="2Oq$k0" />
<node concept="1DTwFV" id="3YJ7yg2LDX2" role="2OqNvi">
<ref role="2WH_rO" node="3YJ7yg2LgUn" resolve="mpsProject" />
</node>
</node>
<node concept="liA8E" id="3GlpCDS_tAo" role="2OqNvi">
<ref role="37wK5l" to="z1c3:~Project.getRepository()" resolve="getRepository" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="3YJ7yg2LDX3" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="3YJ7yg2LDX4" role="1tU5fm" />
<node concept="2OqwBi" id="3KN3A4v4yZZ" role="37wK5m">
<node concept="2OqwBi" id="3KN3A4v4z00" role="2Oq$k0">
<node concept="2WthIp" id="3KN3A4v4z01" role="2Oq$k0" />
<node concept="1DTwFV" id="3KN3A4v4z02" role="2OqNvi">
<ref role="2WH_rO" node="3YJ7yg2LgUn" resolve="mpsProject" />
</node>
</node>
<node concept="liA8E" id="3KN3A4v4z03" role="2OqNvi">
<ref role="37wK5l" to="z1c3:~Project.getRepository()" resolve="getRepository" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="3YJ7yg2LDX5" role="3cqZAp" />
<node concept="3cpWs8" id="3KN3A4v4BxV" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4v4BxW" role="3cpWs9">
<property role="TrG5h" value="hasTypeAspect" />
<node concept="10P_77" id="3KN3A4v4Bmf" role="1tU5fm" />
<node concept="2OqwBi" id="3KN3A4v4BxX" role="33vP2m">
<node concept="37vLTw" id="3KN3A4v4BxY" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4v4yZU" resolve="allForModel" />
</node>
<node concept="3GX2aA" id="3KN3A4v4BxZ" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3clFbF" id="3YJ7yg2LDX6" role="3cqZAp">
<node concept="1Wc70l" id="3YJ7yg2LDX7" role="3clFbG">
<node concept="37vLTw" id="3YJ7yg2LDXg" role="3uHU7B">
<ref role="3cqZAo" node="3YJ7yg2LDWO" resolve="hasTypeAspect" />
<node concept="37vLTw" id="3KN3A4v4DyL" role="3uHU7B">
<ref role="3cqZAo" node="3KN3A4v4BxW" resolve="hasTypeAspect" />
</node>
<node concept="3fqX7Q" id="3YJ7yg2LDXh" role="3uHU7w">
<node concept="2OqwBi" id="3YJ7yg2LDXi" role="3fr31v">
@ -1635,6 +1687,11 @@
<ref role="3uigEE" to="unkn:~Single" resolve="Single" />
<node concept="3uibUv" id="Hg6Enc6phj" role="11_B2D">
<ref role="3uigEE" to="1yqb:1pPth$lAwc0" resolve="ApplyTemplatesStep" />
<node concept="3qUE_q" id="6vFODDAYiK5" role="11_B2D">
<node concept="3uibUv" id="6vFODDAYjpq" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
</node>
</node>
@ -1660,6 +1717,11 @@
<node concept="1LlUBW" id="Hg6EncXnsT" role="11_B2D">
<node concept="3uibUv" id="Hg6EncXnsU" role="1Lm7xW">
<ref role="3uigEE" to="1yqb:1pPth$lAwc0" resolve="ApplyTemplatesStep" />
<node concept="3qUE_q" id="6vFODDAZbjL" role="11_B2D">
<node concept="3uibUv" id="6vFODDAZbjM" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
<node concept="3uibUv" id="6tPOoeTcJfS" role="1Lm7xW">
<ref role="3uigEE" to="hano:qubcdtxBiR" resolve="EvaluationTraceExt" />
@ -1686,6 +1748,11 @@
<property role="TrG5h" value="prev" />
<node concept="3uibUv" id="Hg6EncXnu0" role="1tU5fm">
<ref role="3uigEE" to="1yqb:1pPth$lAwc0" resolve="ApplyTemplatesStep" />
<node concept="3qUE_q" id="6vFODDAZcUx" role="11_B2D">
<node concept="3uibUv" id="6vFODDAZcUy" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
</node>
<node concept="3clFbS" id="Hg6EncXnu1" role="1bW5cS">
@ -2055,10 +2122,13 @@
</node>
<node concept="3cpWs8" id="7WKNeR8ULi0" role="3cqZAp">
<node concept="3cpWsn" id="7WKNeR8ULi1" role="3cpWs9">
<property role="TrG5h" value="aspects" />
<property role="TrG5h" value="acs" />
<node concept="3vKaQO" id="7WKNeR8ULhW" role="1tU5fm">
<node concept="3uibUv" id="78H58oe9cIE" role="3O5elw">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
<node concept="3uibUv" id="3KN3A4v4O7l" role="3O5elw">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4v4O$I" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
<node concept="2YIFZM" id="NKt6yomRVQ" role="33vP2m">
@ -2087,7 +2157,7 @@
<node concept="10P_77" id="6hqFpWnfbDO" role="1tU5fm" />
<node concept="2OqwBi" id="7WKNeR8UNGb" role="33vP2m">
<node concept="37vLTw" id="7WKNeR8UN2f" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR8ULi1" resolve="aspects" />
<ref role="3cqZAo" node="7WKNeR8ULi1" resolve="acs" />
</node>
<node concept="3GX2aA" id="7WKNeR8UOJy" role="2OqNvi" />
</node>
@ -2615,6 +2685,53 @@
<node concept="1QHqEK" id="1GKZK$Acyn7" role="3cqZAp">
<node concept="1QHqEC" id="1GKZK$Acyn9" role="1QHqEI">
<node concept="3clFbS" id="1GKZK$Acynb" role="1bW5cS">
<node concept="3cpWs8" id="3KN3A4vDoIG" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4vDoIH" role="3cpWs9">
<property role="TrG5h" value="aspectLookup" />
<node concept="3uibUv" id="3KN3A4vCI31" role="1tU5fm">
<ref role="3uigEE" to="fqlx:NKt6ynorWQ" resolve="AspectLookup" />
<node concept="3uibUv" id="3KN3A4vCI34" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
<node concept="2YIFZM" id="3KN3A4vDoII" role="33vP2m">
<ref role="37wK5l" to="u46i:78H58oeCAQS" resolve="aspectLookup" />
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
<node concept="3cpWs8" id="3KN3A4vDtUp" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4vDtUq" role="3cpWs9">
<property role="TrG5h" value="acs" />
<node concept="3vKaQO" id="3KN3A4vDtRc" role="1tU5fm">
<node concept="3uibUv" id="3KN3A4vDtRj" role="3O5elw">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4vDtRk" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
<node concept="2OqwBi" id="3KN3A4vDtUr" role="33vP2m">
<node concept="37vLTw" id="3KN3A4vDtUs" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4vDoIH" resolve="aspectLookup" />
</node>
<node concept="liA8E" id="3KN3A4vDtUt" role="2OqNvi">
<ref role="37wK5l" to="fqlx:7mB3viLmii2" resolve="allForNodes" />
<node concept="37vLTw" id="3KN3A4vDtUv" role="37wK5m">
<ref role="3cqZAo" node="6hqFpWnfpcc" resolve="nodes" />
</node>
<node concept="2OqwBi" id="3KN3A4vDx6Q" role="37wK5m">
<node concept="37vLTw" id="3KN3A4vDvVZ" role="2Oq$k0">
<ref role="3cqZAo" node="6hqFpWnfkNg" resolve="mpsProject" />
</node>
<node concept="liA8E" id="3KN3A4vDyc4" role="2OqNvi">
<ref role="37wK5l" to="z1c3:~Project.getRepository()" resolve="getRepository" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="1GKZK$AcBWw" role="3cqZAp">
<node concept="2OqwBi" id="1GKZK$AcDtv" role="3clFbG">
<node concept="37vLTw" id="1GKZK$AcBWu" role="2Oq$k0">
@ -2624,9 +2741,11 @@
<node concept="2ShNRf" id="1GKZK$AeOT8" role="25WWJ7">
<node concept="1pGfFk" id="1GKZK$AeOT9" role="2ShVmc">
<ref role="37wK5l" to="1yqb:7WKNeR9fh8j" resolve="ApplyTemplatesStep" />
<node concept="2YIFZM" id="1GKZK$AeOTa" role="37wK5m">
<ref role="37wK5l" to="u46i:78H58oeCAQS" resolve="aspectLookup" />
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
<node concept="2OqwBi" id="3KN3A4vD$yf" role="37wK5m">
<node concept="37vLTw" id="3KN3A4vDzik" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4vDtUq" resolve="acs" />
</node>
<node concept="1uHKPH" id="3KN3A4vD_gz" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="1GKZK$AeOTb" role="37wK5m">
<node concept="Xjq3P" id="1GKZK$AeOTc" role="2Oq$k0" />
@ -2983,6 +3102,53 @@
</node>
</node>
</node>
<node concept="3cpWs8" id="3KN3A4vDf1F" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4vDf1G" role="3cpWs9">
<property role="TrG5h" value="aspectLookup" />
<node concept="3uibUv" id="3KN3A4vCI3a" role="1tU5fm">
<ref role="3uigEE" to="fqlx:NKt6ynorWQ" resolve="AspectLookup" />
<node concept="3uibUv" id="3KN3A4vCI3d" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
<node concept="2YIFZM" id="3KN3A4vDf1H" role="33vP2m">
<ref role="37wK5l" to="u46i:78H58oeCAQS" resolve="aspectLookup" />
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
<node concept="3cpWs8" id="3KN3A4vDlEg" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4vDlEh" role="3cpWs9">
<property role="TrG5h" value="acs" />
<node concept="3vKaQO" id="3KN3A4vDl$J" role="1tU5fm">
<node concept="3uibUv" id="3KN3A4vDl$Q" role="3O5elw">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4vDl$R" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
<node concept="2OqwBi" id="3KN3A4vDlEi" role="33vP2m">
<node concept="37vLTw" id="3KN3A4vDlEj" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4vDf1G" resolve="aspectLookup" />
</node>
<node concept="liA8E" id="3KN3A4vDlEk" role="2OqNvi">
<ref role="37wK5l" to="fqlx:7mB3viLmii2" resolve="allForNodes" />
<node concept="37vLTw" id="3KN3A4vDlEm" role="37wK5m">
<ref role="3cqZAo" node="6hqFpWnfpcc" resolve="nodes" />
</node>
<node concept="2OqwBi" id="3KN3A4vDlEo" role="37wK5m">
<node concept="37vLTw" id="3KN3A4vDlEp" role="2Oq$k0">
<ref role="3cqZAo" node="6hqFpWnfkNg" resolve="mpsProject" />
</node>
<node concept="liA8E" id="3KN3A4vDlEq" role="2OqNvi">
<ref role="37wK5l" to="z1c3:~Project.getRepository()" resolve="getRepository" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="7WKNeR8TcXy" role="3cqZAp">
<node concept="2OqwBi" id="7WKNeR8TcXz" role="3clFbG">
<node concept="37vLTw" id="7WKNeR8TcX$" role="2Oq$k0">
@ -2992,9 +3158,11 @@
<node concept="2ShNRf" id="7WKNeR8TcXE" role="25WWJ7">
<node concept="1pGfFk" id="7WKNeR8TcXF" role="2ShVmc">
<ref role="37wK5l" to="1yqb:7WKNeR9fh8j" resolve="ApplyTemplatesStep" />
<node concept="2YIFZM" id="78H58oeL4m5" role="37wK5m">
<ref role="37wK5l" to="u46i:78H58oeCAQS" resolve="aspectLookup" />
<ref role="1Pybhc" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
<node concept="2OqwBi" id="3KN3A4vDnMg" role="37wK5m">
<node concept="37vLTw" id="3KN3A4vDn8n" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4vDlEh" resolve="acs" />
</node>
<node concept="1uHKPH" id="3KN3A4vDos$" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="7WKNeR8TcXG" role="37wK5m">
<node concept="Xjq3P" id="7WKNeR8TcXH" role="2Oq$k0" />

View File

@ -18,6 +18,7 @@
<dependency reexport="false">0b80a2e8-f9f1-47b3-823f-56eb115bca42(jetbrains.mps.typechecking.annotation)</dependency>
<dependency reexport="false">7a5dda62-9140-4668-ab76-d5ed1746f2b2(jetbrains.mps.lang.typesystem)</dependency>
<dependency reexport="false">49808fad-9d41-4b96-83fa-9231640f6b2b(JUnit)</dependency>
<dependency reexport="false">ff6372a2-2f45-4ec3-952b-02581666015f(jetbrains.mps.lang.coderules.template)</dependency>
</dependencies>
<languageVersions>
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="9" />

View File

@ -305,6 +305,7 @@
<concept id="1203518072036" name="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" flags="ig" index="Rh6nW" />
<concept id="7125221305512719026" name="jetbrains.mps.baseLanguage.collections.structure.CollectionType" flags="in" index="3vKaQO" />
<concept id="1202128969694" name="jetbrains.mps.baseLanguage.collections.structure.SelectOperation" flags="nn" index="3$u5V9" />
<concept id="1176501494711" name="jetbrains.mps.baseLanguage.collections.structure.IsNotEmptyOperation" flags="nn" index="3GX2aA" />
<concept id="5686963296372573083" name="jetbrains.mps.baseLanguage.collections.structure.AbstractContainerType" flags="in" index="3O5elB">
<child id="5686963296372573084" name="elementType" index="3O5elw" />
</concept>
@ -566,79 +567,52 @@
</node>
</node>
<node concept="3clFbH" id="uB9WAZ6NEq" role="3cqZAp" />
<node concept="3cpWs8" id="uB9WAZ6PES" role="3cqZAp">
<node concept="3cpWsn" id="uB9WAZ6PET" role="3cpWs9">
<property role="TrG5h" value="lookup" />
<node concept="3uibUv" id="uB9WAZ6PCs" role="1tU5fm">
<ref role="3uigEE" to="fqlx:NKt6ynorWQ" resolve="AspectLookup" />
<node concept="3uibUv" id="uB9WAZ6PCv" role="11_B2D">
<node concept="3cpWs8" id="3KN3A4uZFCY" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4uZFCZ" role="3cpWs9">
<property role="TrG5h" value="ad" />
<node concept="3uibUv" id="3KN3A4uZFjJ" role="1tU5fm">
<ref role="3uigEE" to="fqlx:NKt6ynom3d" resolve="AspectDiscoverable" />
<node concept="3uibUv" id="3KN3A4uZFjM" role="11_B2D">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
<node concept="2YIFZM" id="uB9WAZ6PEU" role="33vP2m">
<ref role="37wK5l" to="fqlx:78H58oefSjC" resolve="lookup" />
<ref role="1Pybhc" to="fqlx:NKt6ynorWQ" resolve="AspectLookup" />
<node concept="2YIFZM" id="uB9WAZ6PEV" role="37wK5m">
<ref role="37wK5l" to="fqlx:78H58oefoaA" resolve="discoverable" />
<ref role="1Pybhc" to="fqlx:NKt6yp1COZ" resolve="DefaultCoderulesAspect" />
<node concept="3VsKOn" id="uB9WAZ6PEW" role="37wK5m">
<ref role="3VsUkX" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
<node concept="2YIFZM" id="3KN3A4uZFD0" role="33vP2m">
<ref role="37wK5l" to="fqlx:78H58oefoaA" resolve="discoverable" />
<ref role="1Pybhc" to="fqlx:NKt6yp1COZ" resolve="DefaultCoderulesAspect" />
<node concept="3VsKOn" id="3KN3A4uZFD1" role="37wK5m">
<ref role="3VsUkX" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="uB9WAZ777T" role="3cqZAp">
<node concept="3cpWsn" id="uB9WAZ777U" role="3cpWs9">
<property role="TrG5h" value="aspects" />
<node concept="_YKpA" id="uB9WAZ76SW" role="1tU5fm">
<node concept="3uibUv" id="uB9WAZ76SZ" role="_ZDj9">
<ref role="3uigEE" to="u46i:7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
<node concept="3cpWs8" id="3KN3A4v2PX6" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4v2PX7" role="3cpWs9">
<property role="TrG5h" value="sd" />
<node concept="3uibUv" id="3KN3A4v2PVb" role="1tU5fm">
<ref role="3uigEE" to="fqlx:3KN3A4uUig2" resolve="SidekickDetectable" />
</node>
<node concept="2OqwBi" id="uB9WAZ777V" role="33vP2m">
<node concept="37vLTw" id="uB9WAZ777W" role="2Oq$k0">
<ref role="3cqZAo" node="uB9WAZ6PET" resolve="lookup" />
</node>
<node concept="liA8E" id="uB9WAZ777X" role="2OqNvi">
<ref role="37wK5l" to="fqlx:uB9WAYZU28" resolve="allForLanguages" />
<node concept="37vLTw" id="uB9WAZ777Y" role="37wK5m">
<ref role="3cqZAo" node="uB9WAZ73CY" resolve="langRTs" />
</node>
<node concept="1bVj0M" id="uB9WAZ777Z" role="37wK5m">
<node concept="3clFbS" id="uB9WAZ7780" role="1bW5cS">
<node concept="3clFbF" id="uB9WAZ7781" role="3cqZAp">
<node concept="2OqwBi" id="uB9WAZ7782" role="3clFbG">
<node concept="37vLTw" id="uB9WAZ7783" role="2Oq$k0">
<ref role="3cqZAo" node="uB9WAZ7786" resolve="lr" />
</node>
<node concept="liA8E" id="uB9WAZ7784" role="2OqNvi">
<ref role="37wK5l" to="vndm:~LanguageRuntime.getAspect(java.lang.Class)" resolve="getAspect" />
<node concept="3VsKOn" id="uB9WAZ7785" role="37wK5m">
<ref role="3VsUkX" to="qurh:~IHelginsDescriptor" resolve="IHelginsDescriptor" />
</node>
</node>
</node>
</node>
</node>
<node concept="37vLTG" id="uB9WAZ7786" role="1bW2Oz">
<property role="TrG5h" value="lr" />
<node concept="3uibUv" id="uB9WAZ7787" role="1tU5fm">
<ref role="3uigEE" to="vndm:~LanguageRuntime" resolve="LanguageRuntime" />
</node>
</node>
</node>
</node>
<node concept="2YIFZM" id="3KN3A4v2PX8" role="33vP2m">
<ref role="37wK5l" to="fqlx:3KN3A4uZLWT" resolve="sidekickDetectable" />
<ref role="1Pybhc" to="fqlx:NKt6yp1COZ" resolve="DefaultCoderulesAspect" />
</node>
</node>
</node>
<node concept="3clFbH" id="uB9WAZ7dGa" role="3cqZAp" />
<node concept="3clFbF" id="uB9WAZ6O3$" role="3cqZAp">
<node concept="3y3z36" id="uB9WAZ9OMR" role="3clFbG">
<node concept="10Nm6u" id="uB9WAZ9OMS" role="3uHU7w" />
<node concept="37vLTw" id="uB9WAZ9OMT" role="3uHU7B">
<ref role="3cqZAo" node="uB9WAZ777U" resolve="aspects" />
<node concept="3clFbF" id="3KN3A4v2TZi" role="3cqZAp">
<node concept="2OqwBi" id="3KN3A4v2V5V" role="3clFbG">
<node concept="2YIFZM" id="3KN3A4vjJNh" role="2Oq$k0">
<ref role="37wK5l" to="fqlx:3KN3A4uV0IR" resolve="discoverAspects" />
<ref role="1Pybhc" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="37vLTw" id="3KN3A4vjJNi" role="37wK5m">
<ref role="3cqZAo" node="uB9WAZ73CY" resolve="langRTs" />
</node>
<node concept="37vLTw" id="3KN3A4vjJNj" role="37wK5m">
<ref role="3cqZAo" node="3KN3A4v2PX7" resolve="sd" />
</node>
<node concept="37vLTw" id="3KN3A4vjJNk" role="37wK5m">
<ref role="3cqZAo" node="3KN3A4uZFCZ" resolve="ad" />
</node>
</node>
<node concept="3GX2aA" id="3KN3A4v2W6t" role="2OqNvi" />
</node>
</node>
</node>
@ -1079,39 +1053,6 @@
</node>
</node>
</node>
<node concept="3clFbH" id="3KN3A4uAc3r" role="3cqZAp" />
<node concept="2xdQw9" id="3KN3A4uAdie" role="3cqZAp">
<property role="2xdLsb" value="gZ5fksE/warn" />
<node concept="3cpWs3" id="3KN3A4uAgqz" role="9lYJi">
<node concept="37vLTw" id="3KN3A4uAh09" role="3uHU7w">
<ref role="3cqZAo" node="siuT5mmA0A" resolve="trgConcept" />
</node>
<node concept="3cpWs3" id="3KN3A4uAftI" role="3uHU7B">
<node concept="3cpWs3" id="3KN3A4uAdAO" role="3uHU7B">
<node concept="3cpWs3" id="3KN3A4uAezp" role="3uHU7B">
<node concept="3cpWs3" id="3KN3A4uAeNg" role="3uHU7B">
<node concept="37vLTw" id="3KN3A4uAf1N" role="3uHU7w">
<ref role="3cqZAo" node="siuT5mmA0$" resolve="type" />
</node>
<node concept="Xl_RD" id="3KN3A4uAezv" role="3uHU7B">
<property role="Xl_RC" value="*** type=" />
</node>
</node>
<node concept="Xl_RD" id="3KN3A4uAezx" role="3uHU7w">
<property role="Xl_RC" value=", coerced=" />
</node>
</node>
<node concept="37vLTw" id="3KN3A4uAeoE" role="3uHU7w">
<ref role="3cqZAo" node="3KN3A4uAbNa" resolve="coerceTo" />
</node>
</node>
<node concept="Xl_RD" id="3KN3A4uAfPp" role="3uHU7w">
<property role="Xl_RC" value=", toConcept=" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="3KN3A4uAc3K" role="3cqZAp" />
<node concept="3clFbF" id="4pwDyRARaCS" role="3cqZAp">
<node concept="37vLTw" id="3KN3A4uAbNe" role="3clFbG">
<ref role="3cqZAo" node="3KN3A4uAbNa" resolve="coerceTo" />

View File

@ -396,11 +396,11 @@
<node concept="2OqwBi" id="78H58oeCETT" role="37vLTJ">
<node concept="Xjq3P" id="78H58oeCF2z" role="2Oq$k0" />
<node concept="2OwXpG" id="78H58oeCETW" role="2OqNvi">
<ref role="2Oxat5" node="78H58oeCDR1" resolve="aspectLookup" />
<ref role="2Oxat5" node="78H58oeCDR1" resolve="aspectClique" />
</node>
</node>
<node concept="37vLTw" id="78H58oeCDRd" role="37vLTx">
<ref role="3cqZAo" node="78H58oeCC_9" resolve="aspectLookup" />
<ref role="3cqZAo" node="78H58oeCC_9" resolve="aspectClique" />
</node>
</node>
</node>
@ -432,13 +432,11 @@
</node>
</node>
<node concept="37vLTG" id="78H58oeCC_9" role="3clF46">
<property role="TrG5h" value="aspectLookup" />
<property role="TrG5h" value="aspectClique" />
<node concept="3uibUv" id="78H58oeCCR1" role="1tU5fm">
<ref role="3uigEE" to="fqlx:NKt6ynorWQ" resolve="AspectLookup" />
<node concept="3qUE_q" id="78H58oeCCWj" role="11_B2D">
<node concept="3uibUv" id="78H58oeCCZo" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="16syzq" id="3KN3A4vACD1" role="11_B2D">
<ref role="16sUi3" node="3KN3A4vA$Xq" resolve="T" />
</node>
</node>
</node>
@ -480,11 +478,11 @@
<node concept="2OqwBi" id="78H58oeCFG9" role="37vLTJ">
<node concept="Xjq3P" id="78H58oeCFGa" role="2Oq$k0" />
<node concept="2OwXpG" id="78H58oeCFGb" role="2OqNvi">
<ref role="2Oxat5" node="78H58oeCDR1" resolve="aspectLookup" />
<ref role="2Oxat5" node="78H58oeCDR1" resolve="aspectClique" />
</node>
</node>
<node concept="37vLTw" id="78H58oeCFGc" role="37vLTx">
<ref role="3cqZAo" node="78H58oeCDi5" resolve="aspectLookup" />
<ref role="3cqZAo" node="78H58oeCDi5" resolve="aspectClique" />
</node>
</node>
</node>
@ -542,13 +540,11 @@
</node>
</node>
<node concept="37vLTG" id="78H58oeCDi5" role="3clF46">
<property role="TrG5h" value="aspectLookup" />
<property role="TrG5h" value="aspectClique" />
<node concept="3uibUv" id="78H58oeCDi6" role="1tU5fm">
<ref role="3uigEE" to="fqlx:NKt6ynorWQ" resolve="AspectLookup" />
<node concept="3qUE_q" id="78H58oeCDi7" role="11_B2D">
<node concept="3uibUv" id="78H58oeCDi8" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="16syzq" id="3KN3A4vACOO" role="11_B2D">
<ref role="16sUi3" node="3KN3A4vA$Xq" resolve="T" />
</node>
</node>
</node>
@ -733,7 +729,7 @@
</node>
</node>
</node>
<node concept="3clFbH" id="7DvO2M9pLdh" role="3cqZAp" />
<node concept="3clFbH" id="3KN3A4vCMHE" role="3cqZAp" />
<node concept="3cpWs8" id="12QmIoyMK_E" role="3cqZAp">
<node concept="3cpWsn" id="12QmIoyMK_F" role="3cpWs9">
<property role="TrG5h" value="session" />
@ -743,17 +739,22 @@
<node concept="2ShNRf" id="78H58oeCt5l" role="33vP2m">
<node concept="1pGfFk" id="78H58oeCt1b" role="2ShVmc">
<ref role="37wK5l" to="hano:7DvO2M9VeM1" resolve="RuleProcessingSession" />
<node concept="2OqwBi" id="78H58oeCIHk" role="37wK5m">
<node concept="37vLTw" id="78H58oeCHHZ" role="2Oq$k0">
<ref role="3cqZAo" node="78H58oeCDR1" resolve="aspectLookup" />
</node>
<node concept="liA8E" id="78H58oeCJ_3" role="2OqNvi">
<ref role="37wK5l" to="fqlx:7mB3viLmii2" resolve="allForNode" />
<node concept="37vLTw" id="78H58oeCR6e" role="37wK5m">
<ref role="3cqZAo" node="7kTeLbPtnTq" resolve="node" />
<node concept="1eOMI4" id="3KN3A4vAMyF" role="37wK5m">
<node concept="10QFUN" id="3KN3A4vAMyC" role="1eOMHV">
<node concept="A3Dl8" id="3KN3A4vAMyH" role="10QFUM">
<node concept="3qUE_q" id="3KN3A4vAMyI" role="A3Ik2">
<node concept="3uibUv" id="3KN3A4vAMyJ" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
<node concept="37vLTw" id="78H58oeCUMr" role="37wK5m">
<ref role="3cqZAo" node="6kREIVkLEGt" resolve="repository" />
<node concept="2OqwBi" id="3KN3A4vAMyN" role="10QFUP">
<node concept="liA8E" id="3KN3A4vAMyO" role="2OqNvi">
<ref role="37wK5l" to="fqlx:3KN3A4uUhpW" resolve="aspects" />
</node>
<node concept="37vLTw" id="3KN3A4vCKAN" role="2Oq$k0">
<ref role="3cqZAo" node="78H58oeCDR1" resolve="aspectClique" />
</node>
</node>
</node>
</node>
@ -1069,17 +1070,21 @@
</node>
</node>
<node concept="312cEg" id="78H58oeCDR1" role="jymVt">
<property role="TrG5h" value="aspectLookup" />
<property role="TrG5h" value="aspectClique" />
<node concept="3Tm6S6" id="78H58oeCDR2" role="1B3o_S" />
<node concept="3uibUv" id="78H58oeCDR4" role="1tU5fm">
<ref role="3uigEE" to="fqlx:NKt6ynorWQ" resolve="AspectLookup" />
<node concept="3qUE_q" id="78H58oeCDR5" role="11_B2D">
<node concept="3uibUv" id="78H58oeCDR6" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="16syzq" id="3KN3A4vACWG" role="11_B2D">
<ref role="16sUi3" node="3KN3A4vA$Xq" resolve="T" />
</node>
</node>
</node>
<node concept="16euLQ" id="3KN3A4vA$Xq" role="16eVyc">
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="3KN3A4vABPQ" role="3ztrMU">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
<node concept="312cEu" id="1pPth$lAzAx">
<property role="2bfB8j" value="false" />
@ -1564,6 +1569,11 @@
<ref role="3uigEE" to="unkn:~Single" resolve="Single" />
<node concept="3uibUv" id="55Q$YFtJK$L" role="11_B2D">
<ref role="3uigEE" node="1pPth$lAwc0" resolve="ApplyTemplatesStep" />
<node concept="3qUE_q" id="6vFODDAYgK3" role="11_B2D">
<node concept="3uibUv" id="6vFODDAYhu0" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
</node>
</node>
@ -1599,6 +1609,11 @@
<property role="TrG5h" value="prev" />
<node concept="3uibUv" id="55Q$YFtJUbT" role="1tU5fm">
<ref role="3uigEE" node="1pPth$lAwc0" resolve="ApplyTemplatesStep" />
<node concept="3qUE_q" id="6vFODDAYiK5" role="11_B2D">
<node concept="3uibUv" id="6vFODDAYjpq" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
</node>
<node concept="3clFbS" id="55Q$YFtJUbU" role="1bW5cS">
@ -1640,6 +1655,11 @@
<node concept="1LlUBW" id="55Q$YFtI23F" role="11_B2D">
<node concept="3uibUv" id="55Q$YFtI23G" role="1Lm7xW">
<ref role="3uigEE" node="1pPth$lAwc0" resolve="ApplyTemplatesStep" />
<node concept="3qUE_q" id="6vFODDAYnEe" role="11_B2D">
<node concept="3uibUv" id="6vFODDAYpoH" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
<node concept="3uibUv" id="6tPOoeTcgU8" role="1Lm7xW">
<ref role="3uigEE" to="hano:qubcdtxBiR" resolve="EvaluationTraceExt" />
@ -1684,6 +1704,11 @@
<property role="TrG5h" value="prev" />
<node concept="3uibUv" id="Hg6Enc9a3E" role="1tU5fm">
<ref role="3uigEE" node="1pPth$lAwc0" resolve="ApplyTemplatesStep" />
<node concept="3qUE_q" id="6vFODDAYCy3" role="11_B2D">
<node concept="3uibUv" id="6vFODDAYCy4" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
<node concept="1LFfDK" id="Hg6Enc9a3H" role="33vP2m">
<node concept="3cmrfG" id="Hg6Enc9a3I" role="1LF_Uc">
@ -2327,6 +2352,11 @@
<node concept="1LlUBW" id="Hg6Enc8tAn" role="1tU5fm">
<node concept="3uibUv" id="Hg6Enc8A8x" role="1Lm7xW">
<ref role="3uigEE" node="1pPth$lAwc0" resolve="ApplyTemplatesStep" />
<node concept="3qUE_q" id="6vFODDAYDH5" role="11_B2D">
<node concept="3uibUv" id="6vFODDAYDH6" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
<node concept="3uibUv" id="4BHjwwGA78e" role="1Lm7xW">
<ref role="3uigEE" to="hano:qubcdtxBiR" resolve="EvaluationTraceExt" />
@ -2544,6 +2574,11 @@
<ref role="3uigEE" node="1pPth$lAzAx" resolve="Step" />
<node concept="3uibUv" id="1N_0WA5GiE0" role="11_B2D">
<ref role="3uigEE" node="1pPth$lAwc0" resolve="ApplyTemplatesStep" />
<node concept="3qUE_q" id="6vFODDAYcKB" role="11_B2D">
<node concept="3uibUv" id="6vFODDAYedw" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
</node>
<node concept="312cEg" id="443LGHBSt7P" role="jymVt">

View File

@ -13,7 +13,7 @@
<dependency reexport="false">6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)</dependency>
<dependency reexport="false">8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)</dependency>
<dependency reexport="false">a1250a4d-c090-42c3-ad7c-d298a3357dd4(jetbrains.mps.make.runtime)</dependency>
<dependency reexport="false">517911e5-605f-4310-831b-10d44e0f5237(jetbrains.mps.controlflow)</dependency>
<dependency reexport="true">517911e5-605f-4310-831b-10d44e0f5237(jetbrains.mps.controlflow)</dependency>
<dependency reexport="false">5b1f863d-65a0-41a6-a801-33896be24202(jetbrains.mps.ide.editor)</dependency>
<dependency reexport="false">4d5d9aa1-7b71-4888-9100-1b793e5328a6(jetbrains.mps.coderules.ui)</dependency>
<dependency reexport="false">ffcd9ef5-e931-4da9-a8d1-eb9bf80d19b4(jetbrains.mps.lang.controlflow.runtime)</dependency>

View File

@ -32,6 +32,7 @@
<import index="f4yq" ref="f97d84b2-8bad-4fdd-8ede-da17b3eacf4c/java:hu.akarnokd.rxjava2.swing(jetbrains.mps.coderules/)" />
<import index="av0y" ref="bbf5c548-7111-4a53-a117-cdefc664cf34/java:jetbrains.mps.logic.reactor.program(jetbrains.mps.logic.reactor/)" />
<import index="hano" ref="r:2b43b673-12f9-49ea-8e43-d0c7a401586a(jetbrains.mps.lang.coderules.eval)" />
<import index="fqlx" ref="r:2cc226a9-8a78-4010-b962-823343fd28ff(jetbrains.mps.lang.coderules.aspect)" />
<import index="wyt6" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)" implicit="true" />
</imports>
<registry>
@ -302,6 +303,7 @@
</concept>
<concept id="1160600644654" name="jetbrains.mps.baseLanguage.collections.structure.ListCreatorWithInit" flags="nn" index="Tc6Ow" />
<concept id="1160612413312" name="jetbrains.mps.baseLanguage.collections.structure.AddElementOperation" flags="nn" index="TSZUe" />
<concept id="1165525191778" name="jetbrains.mps.baseLanguage.collections.structure.GetFirstOperation" flags="nn" index="1uHKPH" />
<concept id="7125221305512719026" name="jetbrains.mps.baseLanguage.collections.structure.CollectionType" flags="in" index="3vKaQO" />
<concept id="1184963466173" name="jetbrains.mps.baseLanguage.collections.structure.ToArrayOperation" flags="nn" index="3_kTaI" />
<concept id="1176501494711" name="jetbrains.mps.baseLanguage.collections.structure.IsNotEmptyOperation" flags="nn" index="3GX2aA" />
@ -456,10 +458,13 @@
</node>
<node concept="3cpWs8" id="7WKNeR8ULi0" role="3cqZAp">
<node concept="3cpWsn" id="7WKNeR8ULi1" role="3cpWs9">
<property role="TrG5h" value="aspects" />
<property role="TrG5h" value="acs" />
<node concept="3vKaQO" id="7WKNeR8ULhW" role="1tU5fm">
<node concept="3uibUv" id="78H58oet$6S" role="3O5elw">
<ref role="3uigEE" to="vrzs:7km57Pkjxf4" resolve="ControlflowAspect" />
<node concept="3uibUv" id="3KN3A4v4GuJ" role="3O5elw">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4v4GUr" role="11_B2D">
<ref role="3uigEE" to="vrzs:7km57Pkjxf4" resolve="ControlflowAspect" />
</node>
</node>
</node>
<node concept="2YIFZM" id="78H58oetzW2" role="33vP2m">
@ -484,11 +489,11 @@
</node>
<node concept="3cpWs8" id="6hqFpWnfbDM" role="3cqZAp">
<node concept="3cpWsn" id="6hqFpWnfbDN" role="3cpWs9">
<property role="TrG5h" value="hasTypeAspect" />
<property role="TrG5h" value="hasCFAspect" />
<node concept="10P_77" id="6hqFpWnfbDO" role="1tU5fm" />
<node concept="2OqwBi" id="7WKNeR8UNGb" role="33vP2m">
<node concept="37vLTw" id="7WKNeR8UN2f" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR8ULi1" resolve="aspects" />
<ref role="3cqZAo" node="7WKNeR8ULi1" resolve="acs" />
</node>
<node concept="3GX2aA" id="7WKNeR8UOJy" role="2OqNvi" />
</node>
@ -511,7 +516,7 @@
</node>
</node>
<node concept="37vLTw" id="6hqFpWnfbEh" role="3uHU7B">
<ref role="3cqZAo" node="6hqFpWnfbDN" resolve="hasTypeAspect" />
<ref role="3cqZAo" node="6hqFpWnfbDN" resolve="hasCFAspect" />
</node>
</node>
<node concept="3fqX7Q" id="6hqFpWnfbEi" role="3uHU7w">
@ -855,6 +860,53 @@
</node>
</node>
</node>
<node concept="3cpWs8" id="3KN3A4vD2Jq" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4vD2Jr" role="3cpWs9">
<property role="TrG5h" value="aspectLookup" />
<node concept="3uibUv" id="3KN3A4vD0JT" role="1tU5fm">
<ref role="3uigEE" to="fqlx:NKt6ynorWQ" resolve="AspectLookup" />
<node concept="3uibUv" id="3KN3A4vD0JW" role="11_B2D">
<ref role="3uigEE" to="vrzs:7km57Pkjxf4" resolve="ControlflowAspect" />
</node>
</node>
<node concept="2YIFZM" id="3KN3A4vD2Js" role="33vP2m">
<ref role="37wK5l" to="vrzs:78H58oeCBNZ" resolve="aspectLookup" />
<ref role="1Pybhc" to="vrzs:7km57Pkjxf4" resolve="ControlflowAspect" />
</node>
</node>
</node>
<node concept="3cpWs8" id="3KN3A4vD8og" role="3cqZAp">
<node concept="3cpWsn" id="3KN3A4vD8oh" role="3cpWs9">
<property role="TrG5h" value="acs" />
<node concept="3vKaQO" id="3KN3A4vD8mD" role="1tU5fm">
<node concept="3uibUv" id="3KN3A4vD8mK" role="3O5elw">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4vD8mL" role="11_B2D">
<ref role="3uigEE" to="vrzs:7km57Pkjxf4" resolve="ControlflowAspect" />
</node>
</node>
</node>
<node concept="2OqwBi" id="3KN3A4vD8oi" role="33vP2m">
<node concept="37vLTw" id="3KN3A4vD8oj" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4vD2Jr" resolve="aspectLookup" />
</node>
<node concept="liA8E" id="3KN3A4vD8ok" role="2OqNvi">
<ref role="37wK5l" to="fqlx:7mB3viLmii2" resolve="allForNodes" />
<node concept="37vLTw" id="3KN3A4vD8om" role="37wK5m">
<ref role="3cqZAo" node="6hqFpWnfpcc" resolve="nodes" />
</node>
<node concept="2OqwBi" id="3KN3A4vDcVU" role="37wK5m">
<node concept="37vLTw" id="3KN3A4vDc5s" role="2Oq$k0">
<ref role="3cqZAo" node="6hqFpWnfkNg" resolve="mpsProject" />
</node>
<node concept="liA8E" id="3KN3A4vDe3E" role="2OqNvi">
<ref role="37wK5l" to="z1c3:~Project.getRepository()" resolve="getRepository" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="7WKNeR8TcXy" role="3cqZAp">
<node concept="2OqwBi" id="7WKNeR8TcXz" role="3clFbG">
<node concept="37vLTw" id="7WKNeR8TcX$" role="2Oq$k0">
@ -864,9 +916,11 @@
<node concept="2ShNRf" id="7WKNeR8TcXE" role="25WWJ7">
<node concept="1pGfFk" id="7WKNeR8TcXF" role="2ShVmc">
<ref role="37wK5l" to="1yqb:7WKNeR9fh8j" resolve="ApplyTemplatesStep" />
<node concept="2YIFZM" id="78H58oeKL9D" role="37wK5m">
<ref role="37wK5l" to="vrzs:78H58oeCBNZ" resolve="aspectLookup" />
<ref role="1Pybhc" to="vrzs:7km57Pkjxf4" resolve="ControlflowAspect" />
<node concept="2OqwBi" id="3KN3A4vD9ZU" role="37wK5m">
<node concept="37vLTw" id="3KN3A4vD9lf" role="2Oq$k0">
<ref role="3cqZAo" node="3KN3A4vD8oh" resolve="acs" />
</node>
<node concept="1uHKPH" id="3KN3A4vDaDu" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="7WKNeR8TcXG" role="37wK5m">
<node concept="Xjq3P" id="7WKNeR8TcXH" role="2Oq$k0" />
@ -1443,6 +1497,11 @@
<ref role="3uigEE" to="unkn:~Single" resolve="Single" />
<node concept="3uibUv" id="6Yb9hAqUr3w" role="11_B2D">
<ref role="3uigEE" to="1yqb:1pPth$lAwc0" resolve="ApplyTemplatesStep" />
<node concept="3qUE_q" id="6vFODDAYiK5" role="11_B2D">
<node concept="3uibUv" id="6vFODDAYjpq" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
</node>
</node>
@ -1474,6 +1533,11 @@
<node concept="1LlUBW" id="6Yb9hAqUIFG" role="11_B2D">
<node concept="3uibUv" id="6Yb9hAqUIFH" role="1Lm7xW">
<ref role="3uigEE" to="1yqb:1pPth$lAwc0" resolve="ApplyTemplatesStep" />
<node concept="3qUE_q" id="6vFODDB6Uux" role="11_B2D">
<node concept="3uibUv" id="6vFODDB6WcU" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
<node concept="3uibUv" id="6Yb9hAqUIFI" role="1Lm7xW">
<ref role="3uigEE" to="hano:qubcdtxBiR" resolve="EvaluationTraceExt" />
@ -1659,6 +1723,11 @@
<property role="TrG5h" value="prev" />
<node concept="3uibUv" id="6Yb9hAqUIHg" role="1tU5fm">
<ref role="3uigEE" to="1yqb:1pPth$lAwc0" resolve="ApplyTemplatesStep" />
<node concept="3qUE_q" id="6vFODDAZpMe" role="11_B2D">
<node concept="3uibUv" id="6vFODDAZpMf" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
</node>
</node>

View File

@ -24,6 +24,7 @@
<import index="2gg1" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.errors(MPS.Core/)" />
<import index="d6hs" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.errors.item(MPS.Core/)" />
<import index="hano" ref="r:2b43b673-12f9-49ea-8e43-d0c7a401586a(jetbrains.mps.lang.coderules.eval)" />
<import index="fqlx" ref="r:2cc226a9-8a78-4010-b962-823343fd28ff(jetbrains.mps.lang.coderules.aspect)" />
</imports>
<registry>
<language id="a247e09e-2435-45ba-b8d2-07e93feba96a" name="jetbrains.mps.baseLanguage.tuples">
@ -126,6 +127,9 @@
<property id="521412098689998745" name="nonStatic" index="2bfB8j" />
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
</concept>
<concept id="1171903916106" name="jetbrains.mps.baseLanguage.structure.UpperBoundType" flags="in" index="3qUE_q">
<child id="1171903916107" name="bound" index="3qUE_r" />
</concept>
<concept id="7812454656619025412" name="jetbrains.mps.baseLanguage.structure.LocalMethodCall" flags="nn" index="1rXfSq" />
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
@ -368,6 +372,11 @@
<node concept="1LlUBW" id="6Yb9hAqJSaP" role="11_B2D">
<node concept="3uibUv" id="6Yb9hAqJSaQ" role="1Lm7xW">
<ref role="3uigEE" to="1yqb:1pPth$lAwc0" resolve="ApplyTemplatesStep" />
<node concept="3qUE_q" id="6vFODDAYiK5" role="11_B2D">
<node concept="3uibUv" id="6vFODDAZfM0" role="3qUE_r">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />
</node>
</node>
</node>
<node concept="3uibUv" id="6Yb9hAqJSaR" role="1Lm7xW">
<ref role="3uigEE" to="hano:qubcdtxBiR" resolve="EvaluationTraceExt" />

View File

@ -42,8 +42,6 @@
<child id="5680397130376446158" name="type" index="1tU5fm" />
</concept>
<concept id="1068580123132" name="jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration" flags="ng" index="3clF44">
<property id="4276006055363816570" name="isSynchronized" index="od$2w" />
<property id="1181808852946" name="isFinal" index="DiZV1" />
<child id="1068580123133" name="returnType" index="3clF45" />
<child id="1068580123134" name="parameter" index="3clF46" />
<child id="1068580123135" name="body" index="3clF47" />
@ -64,7 +62,6 @@
<concept id="1107461130800" name="jetbrains.mps.baseLanguage.structure.Classifier" flags="ng" index="3pOWGL">
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
</concept>
<concept id="7812454656619025412" name="jetbrains.mps.baseLanguage.structure.LocalMethodCall" flags="nn" index="1rXfSq" />
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
<child id="1109201940907" name="parameter" index="11_B2D" />
@ -73,7 +70,6 @@
<child id="1178549979242" name="visibility" index="1B3o_S" />
</concept>
<concept id="1146644602865" name="jetbrains.mps.baseLanguage.structure.PublicVisibility" flags="nn" index="3Tm1VV" />
<concept id="1146644623116" name="jetbrains.mps.baseLanguage.structure.PrivateVisibility" flags="nn" index="3Tm6S6" />
<concept id="1116615150612" name="jetbrains.mps.baseLanguage.structure.ClassifierClassExpression" flags="nn" index="3VsKOn">
<reference id="1116615189566" name="classifier" index="3VsUkX" />
</concept>
@ -122,56 +118,26 @@
</node>
</node>
<node concept="3clFbS" id="78H58oeCBLl" role="3clF47">
<node concept="3cpWs6" id="78H58oeCBMC" role="3cqZAp">
<node concept="2YIFZM" id="78H58oeCBMD" role="3cqZAk">
<node concept="3cpWs6" id="3KN3A4v3zE_" role="3cqZAp">
<node concept="2YIFZM" id="3KN3A4v3zEA" role="3cqZAk">
<ref role="1Pybhc" to="fqlx:NKt6ynorWQ" resolve="AspectLookup" />
<ref role="37wK5l" to="fqlx:78H58oefSjC" resolve="lookup" />
<node concept="1rXfSq" id="78H58oeCBME" role="37wK5m">
<ref role="37wK5l" node="78H58oefGzt" resolve="controlflowDiscoverable" />
<node concept="2YIFZM" id="3KN3A4v3zEB" role="37wK5m">
<ref role="1Pybhc" to="fqlx:NKt6yp1COZ" resolve="DefaultCoderulesAspect" />
<ref role="37wK5l" to="fqlx:78H58oefoaA" resolve="discoverable" />
<node concept="3VsKOn" id="3KN3A4v3zEC" role="37wK5m">
<ref role="3VsUkX" node="7km57Pkjxf4" resolve="ControlflowAspect" />
</node>
</node>
<node concept="2YIFZM" id="3KN3A4v3zED" role="37wK5m">
<ref role="37wK5l" to="fqlx:3KN3A4uZLWT" resolve="sidekickDetectable" />
<ref role="1Pybhc" to="fqlx:NKt6yp1COZ" resolve="DefaultCoderulesAspect" />
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="6UWSvq5bjXg" role="jymVt" />
<node concept="2YIFZL" id="2hteS6Cndm6" role="jymVt">
<property role="TrG5h" value="forLanguage" />
<node concept="37vLTG" id="2hteS6Cndm7" role="3clF46">
<property role="TrG5h" value="slang" />
<node concept="3uibUv" id="2hteS6Cndm8" role="1tU5fm">
<ref role="3uigEE" to="c17a:~SLanguage" resolve="SLanguage" />
</node>
</node>
<node concept="37vLTG" id="2hteS6Cndm9" role="3clF46">
<property role="TrG5h" value="repository" />
<node concept="3uibUv" id="3GlpCDS_m$F" role="1tU5fm">
<ref role="3uigEE" to="lui2:~SRepository" resolve="SRepository" />
</node>
</node>
<node concept="3uibUv" id="78H58oefNdl" role="3clF45">
<ref role="3uigEE" node="7km57Pkjxf4" resolve="ControlflowAspect" />
</node>
<node concept="3Tm1VV" id="2hteS6Cndmc" role="1B3o_S" />
<node concept="3clFbS" id="2hteS6Cndmd" role="3clF47">
<node concept="3clFbF" id="NKt6ynqkPu" role="3cqZAp">
<node concept="2OqwBi" id="NKt6ynqlte" role="3clFbG">
<node concept="liA8E" id="NKt6ynqlFW" role="2OqNvi">
<ref role="37wK5l" to="fqlx:NKt6ynp3Wc" resolve="forLanguage" />
<node concept="37vLTw" id="NKt6ynqlMF" role="37wK5m">
<ref role="3cqZAo" node="2hteS6Cndm7" resolve="slang" />
</node>
<node concept="37vLTw" id="NKt6ynqlZL" role="37wK5m">
<ref role="3cqZAo" node="2hteS6Cndm9" resolve="repository" />
</node>
</node>
<node concept="2YIFZM" id="78H58oeCBO3" role="2Oq$k0">
<ref role="1Pybhc" node="7km57Pkjxf4" resolve="ControlflowAspect" />
<ref role="37wK5l" node="78H58oeCBNZ" resolve="aspectLookup" />
</node>
</node>
</node>
</node>
</node>
<node concept="2YIFZL" id="7P_FdVPW9uU" role="jymVt">
<property role="TrG5h" value="allForModel" />
<node concept="37vLTG" id="7P_FdVPWb2y" role="3clF46">
@ -185,8 +151,11 @@
</node>
</node>
<node concept="3vKaQO" id="7P_FdVPWaUF" role="3clF45">
<node concept="3uibUv" id="78H58oefO8e" role="3O5elw">
<ref role="3uigEE" node="7km57Pkjxf4" resolve="ControlflowAspect" />
<node concept="3uibUv" id="3KN3A4v3$yu" role="3O5elw">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4v4FNQ" role="11_B2D">
<ref role="3uigEE" node="7km57Pkjxf4" resolve="ControlflowAspect" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="7P_FdVPW9uX" role="1B3o_S" />
@ -210,104 +179,6 @@
</node>
</node>
</node>
<node concept="2tJIrI" id="7P_FdVQ35vN" role="jymVt" />
<node concept="2YIFZL" id="7P_FdVPWn7D" role="jymVt">
<property role="TrG5h" value="allForLanguage" />
<node concept="37vLTG" id="7P_FdVPWn7E" role="3clF46">
<property role="TrG5h" value="slang" />
<node concept="3uibUv" id="7P_FdVPWn7F" role="1tU5fm">
<ref role="3uigEE" to="c17a:~SLanguage" resolve="SLanguage" />
</node>
</node>
<node concept="37vLTG" id="7P_FdVPWn7G" role="3clF46">
<property role="TrG5h" value="repository" />
<node concept="3uibUv" id="7P_FdVPWn7H" role="1tU5fm">
<ref role="3uigEE" to="lui2:~SRepository" resolve="SRepository" />
</node>
</node>
<node concept="3vKaQO" id="7P_FdVPWn7I" role="3clF45">
<node concept="3uibUv" id="78H58oefOc5" role="3O5elw">
<ref role="3uigEE" node="7km57Pkjxf4" resolve="ControlflowAspect" />
</node>
</node>
<node concept="3Tm1VV" id="7P_FdVPWn7K" role="1B3o_S" />
<node concept="3clFbS" id="7P_FdVPWn7L" role="3clF47">
<node concept="3clFbF" id="NKt6ynquya" role="3cqZAp">
<node concept="2OqwBi" id="NKt6ynquyb" role="3clFbG">
<node concept="liA8E" id="NKt6ynquyh" role="2OqNvi">
<ref role="37wK5l" to="fqlx:NKt6ynoU4W" resolve="allForLanguage" />
<node concept="37vLTw" id="NKt6ynquyi" role="37wK5m">
<ref role="3cqZAo" node="7P_FdVPWn7E" resolve="slang" />
</node>
<node concept="37vLTw" id="NKt6ynquyj" role="37wK5m">
<ref role="3cqZAo" node="7P_FdVPWn7G" resolve="repository" />
</node>
</node>
<node concept="2YIFZM" id="78H58oeCC1h" role="2Oq$k0">
<ref role="1Pybhc" node="7km57Pkjxf4" resolve="ControlflowAspect" />
<ref role="37wK5l" node="78H58oeCBNZ" resolve="aspectLookup" />
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="7P_FdVPWn7C" role="jymVt" />
<node concept="2YIFZL" id="7P_FdVPWjGf" role="jymVt">
<property role="DiZV1" value="false" />
<property role="od$2w" value="false" />
<property role="TrG5h" value="allForLanguage" />
<node concept="37vLTG" id="7P_FdVPWjGg" role="3clF46">
<property role="TrG5h" value="langrt" />
<node concept="3uibUv" id="7P_FdVPWjGh" role="1tU5fm">
<ref role="3uigEE" to="vndm:~LanguageRuntime" resolve="LanguageRuntime" />
</node>
</node>
<node concept="3clFbS" id="7P_FdVPWjGi" role="3clF47">
<node concept="3clFbF" id="NKt6ynqzV4" role="3cqZAp">
<node concept="2OqwBi" id="NKt6ynqzV5" role="3clFbG">
<node concept="liA8E" id="NKt6ynqzVb" role="2OqNvi">
<ref role="37wK5l" to="fqlx:NKt6ynoAJU" resolve="allForLanguage" />
<node concept="37vLTw" id="NKt6ynq$s_" role="37wK5m">
<ref role="3cqZAo" node="7P_FdVPWjGg" resolve="langrt" />
</node>
</node>
<node concept="2YIFZM" id="78H58oeCC1j" role="2Oq$k0">
<ref role="1Pybhc" node="7km57Pkjxf4" resolve="ControlflowAspect" />
<ref role="37wK5l" node="78H58oeCBNZ" resolve="aspectLookup" />
</node>
</node>
</node>
</node>
<node concept="3vKaQO" id="7P_FdVPWlen" role="3clF45">
<node concept="3uibUv" id="78H58oefOfX" role="3O5elw">
<ref role="3uigEE" node="7km57Pkjxf4" resolve="ControlflowAspect" />
</node>
</node>
<node concept="3Tm1VV" id="7P_FdVPWjGp" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="7P_FdVPWjGe" role="jymVt" />
<node concept="2YIFZL" id="78H58oefGzt" role="jymVt">
<property role="TrG5h" value="controlflowDiscoverable" />
<node concept="3Tm6S6" id="78H58oefGzu" role="1B3o_S" />
<node concept="3uibUv" id="78H58oefGzv" role="3clF45">
<ref role="3uigEE" to="fqlx:NKt6ynom3d" resolve="AspectDiscoverable" />
<node concept="3uibUv" id="78H58oefNmj" role="11_B2D">
<ref role="3uigEE" node="7km57Pkjxf4" resolve="ControlflowAspect" />
</node>
</node>
<node concept="3clFbS" id="78H58oefGxh" role="3clF47">
<node concept="3cpWs6" id="78H58oefGyl" role="3cqZAp">
<node concept="2YIFZM" id="78H58oefKuE" role="3cqZAk">
<ref role="1Pybhc" to="fqlx:NKt6yp1COZ" resolve="DefaultCoderulesAspect" />
<ref role="37wK5l" to="fqlx:78H58oefoaA" resolve="discoverable" />
<node concept="3VsKOn" id="78H58oefGyn" role="37wK5m">
<ref role="3VsUkX" node="7km57Pkjxf4" resolve="ControlflowAspect" />
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="2hteS6Cleqc" role="jymVt" />
<node concept="2tJIrI" id="78H58oefMKa" role="jymVt" />
<node concept="3Tm1VV" id="7km57Pkjxf5" role="1B3o_S" />
<node concept="3uibUv" id="NKt6yomOJv" role="EKbjA">

View File

@ -43,8 +43,6 @@
<child id="5680397130376446158" name="type" index="1tU5fm" />
</concept>
<concept id="1068580123132" name="jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration" flags="ng" index="3clF44">
<property id="4276006055363816570" name="isSynchronized" index="od$2w" />
<property id="1181808852946" name="isFinal" index="DiZV1" />
<child id="1068580123133" name="returnType" index="3clF45" />
<child id="1068580123134" name="parameter" index="3clF46" />
<child id="1068580123135" name="body" index="3clF47" />
@ -65,7 +63,6 @@
<concept id="1107461130800" name="jetbrains.mps.baseLanguage.structure.Classifier" flags="ng" index="3pOWGL">
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
</concept>
<concept id="7812454656619025412" name="jetbrains.mps.baseLanguage.structure.LocalMethodCall" flags="nn" index="1rXfSq" />
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
<child id="1109201940907" name="parameter" index="11_B2D" />
@ -74,7 +71,6 @@
<child id="1178549979242" name="visibility" index="1B3o_S" />
</concept>
<concept id="1146644602865" name="jetbrains.mps.baseLanguage.structure.PublicVisibility" flags="nn" index="3Tm1VV" />
<concept id="1146644623116" name="jetbrains.mps.baseLanguage.structure.PrivateVisibility" flags="nn" index="3Tm6S6" />
<concept id="1116615150612" name="jetbrains.mps.baseLanguage.structure.ClassifierClassExpression" flags="nn" index="3VsKOn">
<reference id="1116615189566" name="classifier" index="3VsUkX" />
</concept>
@ -123,56 +119,26 @@
</node>
</node>
<node concept="3clFbS" id="78H58oeCAOe" role="3clF47">
<node concept="3cpWs6" id="78H58oeCAPx" role="3cqZAp">
<node concept="2YIFZM" id="78H58oeCAPy" role="3cqZAk">
<node concept="3cpWs6" id="3KN3A4v4kbC" role="3cqZAp">
<node concept="2YIFZM" id="3KN3A4v4kbD" role="3cqZAk">
<ref role="37wK5l" to="fqlx:78H58oefSjC" resolve="lookup" />
<ref role="1Pybhc" to="fqlx:NKt6ynorWQ" resolve="AspectLookup" />
<node concept="1rXfSq" id="78H58oeCAPz" role="37wK5m">
<ref role="37wK5l" node="78H58oefGzt" resolve="typecheckingDiscoverable" />
<node concept="2YIFZM" id="3KN3A4v4kbE" role="37wK5m">
<ref role="37wK5l" to="fqlx:78H58oefoaA" resolve="discoverable" />
<ref role="1Pybhc" to="fqlx:NKt6yp1COZ" resolve="DefaultCoderulesAspect" />
<node concept="3VsKOn" id="3KN3A4v4kbF" role="37wK5m">
<ref role="3VsUkX" node="7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
<node concept="2YIFZM" id="3KN3A4v4kbG" role="37wK5m">
<ref role="37wK5l" to="fqlx:3KN3A4uZLWT" resolve="sidekickDetectable" />
<ref role="1Pybhc" to="fqlx:NKt6yp1COZ" resolve="DefaultCoderulesAspect" />
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="6UWSvq5bjXg" role="jymVt" />
<node concept="2YIFZL" id="2hteS6Cndm6" role="jymVt">
<property role="TrG5h" value="forLanguage" />
<node concept="37vLTG" id="2hteS6Cndm7" role="3clF46">
<property role="TrG5h" value="slang" />
<node concept="3uibUv" id="2hteS6Cndm8" role="1tU5fm">
<ref role="3uigEE" to="c17a:~SLanguage" resolve="SLanguage" />
</node>
</node>
<node concept="37vLTG" id="2hteS6Cndm9" role="3clF46">
<property role="TrG5h" value="repository" />
<node concept="3uibUv" id="3GlpCDS_m$F" role="1tU5fm">
<ref role="3uigEE" to="lui2:~SRepository" resolve="SRepository" />
</node>
</node>
<node concept="3uibUv" id="78H58oe2vCL" role="3clF45">
<ref role="3uigEE" node="7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
<node concept="3Tm1VV" id="2hteS6Cndmc" role="1B3o_S" />
<node concept="3clFbS" id="2hteS6Cndmd" role="3clF47">
<node concept="3clFbF" id="NKt6ynqkPu" role="3cqZAp">
<node concept="2OqwBi" id="NKt6ynqlte" role="3clFbG">
<node concept="2YIFZM" id="78H58oeCAQW" role="2Oq$k0">
<ref role="1Pybhc" node="7km57Pkjxf4" resolve="TypecheckingAspect" />
<ref role="37wK5l" node="78H58oeCAQS" resolve="aspectLookup" />
</node>
<node concept="liA8E" id="NKt6ynqlFW" role="2OqNvi">
<ref role="37wK5l" to="fqlx:NKt6ynp3Wc" resolve="forLanguage" />
<node concept="37vLTw" id="NKt6ynqlMF" role="37wK5m">
<ref role="3cqZAo" node="2hteS6Cndm7" resolve="slang" />
</node>
<node concept="37vLTw" id="NKt6ynqlZL" role="37wK5m">
<ref role="3cqZAo" node="2hteS6Cndm9" resolve="repository" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2YIFZL" id="7P_FdVPW9uU" role="jymVt">
<property role="TrG5h" value="allForModel" />
<node concept="37vLTG" id="7P_FdVPWb2y" role="3clF46">
@ -186,8 +152,11 @@
</node>
</node>
<node concept="3vKaQO" id="7P_FdVPWaUF" role="3clF45">
<node concept="3uibUv" id="78H58oe2xvT" role="3O5elw">
<ref role="3uigEE" node="7km57Pkjxf4" resolve="TypecheckingAspect" />
<node concept="3uibUv" id="3KN3A4v4ne1" role="3O5elw">
<ref role="3uigEE" to="fqlx:3KN3A4uUhmW" resolve="AspectClique" />
<node concept="3uibUv" id="3KN3A4v4nj3" role="11_B2D">
<ref role="3uigEE" node="7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
<node concept="3Tm1VV" id="7P_FdVPW9uX" role="1B3o_S" />
@ -212,103 +181,6 @@
</node>
</node>
<node concept="2tJIrI" id="7P_FdVQ35vN" role="jymVt" />
<node concept="2YIFZL" id="7P_FdVPWn7D" role="jymVt">
<property role="TrG5h" value="allForLanguage" />
<node concept="37vLTG" id="7P_FdVPWn7E" role="3clF46">
<property role="TrG5h" value="slang" />
<node concept="3uibUv" id="7P_FdVPWn7F" role="1tU5fm">
<ref role="3uigEE" to="c17a:~SLanguage" resolve="SLanguage" />
</node>
</node>
<node concept="37vLTG" id="7P_FdVPWn7G" role="3clF46">
<property role="TrG5h" value="repository" />
<node concept="3uibUv" id="7P_FdVPWn7H" role="1tU5fm">
<ref role="3uigEE" to="lui2:~SRepository" resolve="SRepository" />
</node>
</node>
<node concept="3vKaQO" id="7P_FdVPWn7I" role="3clF45">
<node concept="3uibUv" id="78H58oe2xpU" role="3O5elw">
<ref role="3uigEE" node="7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
<node concept="3Tm1VV" id="7P_FdVPWn7K" role="1B3o_S" />
<node concept="3clFbS" id="7P_FdVPWn7L" role="3clF47">
<node concept="3clFbF" id="NKt6ynquya" role="3cqZAp">
<node concept="2OqwBi" id="NKt6ynquyb" role="3clFbG">
<node concept="liA8E" id="NKt6ynquyh" role="2OqNvi">
<ref role="37wK5l" to="fqlx:NKt6ynoU4W" resolve="allForLanguage" />
<node concept="37vLTw" id="NKt6ynquyi" role="37wK5m">
<ref role="3cqZAo" node="7P_FdVPWn7E" resolve="slang" />
</node>
<node concept="37vLTw" id="NKt6ynquyj" role="37wK5m">
<ref role="3cqZAo" node="7P_FdVPWn7G" resolve="repository" />
</node>
</node>
<node concept="2YIFZM" id="78H58oeCB45" role="2Oq$k0">
<ref role="1Pybhc" node="7km57Pkjxf4" resolve="TypecheckingAspect" />
<ref role="37wK5l" node="78H58oeCAQS" resolve="aspectLookup" />
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="7P_FdVPWn7C" role="jymVt" />
<node concept="2YIFZL" id="7P_FdVPWjGf" role="jymVt">
<property role="DiZV1" value="false" />
<property role="od$2w" value="false" />
<property role="TrG5h" value="allForLanguage" />
<node concept="37vLTG" id="7P_FdVPWjGg" role="3clF46">
<property role="TrG5h" value="langrt" />
<node concept="3uibUv" id="7P_FdVPWjGh" role="1tU5fm">
<ref role="3uigEE" to="vndm:~LanguageRuntime" resolve="LanguageRuntime" />
</node>
</node>
<node concept="3clFbS" id="7P_FdVPWjGi" role="3clF47">
<node concept="3clFbF" id="NKt6ynqzV4" role="3cqZAp">
<node concept="2OqwBi" id="NKt6ynqzV5" role="3clFbG">
<node concept="liA8E" id="NKt6ynqzVb" role="2OqNvi">
<ref role="37wK5l" to="fqlx:NKt6ynoAJU" resolve="allForLanguage" />
<node concept="37vLTw" id="NKt6ynq$s_" role="37wK5m">
<ref role="3cqZAo" node="7P_FdVPWjGg" resolve="langrt" />
</node>
</node>
<node concept="2YIFZM" id="78H58oeCB47" role="2Oq$k0">
<ref role="1Pybhc" node="7km57Pkjxf4" resolve="TypecheckingAspect" />
<ref role="37wK5l" node="78H58oeCAQS" resolve="aspectLookup" />
</node>
</node>
</node>
</node>
<node concept="3vKaQO" id="7P_FdVPWlen" role="3clF45">
<node concept="3uibUv" id="78H58oe2xL5" role="3O5elw">
<ref role="3uigEE" node="7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
<node concept="3Tm1VV" id="7P_FdVPWjGp" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="7P_FdVPWjGe" role="jymVt" />
<node concept="2YIFZL" id="78H58oefGzt" role="jymVt">
<property role="TrG5h" value="typecheckingDiscoverable" />
<node concept="3Tm6S6" id="78H58oefGzu" role="1B3o_S" />
<node concept="3uibUv" id="78H58oefGzv" role="3clF45">
<ref role="3uigEE" to="fqlx:NKt6ynom3d" resolve="AspectDiscoverable" />
<node concept="3uibUv" id="78H58oefGzw" role="11_B2D">
<ref role="3uigEE" node="7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
<node concept="3clFbS" id="78H58oefGxh" role="3clF47">
<node concept="3cpWs6" id="78H58oefGyl" role="3cqZAp">
<node concept="2YIFZM" id="78H58oefKuE" role="3cqZAk">
<ref role="37wK5l" to="fqlx:78H58oefoaA" resolve="discoverable" />
<ref role="1Pybhc" to="fqlx:NKt6yp1COZ" resolve="DefaultCoderulesAspect" />
<node concept="3VsKOn" id="78H58oefGyn" role="37wK5m">
<ref role="3VsUkX" node="7km57Pkjxf4" resolve="TypecheckingAspect" />
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="2hteS6Cleqc" role="jymVt" />
<node concept="3Tm1VV" id="7km57Pkjxf5" role="1B3o_S" />
<node concept="3uibUv" id="NKt6yomOJv" role="EKbjA">
<ref role="3uigEE" to="fqlx:NKt6yomNZE" resolve="CoderulesAspect" />