Introduce open terms, support ad-hoc polymorphism.

A term may indicate that it "extends" another open term.
An extended term has essentially the same form as the one
being extended, so that they can be unified.
This commit is contained in:
Fedor Isakov 2020-01-18 12:08:11 +01:00
parent 70969dfa5c
commit c66e746e77
5 changed files with 807 additions and 487 deletions

View File

@ -38,12 +38,18 @@
<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="1076505808687" name="jetbrains.mps.baseLanguage.structure.WhileStatement" flags="nn" index="2$JKZl">
<child id="1076505808688" name="condition" index="2$JKZa" />
</concept>
<concept id="1188207840427" name="jetbrains.mps.baseLanguage.structure.AnnotationInstance" flags="nn" index="2AHcQZ">
<reference id="1188208074048" name="annotation" index="2AI5Lk" />
</concept>
<concept id="1188208481402" name="jetbrains.mps.baseLanguage.structure.HasAnnotation" flags="ng" index="2AJDlI">
<child id="1188208488637" name="annotation" index="2AJF6D" />
</concept>
<concept id="1154032098014" name="jetbrains.mps.baseLanguage.structure.AbstractLoopStatement" flags="nn" index="2LF5Ji">
<child id="1154032183016" name="body" index="2LFqv$" />
</concept>
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
@ -91,6 +97,7 @@
<concept id="1068580123165" name="jetbrains.mps.baseLanguage.structure.InstanceMethodDeclaration" flags="ig" index="3clFb_">
<property id="1178608670077" name="isAbstract" index="1EzhhJ" />
</concept>
<concept id="1068580123152" name="jetbrains.mps.baseLanguage.structure.EqualsExpression" flags="nn" index="3clFbC" />
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
@ -137,9 +144,16 @@
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
</concept>
<concept id="1081773326031" name="jetbrains.mps.baseLanguage.structure.BinaryOperation" flags="nn" index="3uHJSO">
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
<child id="1081773367580" name="leftExpression" index="3uHU7B" />
</concept>
<concept id="1178549954367" name="jetbrains.mps.baseLanguage.structure.IVisible" flags="ng" index="1B3ioH">
<child id="1178549979242" name="visibility" index="1B3o_S" />
</concept>
<concept id="1206629501431" name="jetbrains.mps.baseLanguage.structure.InstanceInitializer" flags="lg" index="3KIgzJ">
<child id="1206629521979" name="statementList" index="3KIlGz" />
</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">
@ -212,6 +226,7 @@
<child id="1195158608805" name="conditionFunction" index="150hEN" />
<child id="1195158637244" name="caseConsequence" index="150oIE" />
</concept>
<concept id="1225228973247" name="jetbrains.mps.lang.generator.structure.MapSrcMacro_PostMapperFunction" flags="in" index="15lBmy" />
<concept id="1087833241328" name="jetbrains.mps.lang.generator.structure.PropertyMacro" flags="ln" index="17Uvod">
<child id="1167756362303" name="propertyValueFunction" index="3zH0cK" />
</concept>
@ -221,6 +236,7 @@
<concept id="1167327847730" name="jetbrains.mps.lang.generator.structure.Reduction_MappingRule" flags="lg" index="3aamgX">
<child id="1169672767469" name="ruleConsequence" index="1lVwrX" />
</concept>
<concept id="1184690432998" name="jetbrains.mps.lang.generator.structure.TemplateFunctionParameter_outputNode" flags="nn" index="3l3mFP" />
<concept id="1167514355419" name="jetbrains.mps.lang.generator.structure.Root_MappingRule" flags="lg" index="3lhOvk">
<reference id="1167514355421" name="template" index="3lhOvi" />
</concept>
@ -228,6 +244,9 @@
<property id="1169670173015" name="messageText" index="1lLB17" />
<property id="1169670356567" name="messageType" index="1lMjX7" />
</concept>
<concept id="1131073187192" name="jetbrains.mps.lang.generator.structure.MapSrcNodeMacro" flags="ln" index="1pdMLZ">
<child id="1225229330048" name="postMapperFunction" index="15mYut" />
</concept>
<concept id="982871510064032177" name="jetbrains.mps.lang.generator.structure.IParameterizedTemplate" flags="ng" index="1s_3nv">
<child id="982871510064032342" name="parameter" index="1s_3oS" />
</concept>
@ -236,6 +255,7 @@
</concept>
<concept id="1167756080639" name="jetbrains.mps.lang.generator.structure.PropertyMacro_GetPropertyValue" flags="in" index="3zFVjK" />
<concept id="1167770111131" name="jetbrains.mps.lang.generator.structure.ReferenceMacro_GetReferent" flags="in" index="3$xsQk" />
<concept id="1167945743726" name="jetbrains.mps.lang.generator.structure.IfMacro_Condition" flags="in" index="3IZrLx" />
<concept id="1167951910403" name="jetbrains.mps.lang.generator.structure.SourceSubstituteMacro_SourceNodesQuery" flags="in" index="3JmXsc" />
<concept id="8900764248744213868" name="jetbrains.mps.lang.generator.structure.InlineTemplateWithContext_RuleConsequence" flags="lg" index="1Koe21">
<child id="8900764248744213871" name="contentNode" index="1Koe22" />
@ -244,6 +264,9 @@
<child id="1805153994415893199" name="type" index="1N15GL" />
</concept>
<concept id="1168024337012" name="jetbrains.mps.lang.generator.structure.SourceSubstituteMacro_SourceNodeQuery" flags="in" index="3NFfHV" />
<concept id="1118773211870" name="jetbrains.mps.lang.generator.structure.IfMacro" flags="ln" index="1W57fq">
<child id="1167945861827" name="conditionFunction" index="3IZSJc" />
</concept>
<concept id="1118786554307" name="jetbrains.mps.lang.generator.structure.LoopMacro" flags="ln" index="1WS0z7">
<child id="1167952069335" name="sourceNodesQuery" index="3Jn$fo" />
</concept>
@ -343,6 +366,9 @@
<child id="6733348108486823193" name="leftExpression" index="1m5AlR" />
<child id="3906496115198199033" name="conceptArgument" index="3oSUPX" />
</concept>
<concept id="1139184414036" name="jetbrains.mps.lang.smodel.structure.LinkList_AddNewChildOperation" flags="nn" index="WFELt">
<reference id="1139877738879" name="concept" index="1A0vxQ" />
</concept>
<concept id="1171407110247" name="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" flags="nn" index="2Xjw5R" />
<concept id="1139621453865" name="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" flags="nn" index="1mIQ4w">
<child id="1177027386292" name="conceptArgument" index="cj9EA" />
@ -352,6 +378,9 @@
<concept id="1144101972840" name="jetbrains.mps.lang.smodel.structure.OperationParm_Concept" flags="ng" index="1xMEDy">
<child id="1207343664468" name="conceptArgument" index="ri$Ld" />
</concept>
<concept id="1139867745658" name="jetbrains.mps.lang.smodel.structure.Node_ReplaceWithNewOperation" flags="nn" index="1_qnLN">
<reference id="1139867957129" name="concept" index="1_rbq0" />
</concept>
<concept id="6407023681583036853" name="jetbrains.mps.lang.smodel.structure.NodeAttributeQualifier" flags="ng" index="3CFYIy">
<reference id="6407023681583036854" name="attributeConcept" index="3CFYIx" />
</concept>
@ -399,8 +428,22 @@
<concept id="1176906603202" name="jetbrains.mps.baseLanguage.collections.structure.BinaryOperation" flags="nn" index="56pJg">
<child id="1176906787974" name="rightExpression" index="576Qk" />
</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="3358009230509553641" name="jetbrains.mps.baseLanguage.collections.structure.LinkedListType" flags="in" index="2BANLN" />
<concept id="1237721394592" name="jetbrains.mps.baseLanguage.collections.structure.AbstractContainerCreator" flags="nn" index="HWqM0">
<child id="1237721435807" name="elementType" index="HW$YZ" />
</concept>
<concept id="1227008614712" name="jetbrains.mps.baseLanguage.collections.structure.LinkedListCreator" flags="nn" index="2Jqq0_" />
<concept id="1227026082377" name="jetbrains.mps.baseLanguage.collections.structure.RemoveFirstElementOperation" flags="nn" index="2Kt2Hk" />
<concept id="1203518072036" name="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" flags="ig" index="Rh6nW" />
<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" />
<concept id="1165530316231" name="jetbrains.mps.baseLanguage.collections.structure.IsEmptyOperation" flags="nn" index="1v1jN8" />
<concept id="1225711141656" name="jetbrains.mps.baseLanguage.collections.structure.ListElementAccessExpression" flags="nn" index="1y4W85">
<child id="1225711182005" name="list" index="1y566C" />
<child id="1225711191269" name="index" index="1y58nS" />
@ -1306,7 +1349,7 @@
</node>
<node concept="13MO4I" id="35Lj3TiT1Wl">
<property role="TrG5h" value="Ast_Builder" />
<property role="3GE5qa" value="dataform.expression" />
<property role="3GE5qa" value="" />
<ref role="3gUMe" to="5j4j:6$jH9oLmUCq" resolve="DataNodeExpression" />
<node concept="1eOMI4" id="6r6omRldwEj" role="13RCb5">
<node concept="10Nm6u" id="4peSo3CLCDx" role="1eOMHV">
@ -2091,7 +2134,7 @@
</node>
<node concept="312cEu" id="JOGAOsG6LJ">
<property role="TrG5h" value="_DataFormTable" />
<property role="3GE5qa" value="dataform.constructor" />
<property role="3GE5qa" value="" />
<node concept="2tJIrI" id="JOGAOsG6Ml" role="jymVt" />
<node concept="312cEu" id="5hSMZ_lNZg9" role="jymVt">
<property role="2bfB8j" value="false" />
@ -2201,118 +2244,15 @@
</node>
<node concept="3Tm1VV" id="5hSMZ_lNZhW" role="1B3o_S" />
<node concept="3clFbS" id="5hSMZ_lNZhX" role="3clF47">
<node concept="3clFbH" id="4lCLOtwvDoP" role="3cqZAp" />
<node concept="3clFbH" id="4lCLOtwvDpF" role="3cqZAp" />
<node concept="3clFbH" id="4lCLOtwvDqy" role="3cqZAp" />
<node concept="3cpWs6" id="5hSMZ_lNZhY" role="3cqZAp">
<node concept="1oi1Uc" id="5hSMZ_lNZhZ" role="3cqZAk">
<node concept="1oi5UN" id="5hSMZ_lNZi0" role="1oi0x0">
<node concept="1oi5Wm" id="7c96q9twtFA" role="1ojpOf">
<property role="TrG5h" value="_term" />
<node concept="1oi5XN" id="7c96q9twuu3" role="1oi5zu">
<property role="1oi5yK" value="symbol" />
<node concept="17Uvod" id="7c96q9twv9A" role="lGtFl">
<property role="P4ACc" value="35320f26-77cb-4c55-be9f-a97a27770af1/7571593955706137573/7571593955706137638" />
<property role="2qtEX9" value="value" />
<node concept="3zFVjK" id="7c96q9twv9D" role="3zH0cK">
<node concept="3clFbS" id="7c96q9twv9E" role="2VODD2">
<node concept="3clFbF" id="7c96q9twv9K" role="3cqZAp">
<node concept="2OqwBi" id="7c96q9twv9F" role="3clFbG">
<node concept="2qgKlT" id="7c96q9t$RYJ" role="2OqNvi">
<ref role="37wK5l" to="ha02:7c96q9t$Nk0" resolve="symbol" />
</node>
<node concept="30H73N" id="7c96q9twv9J" role="2Oq$k0" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1oi5Wm" id="5hSMZ_lNZi1" role="1ojpOf">
<property role="TrG5h" value="name" />
<node concept="1WS0z7" id="5hSMZ_lNZi2" role="lGtFl">
<node concept="3JmXsc" id="5hSMZ_lNZi3" role="3Jn$fo">
<node concept="3clFbS" id="5hSMZ_lNZi4" role="2VODD2">
<node concept="3clFbF" id="5hSMZ_lNZi5" role="3cqZAp">
<node concept="2OqwBi" id="5hSMZ_lNZi7" role="3clFbG">
<node concept="30H73N" id="5hSMZ_lNZi8" role="2Oq$k0" />
<node concept="2qgKlT" id="7c96q9tG5wV" role="2OqNvi">
<ref role="37wK5l" to="ha02:7c96q9tALRr" resolve="valueFeatures" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="22Ky0T" id="5hSMZ_lNZib" role="lGtFl">
<node concept="2OqwBi" id="5hSMZ_lNZic" role="22Ky0K">
<node concept="Xjq3P" id="5hSMZ_lNZid" role="2Oq$k0">
<ref role="1HBi2w" node="5hSMZ_lNZg9" resolve="_DataFormTable._DataForm" />
</node>
<node concept="liA8E" id="5hSMZ_lNZie" role="2OqNvi">
<ref role="37wK5l" node="5hSMZ_lNZhp" resolve="feature" />
<node concept="1ZhdrF" id="5hSMZ_lNZif" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1204053956946/1068499141037" />
<property role="2qtEX8" value="baseMethodDeclaration" />
<node concept="3$xsQk" id="5hSMZ_lNZig" role="3$ytzL">
<node concept="3clFbS" id="5hSMZ_lNZih" role="2VODD2">
<node concept="3clFbF" id="5hSMZ_lNZii" role="3cqZAp">
<node concept="2OqwBi" id="5hSMZ_lNZij" role="3clFbG">
<node concept="1iwH7S" id="5hSMZ_lNZik" role="2Oq$k0" />
<node concept="1iwH70" id="5hSMZ_lNZil" role="2OqNvi">
<ref role="1iwH77" node="1L74NXG7ihq" resolve="dataformfeature_method" />
<node concept="30H73N" id="5hSMZ_lNZim" role="1iwH7V" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1oi5ST" id="5hSMZ_lNZin" role="1ojpOf">
<property role="TrG5h" value="name" />
<node concept="1WS0z7" id="5hSMZ_lNZio" role="lGtFl">
<node concept="3JmXsc" id="5hSMZ_lNZip" role="3Jn$fo">
<node concept="3clFbS" id="5hSMZ_lNZiq" role="2VODD2">
<node concept="3clFbF" id="5hSMZ_lNZir" role="3cqZAp">
<node concept="2OqwBi" id="5hSMZ_lNZit" role="3clFbG">
<node concept="30H73N" id="5hSMZ_lNZiu" role="2Oq$k0" />
<node concept="2qgKlT" id="7c96q9tG6hO" role="2OqNvi">
<ref role="37wK5l" to="ha02:7c96q9tCSX_" resolve="childFeatures" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="22Ky0T" id="5hSMZ_lNZix" role="lGtFl">
<node concept="2OqwBi" id="5hSMZ_lNZiy" role="22Ky0K">
<node concept="Xjq3P" id="5hSMZ_lNZiz" role="2Oq$k0">
<ref role="1HBi2w" node="5hSMZ_lNZg9" resolve="_DataFormTable._DataForm" />
</node>
<node concept="liA8E" id="5hSMZ_lNZi$" role="2OqNvi">
<ref role="37wK5l" node="5hSMZ_lNZhp" resolve="feature" />
<node concept="1ZhdrF" id="5hSMZ_lNZi_" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1204053956946/1068499141037" />
<property role="2qtEX8" value="baseMethodDeclaration" />
<node concept="3$xsQk" id="5hSMZ_lNZiA" role="3$ytzL">
<node concept="3clFbS" id="5hSMZ_lNZiB" role="2VODD2">
<node concept="3clFbF" id="5hSMZ_lNZiC" role="3cqZAp">
<node concept="2OqwBi" id="5hSMZ_lNZiD" role="3clFbG">
<node concept="1iwH7S" id="5hSMZ_lNZiE" role="2Oq$k0" />
<node concept="1iwH70" id="5hSMZ_lNZiF" role="2OqNvi">
<ref role="1iwH77" node="1L74NXG7ihq" resolve="dataformfeature_method" />
<node concept="30H73N" id="5hSMZ_lNZiG" role="1iwH7V" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1oi5UN" id="4lCLOtwwj6x" role="1oi0x0">
<node concept="1sPUBX" id="4lCLOtwwjm9" role="lGtFl">
<ref role="v9R2y" node="4lCLOtwvFAX" resolve="dataform_builder" />
<node concept="10Nm6u" id="4lCLOtwwjT9" role="v9R3O" />
</node>
</node>
</node>
@ -3252,5 +3192,433 @@
<ref role="2rTdP9" to="5j4j:JOGAOsxiL_" resolve="DataFormFeature" />
</node>
</node>
<node concept="jVnub" id="4lCLOtwvFAX">
<property role="TrG5h" value="dataform_builder" />
<node concept="1N15co" id="4lCLOtwvJyc" role="1s_3oS">
<property role="TrG5h" value="prototypeStack" />
<node concept="2BANLN" id="4lCLOtwvRjl" role="1N15GL">
<node concept="3Tqbb2" id="4lCLOtwvScp" role="_ZDj9">
<ref role="ehGHo" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
</node>
</node>
</node>
<node concept="3aamgX" id="4lCLOtwvW$M" role="3aUrZf">
<property role="36QftV" value="true" />
<ref role="30HIoZ" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
<node concept="1Koe21" id="4lCLOtww00p" role="1lVwrX">
<node concept="9aQIb" id="4lCLOtww00y" role="1Koe22">
<node concept="3clFbS" id="4lCLOtww00z" role="9aQI4">
<node concept="3cpWs6" id="4lCLOtww00A" role="3cqZAp">
<node concept="1oi1Uc" id="4lCLOtww00I" role="3cqZAk">
<node concept="1oi5UN" id="4lCLOtww00J" role="1oi0x0">
<node concept="raruj" id="4lCLOtww0_K" role="lGtFl" />
<node concept="1sPUBX" id="4lCLOtww0NQ" role="lGtFl">
<ref role="v9R2y" node="4lCLOtwvFAX" resolve="dataform_builder" />
<node concept="2OqwBi" id="4vr5SApfugf" role="v9R3O">
<node concept="30H73N" id="4vr5SApftWD" role="2Oq$k0" />
<node concept="2qgKlT" id="4vr5SApfuvX" role="2OqNvi">
<ref role="37wK5l" to="ha02:4lCLOtww4qi" resolve="prototypesStack" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="30G5F_" id="4lCLOtwvYnZ" role="30HLyM">
<node concept="3clFbS" id="4lCLOtwvYo0" role="2VODD2">
<node concept="3clFbF" id="4lCLOtwvYop" role="3cqZAp">
<node concept="3clFbC" id="4lCLOtwvZYp" role="3clFbG">
<node concept="10Nm6u" id="4lCLOtwvZYz" role="3uHU7w" />
<node concept="v3LJS" id="4lCLOtwvYoo" role="3uHU7B">
<ref role="v3LJV" node="4lCLOtwvJyc" resolve="prototypeStack" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3aamgX" id="4lCLOtwvLkd" role="3aUrZf">
<property role="36QftV" value="true" />
<ref role="30HIoZ" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
<node concept="30G5F_" id="4lCLOtwvMqp" role="30HLyM">
<node concept="3clFbS" id="4lCLOtwvMqq" role="2VODD2">
<node concept="3clFbF" id="4lCLOtwvTpG" role="3cqZAp">
<node concept="2OqwBi" id="4vr5SApb5uV" role="3clFbG">
<node concept="v3LJS" id="4vr5SApb5uW" role="2Oq$k0">
<ref role="v3LJV" node="4lCLOtwvJyc" resolve="prototypeStack" />
</node>
<node concept="3GX2aA" id="4vr5SApb5uX" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="1Koe21" id="4lCLOtwvNXb" role="1lVwrX">
<node concept="312cEu" id="4lCLOtwvNXc" role="1Koe22">
<property role="TrG5h" value="_DataForm" />
<node concept="3KIgzJ" id="4lCLOtwvNXd" role="jymVt">
<node concept="3clFbS" id="4lCLOtwvNXe" role="3KIlGz">
<node concept="3cpWs6" id="4vr5SApb73F" role="3cqZAp">
<node concept="1oi1Uc" id="4vr5SApb73G" role="3cqZAk">
<node concept="1oi5UN" id="4vr5SApb73H" role="1oi0x0">
<node concept="raruj" id="4vr5SApb73T" role="lGtFl" />
<node concept="1pdMLZ" id="4vr5SApb91y" role="lGtFl">
<node concept="15lBmy" id="4vr5SApbhK8" role="15mYut">
<node concept="3clFbS" id="4vr5SApbhK9" role="2VODD2">
<node concept="2$JKZl" id="4vr5SApbuIM" role="3cqZAp">
<node concept="3clFbS" id="4vr5SApbuIO" role="2LFqv$">
<node concept="3cpWs8" id="4vr5SApb_lW" role="3cqZAp">
<node concept="3cpWsn" id="4vr5SApb_lX" role="3cpWs9">
<property role="TrG5h" value="dfdecl" />
<node concept="3Tqbb2" id="4vr5SApb_kb" role="1tU5fm">
<ref role="ehGHo" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
</node>
<node concept="2OqwBi" id="4vr5SApb_lY" role="33vP2m">
<node concept="v3LJS" id="4vr5SApb_lZ" role="2Oq$k0">
<ref role="v3LJV" node="4lCLOtwvJyc" resolve="prototypeStack" />
</node>
<node concept="2Kt2Hk" id="4vr5SAplWal" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3cpWs8" id="4vr5SApbA8f" role="3cqZAp">
<node concept="3cpWsn" id="4vr5SApbA8g" role="3cpWs9">
<property role="TrG5h" value="wrapped" />
<node concept="3Tqbb2" id="4vr5SApbA5Y" role="1tU5fm">
<ref role="ehGHo" to="5j4j:6$jH9oLmYC_" resolve="TermNode" />
</node>
<node concept="2OqwBi" id="4vr5SApbA8h" role="33vP2m">
<node concept="3l3mFP" id="4vr5SApbA8i" role="2Oq$k0" />
<node concept="1_qnLN" id="4vr5SApbA8j" role="2OqNvi">
<ref role="1_rbq0" to="5j4j:6$jH9oLmYC_" resolve="TermNode" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="4vr5SApbTXe" role="3cqZAp" />
<node concept="3cpWs8" id="4vr5SApbFJg" role="3cqZAp">
<node concept="3cpWsn" id="4vr5SApbFJh" role="3cpWs9">
<property role="TrG5h" value="_term" />
<node concept="3Tqbb2" id="4vr5SApbFJ6" role="1tU5fm">
<ref role="ehGHo" to="5j4j:6$jH9oLmYI0" resolve="ValueRole" />
</node>
<node concept="2OqwBi" id="4vr5SApbFJi" role="33vP2m">
<node concept="2OqwBi" id="4vr5SApbFJj" role="2Oq$k0">
<node concept="37vLTw" id="4vr5SApbFJk" role="2Oq$k0">
<ref role="3cqZAo" node="4vr5SApbA8g" resolve="wrapped" />
</node>
<node concept="3Tsc0h" id="4vr5SApbFJl" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:6$jH9oLnyAp" resolve="role" />
</node>
</node>
<node concept="WFELt" id="4vr5SApbFJm" role="2OqNvi">
<ref role="1A0vxQ" to="5j4j:6$jH9oLmYI0" resolve="ValueRole" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4vr5SApb_zp" role="3cqZAp">
<node concept="37vLTI" id="4vr5SApbGuk" role="3clFbG">
<node concept="Xl_RD" id="4vr5SApbGuE" role="37vLTx">
<property role="Xl_RC" value="_term" />
</node>
<node concept="2OqwBi" id="4vr5SApbFWc" role="37vLTJ">
<node concept="37vLTw" id="4vr5SApbFJn" role="2Oq$k0">
<ref role="3cqZAo" node="4vr5SApbFJh" resolve="_term" />
</node>
<node concept="3TrcHB" id="4vr5SApbG9Q" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="4vr5SApbSwE" role="3cqZAp">
<node concept="3cpWsn" id="4vr5SApbSwF" role="3cpWs9">
<property role="TrG5h" value="_termName" />
<node concept="3Tqbb2" id="4vr5SApbSwC" role="1tU5fm">
<ref role="ehGHo" to="5j4j:6$jH9oLmYJ_" resolve="Value" />
</node>
<node concept="2OqwBi" id="4vr5SApbSwG" role="33vP2m">
<node concept="2OqwBi" id="4vr5SApbSwH" role="2Oq$k0">
<node concept="37vLTw" id="4vr5SApbSwI" role="2Oq$k0">
<ref role="3cqZAo" node="4vr5SApbFJh" resolve="_term" />
</node>
<node concept="3Tsc0h" id="4vr5SApbSwJ" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:6$jH9oLmYL8" resolve="contents" />
</node>
</node>
<node concept="WFELt" id="4vr5SApbSwK" role="2OqNvi">
<ref role="1A0vxQ" to="5j4j:6$jH9oLmYJ_" resolve="Value" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4vr5SApbMnG" role="3cqZAp">
<node concept="37vLTI" id="4vr5SApbTVA" role="3clFbG">
<node concept="2OqwBi" id="4vr5SApbTaO" role="37vLTJ">
<node concept="37vLTw" id="4vr5SApbSwL" role="2Oq$k0">
<ref role="3cqZAo" node="4vr5SApbSwF" resolve="_termName" />
</node>
<node concept="3TrcHB" id="4vr5SApbTt4" role="2OqNvi">
<ref role="3TsBF5" to="5j4j:6$jH9oLmYKA" resolve="value" />
</node>
</node>
<node concept="2OqwBi" id="4vr5SApc5uG" role="37vLTx">
<node concept="37vLTw" id="4vr5SApc5nT" role="2Oq$k0">
<ref role="3cqZAo" node="4vr5SApb_lX" resolve="dfdecl" />
</node>
<node concept="3TrcHB" id="4vr5SApc5QG" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="4vr5SApbKS8" role="3cqZAp" />
<node concept="3cpWs8" id="4vr5SApc1$z" role="3cqZAp">
<node concept="3cpWsn" id="4vr5SApc1$$" role="3cpWs9">
<property role="TrG5h" value="_subTerm" />
<node concept="3Tqbb2" id="4vr5SApc1$q" role="1tU5fm">
<ref role="ehGHo" to="5j4j:6$jH9oLmYEJ" resolve="ChildRole" />
</node>
<node concept="2OqwBi" id="4vr5SApc1$_" role="33vP2m">
<node concept="2OqwBi" id="4vr5SApc1$A" role="2Oq$k0">
<node concept="37vLTw" id="4vr5SApc1$B" role="2Oq$k0">
<ref role="3cqZAo" node="4vr5SApbA8g" resolve="wrapped" />
</node>
<node concept="3Tsc0h" id="4vr5SApc1$C" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:6$jH9oLnyAp" resolve="role" />
</node>
</node>
<node concept="WFELt" id="4vr5SApc1$D" role="2OqNvi">
<ref role="1A0vxQ" to="5j4j:6$jH9oLmYEJ" resolve="ChildRole" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4vr5SApbUTY" role="3cqZAp">
<node concept="37vLTI" id="4vr5SApc30n" role="3clFbG">
<node concept="Xl_RD" id="4vr5SApc30H" role="37vLTx">
<property role="Xl_RC" value="_subterm" />
</node>
<node concept="2OqwBi" id="4vr5SApc2hq" role="37vLTJ">
<node concept="37vLTw" id="4vr5SApc1$E" role="2Oq$k0">
<ref role="3cqZAo" node="4vr5SApc1$$" resolve="_subTerm" />
</node>
<node concept="3TrcHB" id="4vr5SApc2FP" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4vr5SApbGxW" role="3cqZAp">
<node concept="2OqwBi" id="4vr5SApbIXq" role="3clFbG">
<node concept="2OqwBi" id="4vr5SApbH8n" role="2Oq$k0">
<node concept="37vLTw" id="4vr5SApc33P" role="2Oq$k0">
<ref role="3cqZAo" node="4vr5SApc1$$" resolve="_subTerm" />
</node>
<node concept="3Tsc0h" id="4vr5SApc3dC" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:6$jH9oLmYFB" resolve="contents" />
</node>
</node>
<node concept="TSZUe" id="4vr5SApbK_l" role="2OqNvi">
<node concept="3l3mFP" id="4vr5SApbKGk" role="25WWJ7" />
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="4vr5SApbwkU" role="2$JKZa">
<node concept="v3LJS" id="4vr5SApbuJk" role="2Oq$k0">
<ref role="v3LJV" node="4lCLOtwvJyc" resolve="prototypeStack" />
</node>
<node concept="3GX2aA" id="4vr5SApbydh" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
<node concept="1sPUBX" id="4vr5SApbiG0" role="lGtFl">
<ref role="v9R2y" node="4lCLOtwvFAX" resolve="dataform_builder" />
<node concept="2ShNRf" id="4vr5SApbiKh" role="v9R3O">
<node concept="2Jqq0_" id="4vr5SApbkxE" role="2ShVmc">
<node concept="3Tqbb2" id="4vr5SApbkJK" role="HW$YZ">
<ref role="ehGHo" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="4vr5SApb6YU" role="3cqZAp" />
</node>
</node>
<node concept="3Tm1VV" id="4lCLOtwvNY4" role="1B3o_S" />
</node>
</node>
</node>
<node concept="3aamgX" id="4lCLOtwwaTw" role="3aUrZf">
<property role="36QftV" value="true" />
<ref role="30HIoZ" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
<node concept="30G5F_" id="4lCLOtwwaTx" role="30HLyM">
<node concept="3clFbS" id="4lCLOtwwaTy" role="2VODD2">
<node concept="3clFbF" id="4lCLOtwwaTz" role="3cqZAp">
<node concept="2OqwBi" id="4vr5SApb6F7" role="3clFbG">
<node concept="v3LJS" id="4vr5SApb6F8" role="2Oq$k0">
<ref role="v3LJV" node="4lCLOtwvJyc" resolve="prototypeStack" />
</node>
<node concept="1v1jN8" id="4vr5SApb6F9" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="1Koe21" id="4lCLOtwwaTB" role="1lVwrX">
<node concept="312cEu" id="4lCLOtwwaTC" role="1Koe22">
<property role="TrG5h" value="_DataForm" />
<node concept="3KIgzJ" id="4lCLOtwwaTD" role="jymVt">
<node concept="3clFbS" id="4lCLOtwwaTE" role="3KIlGz">
<node concept="3cpWs6" id="4lCLOtwwaTF" role="3cqZAp">
<node concept="1oi1Uc" id="4lCLOtwwaTG" role="3cqZAk">
<node concept="1oi5UN" id="4lCLOtwwaTH" role="1oi0x0">
<node concept="1oi5Wm" id="4lCLOtwwaTI" role="1ojpOf">
<property role="TrG5h" value="_term" />
<node concept="1oi5XN" id="4lCLOtwwaTJ" role="1oi5zu">
<property role="1oi5yK" value="symbol" />
<node concept="17Uvod" id="4lCLOtwwaTK" role="lGtFl">
<property role="P4ACc" value="35320f26-77cb-4c55-be9f-a97a27770af1/7571593955706137573/7571593955706137638" />
<property role="2qtEX9" value="value" />
<node concept="3zFVjK" id="4lCLOtwwaTL" role="3zH0cK">
<node concept="3clFbS" id="4lCLOtwwaTM" role="2VODD2">
<node concept="3clFbF" id="4lCLOtwwaTN" role="3cqZAp">
<node concept="2OqwBi" id="4lCLOtwwaTO" role="3clFbG">
<node concept="2qgKlT" id="4lCLOtwwaTP" role="2OqNvi">
<ref role="37wK5l" to="ha02:7c96q9t$Nk0" resolve="symbol" />
</node>
<node concept="30H73N" id="4lCLOtwwaTQ" role="2Oq$k0" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1oi5ST" id="4vr5SAptRDh" role="1ojpOf">
<property role="TrG5h" value="_subterm" />
<node concept="2IllgU" id="4vr5SAptSzP" role="1oi5TL" />
<node concept="1W57fq" id="4vr5SAptSzT" role="lGtFl">
<node concept="3IZrLx" id="4vr5SAptSzU" role="3IZSJc">
<node concept="3clFbS" id="4vr5SAptSzV" role="2VODD2">
<node concept="3clFbF" id="4vr5SAptSBX" role="3cqZAp">
<node concept="2OqwBi" id="4vr5SAptSQd" role="3clFbG">
<node concept="30H73N" id="4vr5SAptSBW" role="2Oq$k0" />
<node concept="3TrcHB" id="4vr5SAptT0v" role="2OqNvi">
<ref role="3TsBF5" to="5j4j:4vr5SApqc6O" resolve="open" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1oi5Wm" id="4lCLOtwwaTR" role="1ojpOf">
<property role="TrG5h" value="name" />
<node concept="1WS0z7" id="4lCLOtwwaTS" role="lGtFl">
<node concept="3JmXsc" id="4lCLOtwwaTT" role="3Jn$fo">
<node concept="3clFbS" id="4lCLOtwwaTU" role="2VODD2">
<node concept="3clFbF" id="4lCLOtwwaTV" role="3cqZAp">
<node concept="2OqwBi" id="4lCLOtwwaTW" role="3clFbG">
<node concept="30H73N" id="4lCLOtwwaTX" role="2Oq$k0" />
<node concept="2qgKlT" id="4lCLOtwwaTY" role="2OqNvi">
<ref role="37wK5l" to="ha02:7c96q9tALRr" resolve="valueFeatures" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="22Ky0T" id="4lCLOtwwaTZ" role="lGtFl">
<node concept="2OqwBi" id="4lCLOtwwaU0" role="22Ky0K">
<node concept="Xjq3P" id="4lCLOtwwaU1" role="2Oq$k0">
<ref role="1HBi2w" node="4lCLOtwwaTC" resolve="_DataForm" />
</node>
<node concept="liA8E" id="4lCLOtwwaU2" role="2OqNvi">
<ref role="37wK5l" node="5hSMZ_lNZhp" resolve="feature" />
<node concept="1ZhdrF" id="4lCLOtwwaU3" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1204053956946/1068499141037" />
<property role="2qtEX8" value="baseMethodDeclaration" />
<node concept="3$xsQk" id="4lCLOtwwaU4" role="3$ytzL">
<node concept="3clFbS" id="4lCLOtwwaU5" role="2VODD2">
<node concept="3clFbF" id="4lCLOtwwaU6" role="3cqZAp">
<node concept="2OqwBi" id="4lCLOtwwaU7" role="3clFbG">
<node concept="1iwH7S" id="4lCLOtwwaU8" role="2Oq$k0" />
<node concept="1iwH70" id="4lCLOtwwaU9" role="2OqNvi">
<ref role="1iwH77" node="1L74NXG7ihq" resolve="dataformfeature_method" />
<node concept="30H73N" id="4lCLOtwwaUa" role="1iwH7V" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1oi5ST" id="4lCLOtwwaUb" role="1ojpOf">
<property role="TrG5h" value="name" />
<node concept="1WS0z7" id="4lCLOtwwaUc" role="lGtFl">
<node concept="3JmXsc" id="4lCLOtwwaUd" role="3Jn$fo">
<node concept="3clFbS" id="4lCLOtwwaUe" role="2VODD2">
<node concept="3clFbF" id="4lCLOtwwaUf" role="3cqZAp">
<node concept="2OqwBi" id="4lCLOtwwaUg" role="3clFbG">
<node concept="30H73N" id="4lCLOtwwaUh" role="2Oq$k0" />
<node concept="2qgKlT" id="4lCLOtwwaUi" role="2OqNvi">
<ref role="37wK5l" to="ha02:7c96q9tCSX_" resolve="childFeatures" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="22Ky0T" id="4lCLOtwwaUj" role="lGtFl">
<node concept="2OqwBi" id="4lCLOtwwaUk" role="22Ky0K">
<node concept="Xjq3P" id="4lCLOtwwaUl" role="2Oq$k0">
<ref role="1HBi2w" node="4lCLOtwwaTC" resolve="_DataForm" />
</node>
<node concept="liA8E" id="4lCLOtwwaUm" role="2OqNvi">
<ref role="37wK5l" node="5hSMZ_lNZhp" resolve="feature" />
<node concept="1ZhdrF" id="4lCLOtwwaUn" role="lGtFl">
<property role="P3scX" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1204053956946/1068499141037" />
<property role="2qtEX8" value="baseMethodDeclaration" />
<node concept="3$xsQk" id="4lCLOtwwaUo" role="3$ytzL">
<node concept="3clFbS" id="4lCLOtwwaUp" role="2VODD2">
<node concept="3clFbF" id="4lCLOtwwaUq" role="3cqZAp">
<node concept="2OqwBi" id="4lCLOtwwaUr" role="3clFbG">
<node concept="1iwH7S" id="4lCLOtwwaUs" role="2Oq$k0" />
<node concept="1iwH70" id="4lCLOtwwaUt" role="2OqNvi">
<ref role="1iwH77" node="1L74NXG7ihq" resolve="dataformfeature_method" />
<node concept="30H73N" id="4lCLOtwwaUu" role="1iwH7V" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="raruj" id="4lCLOtwwaUv" role="lGtFl" />
</node>
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="4lCLOtwwaUw" role="1B3o_S" />
</node>
</node>
</node>
</node>
</model>

View File

@ -35,11 +35,24 @@
</language>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
<concept id="1080223426719" name="jetbrains.mps.baseLanguage.structure.OrExpression" flags="nn" index="22lmx$" />
<concept id="1215693861676" name="jetbrains.mps.baseLanguage.structure.BaseAssignmentExpression" flags="nn" index="d038R">
<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="1076505808687" name="jetbrains.mps.baseLanguage.structure.WhileStatement" flags="nn" index="2$JKZl">
<child id="1076505808688" name="condition" index="2$JKZa" />
</concept>
<concept id="1154032098014" name="jetbrains.mps.baseLanguage.structure.AbstractLoopStatement" flags="nn" index="2LF5Ji">
<child id="1154032183016" name="body" index="2LFqv$" />
</concept>
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
</concept>
<concept id="1145552977093" name="jetbrains.mps.baseLanguage.structure.GenericNewExpression" flags="nn" index="2ShNRf">
<child id="1145553007750" name="creator" index="2ShVmc" />
</concept>
<concept id="1137021947720" name="jetbrains.mps.baseLanguage.structure.ConceptFunction" flags="in" index="2VMwT0">
<child id="1137022507850" name="body" index="2VODD2" />
</concept>
@ -53,24 +66,18 @@
<concept id="1068498886296" name="jetbrains.mps.baseLanguage.structure.VariableReference" flags="nn" index="37vLTw">
<reference id="1068581517664" name="variableDeclaration" index="3cqZAo" />
</concept>
<concept id="1068498886292" name="jetbrains.mps.baseLanguage.structure.ParameterDeclaration" flags="ir" index="37vLTG" />
<concept id="1068498886294" name="jetbrains.mps.baseLanguage.structure.AssignmentExpression" flags="nn" index="37vLTI" />
<concept id="1225271177708" name="jetbrains.mps.baseLanguage.structure.StringType" flags="in" index="17QB3L" />
<concept id="1225271283259" name="jetbrains.mps.baseLanguage.structure.NPEEqualsExpression" flags="nn" index="17R0WA" />
<concept id="4972933694980447171" name="jetbrains.mps.baseLanguage.structure.BaseVariableDeclaration" flags="ng" index="19Szcq">
<child id="5680397130376446158" name="type" index="1tU5fm" />
</concept>
<concept id="1068580123132" name="jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration" flags="ng" index="3clF44">
<child id="1068580123133" name="returnType" index="3clF45" />
<child id="1068580123134" name="parameter" index="3clF46" />
<child id="1068580123135" name="body" index="3clF47" />
</concept>
<concept id="1068580123155" name="jetbrains.mps.baseLanguage.structure.ExpressionStatement" flags="nn" index="3clFbF">
<child id="1068580123156" name="expression" index="3clFbG" />
</concept>
<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>
@ -82,12 +89,8 @@
<child id="1068581242865" name="localVariableDeclaration" index="3cpWs9" />
</concept>
<concept id="1068581242863" name="jetbrains.mps.baseLanguage.structure.LocalVariableDeclaration" flags="nr" index="3cpWsn" />
<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" />
</concept>
<concept id="1107535904670" name="jetbrains.mps.baseLanguage.structure.ClassifierType" flags="in" index="3uibUv">
<reference id="1107535924139" name="classifier" index="3uigEE" />
@ -103,7 +106,6 @@
<child id="1350122676458893092" name="text" index="3ndbpf" />
</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" />
</language>
<language id="fd392034-7849-419d-9071-12563d152375" name="jetbrains.mps.baseLanguage.closures">
<concept id="1199569711397" name="jetbrains.mps.baseLanguage.closures.structure.ClosureLiteral" flags="nn" index="1bVj0M">
@ -130,9 +132,6 @@
<child id="3906496115198199033" name="conceptArgument" index="3oSUPX" />
</concept>
<concept id="1143234257716" name="jetbrains.mps.lang.smodel.structure.Node_GetModelOperation" flags="nn" index="I4A8Y" />
<concept id="1145383075378" name="jetbrains.mps.lang.smodel.structure.SNodeListType" flags="in" index="2I9FWS">
<reference id="1145383142433" name="elementConcept" index="2I9WkF" />
</concept>
<concept id="1212008292747" name="jetbrains.mps.lang.smodel.structure.Model_GetLongNameOperation" flags="nn" index="LkI2h" />
<concept id="1171407110247" name="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" flags="nn" index="2Xjw5R" />
<concept id="1154546950173" name="jetbrains.mps.lang.smodel.structure.ConceptReference" flags="ng" index="3gn64h">
@ -199,10 +198,13 @@
<concept id="1151689724996" name="jetbrains.mps.baseLanguage.collections.structure.SequenceType" flags="in" index="A3Dl8">
<child id="1151689745422" name="elementType" index="A3Ik2" />
</concept>
<concept id="1151702311717" name="jetbrains.mps.baseLanguage.collections.structure.ToListOperation" flags="nn" index="ANE8D" />
<concept id="1235566554328" name="jetbrains.mps.baseLanguage.collections.structure.AnyOperation" flags="nn" index="2HwmR7" />
<concept id="3358009230509553641" name="jetbrains.mps.baseLanguage.collections.structure.LinkedListType" flags="in" index="2BANLN" />
<concept id="1237721394592" name="jetbrains.mps.baseLanguage.collections.structure.AbstractContainerCreator" flags="nn" index="HWqM0">
<child id="1237721435807" name="elementType" index="HW$YZ" />
</concept>
<concept id="1227008614712" name="jetbrains.mps.baseLanguage.collections.structure.LinkedListCreator" flags="nn" index="2Jqq0_" />
<concept id="1227022159410" name="jetbrains.mps.baseLanguage.collections.structure.AddFirstElementOperation" flags="nn" index="2Ke4WJ" />
<concept id="1203518072036" name="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" flags="ig" index="Rh6nW" />
<concept id="1160666733551" name="jetbrains.mps.baseLanguage.collections.structure.AddAllElementsOperation" flags="nn" index="X8dFx" />
<concept id="1202120902084" name="jetbrains.mps.baseLanguage.collections.structure.WhereOperation" flags="nn" index="3zZkjj" />
</language>
</registry>
@ -485,37 +487,95 @@
<node concept="13h7C7" id="JOGAOsxFgi">
<property role="3GE5qa" value="dataform.constructor" />
<ref role="13h7C2" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
<node concept="13i0hz" id="4lCLOtww4qi" role="13h7CS">
<property role="TrG5h" value="prototypesStack" />
<node concept="3Tm1VV" id="4lCLOtww4qj" role="1B3o_S" />
<node concept="2BANLN" id="4lCLOtww4G2" role="3clF45">
<node concept="3Tqbb2" id="4lCLOtww4H2" role="_ZDj9">
<ref role="ehGHo" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
</node>
</node>
<node concept="3clFbS" id="4lCLOtww4ql" role="3clF47">
<node concept="3cpWs8" id="4lCLOtww5ju" role="3cqZAp">
<node concept="3cpWsn" id="4lCLOtww5jv" role="3cpWs9">
<property role="TrG5h" value="stack" />
<node concept="2BANLN" id="4lCLOtww5ji" role="1tU5fm">
<node concept="3Tqbb2" id="4lCLOtww5jl" role="_ZDj9">
<ref role="ehGHo" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
</node>
</node>
<node concept="2ShNRf" id="4lCLOtww5jw" role="33vP2m">
<node concept="2Jqq0_" id="4lCLOtww5jx" role="2ShVmc">
<node concept="3Tqbb2" id="4lCLOtww5jy" role="HW$YZ">
<ref role="ehGHo" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="4lCLOtww5EW" role="3cqZAp">
<node concept="3cpWsn" id="4lCLOtww5EX" role="3cpWs9">
<property role="TrG5h" value="prototype" />
<node concept="3Tqbb2" id="4lCLOtww5CJ" role="1tU5fm">
<ref role="ehGHo" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
</node>
<node concept="2OqwBi" id="4lCLOtww5EY" role="33vP2m">
<node concept="13iPFW" id="4lCLOtww5EZ" role="2Oq$k0" />
<node concept="3TrEf2" id="4lCLOtww5F0" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCh" resolve="prototype" />
</node>
</node>
</node>
</node>
<node concept="2$JKZl" id="4lCLOtww5KA" role="3cqZAp">
<node concept="3clFbS" id="4lCLOtww5KC" role="2LFqv$">
<node concept="3clFbF" id="4lCLOtww69v" role="3cqZAp">
<node concept="2OqwBi" id="4lCLOtww7ug" role="3clFbG">
<node concept="37vLTw" id="4lCLOtww69u" role="2Oq$k0">
<ref role="3cqZAo" node="4lCLOtww5jv" resolve="stack" />
</node>
<node concept="2Ke4WJ" id="4lCLOtww8YI" role="2OqNvi">
<node concept="37vLTw" id="4lCLOtww96p" role="25WWJ7">
<ref role="3cqZAo" node="4lCLOtww5EX" resolve="prototype" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4lCLOtww9bJ" role="3cqZAp">
<node concept="37vLTI" id="4lCLOtww9kA" role="3clFbG">
<node concept="2OqwBi" id="4lCLOtww9lB" role="37vLTx">
<node concept="37vLTw" id="4lCLOtww9lb" role="2Oq$k0">
<ref role="3cqZAo" node="4lCLOtww5EX" resolve="prototype" />
</node>
<node concept="3TrEf2" id="4lCLOtww9vN" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCh" resolve="prototype" />
</node>
</node>
<node concept="37vLTw" id="4lCLOtww9bH" role="37vLTJ">
<ref role="3cqZAo" node="4lCLOtww5EX" resolve="prototype" />
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="4lCLOtww5Wm" role="2$JKZa">
<node concept="37vLTw" id="4lCLOtww5Lx" role="2Oq$k0">
<ref role="3cqZAo" node="4lCLOtww5EX" resolve="prototype" />
</node>
<node concept="3x8VRR" id="4lCLOtww66w" role="2OqNvi" />
</node>
</node>
<node concept="3clFbF" id="4lCLOtww4I3" role="3cqZAp">
<node concept="37vLTw" id="4lCLOtww5jz" role="3clFbG">
<ref role="3cqZAo" node="4lCLOtww5jv" resolve="stack" />
</node>
</node>
</node>
</node>
<node concept="13i0hz" id="7c96q9t$Nk0" role="13h7CS">
<property role="TrG5h" value="symbol" />
<node concept="3Tm1VV" id="7c96q9t$Nk1" role="1B3o_S" />
<node concept="17QB3L" id="7c96q9t$SiM" role="3clF45" />
<node concept="3clFbS" id="7c96q9t$Nk3" role="3clF47">
<node concept="3clFbJ" id="7c96q9t$N$B" role="3cqZAp">
<node concept="2OqwBi" id="7c96q9t$OnM" role="3clFbw">
<node concept="2OqwBi" id="7c96q9t$NJr" role="2Oq$k0">
<node concept="13iPFW" id="7c96q9t$N_3" role="2Oq$k0" />
<node concept="3TrEf2" id="7c96q9t$O0W" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCh" resolve="prototype" />
</node>
</node>
<node concept="3x8VRR" id="7c96q9t$OKw" role="2OqNvi" />
</node>
<node concept="3clFbS" id="7c96q9t$N$D" role="3clFbx">
<node concept="3cpWs6" id="7c96q9t$OOY" role="3cqZAp">
<node concept="2OqwBi" id="7c96q9t$PFJ" role="3cqZAk">
<node concept="2OqwBi" id="7c96q9t$P1_" role="2Oq$k0">
<node concept="13iPFW" id="7c96q9t$ORQ" role="2Oq$k0" />
<node concept="3TrEf2" id="7c96q9t$Plg" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCh" resolve="prototype" />
</node>
</node>
<node concept="2qgKlT" id="7c96q9t$Q0r" role="2OqNvi">
<ref role="37wK5l" node="7c96q9t$Nk0" resolve="symbol" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWs6" id="7c96q9t$QdM" role="3cqZAp">
<node concept="2OqwBi" id="7c96q9t$Q_A" role="3cqZAk">
<node concept="13iPFW" id="7c96q9t$Qns" role="2Oq$k0" />
@ -526,81 +586,6 @@
</node>
</node>
</node>
<node concept="13i0hz" id="JOGAOsR58r" role="13h7CS">
<property role="TrG5h" value="allFeatures" />
<node concept="3Tm1VV" id="JOGAOsR58s" role="1B3o_S" />
<node concept="A3Dl8" id="JOGAOsR5_4" role="3clF45">
<node concept="3Tqbb2" id="JOGAOsR5_h" role="A3Ik2">
<ref role="ehGHo" to="5j4j:JOGAOsxiL_" resolve="DataFormFeature" />
</node>
</node>
<node concept="3clFbS" id="JOGAOsR58u" role="3clF47">
<node concept="3clFbJ" id="JOGAOsR5_O" role="3cqZAp">
<node concept="2OqwBi" id="JOGAOsR6qe" role="3clFbw">
<node concept="2OqwBi" id="JOGAOsR5Ks" role="2Oq$k0">
<node concept="13iPFW" id="JOGAOsR5A8" role="2Oq$k0" />
<node concept="3TrEf2" id="JOGAOsR641" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCh" resolve="prototype" />
</node>
</node>
<node concept="3x8VRR" id="JOGAOsR6Nh" role="2OqNvi" />
</node>
<node concept="3clFbS" id="JOGAOsR5_Q" role="3clFbx">
<node concept="3cpWs6" id="JOGAOsR6PO" role="3cqZAp">
<node concept="BsUDl" id="JOGAOsR6SF" role="3cqZAk">
<ref role="37wK5l" node="7c96q9tCfic" resolve="merge" />
<node concept="2OqwBi" id="JOGAOsRaQP" role="37wK5m">
<node concept="2OqwBi" id="JOGAOsR8_x" role="2Oq$k0">
<node concept="2OqwBi" id="JOGAOsR7OS" role="2Oq$k0">
<node concept="2OqwBi" id="JOGAOsR77E" role="2Oq$k0">
<node concept="13iPFW" id="JOGAOsR6WE" role="2Oq$k0" />
<node concept="3TrEf2" id="JOGAOsR7tY" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCh" resolve="prototype" />
</node>
</node>
<node concept="3TrEf2" id="JOGAOsR8ez" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCc" resolve="template" />
</node>
</node>
<node concept="3Tsc0h" id="JOGAOsR8Tf" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:JOGAOsxiLz" resolve="feature" />
</node>
</node>
<node concept="ANE8D" id="JOGAOsRe1t" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="JOGAOsRhDt" role="37wK5m">
<node concept="2OqwBi" id="JOGAOsRf2y" role="2Oq$k0">
<node concept="2OqwBi" id="JOGAOsRel8" role="2Oq$k0">
<node concept="13iPFW" id="JOGAOsRe9f" role="2Oq$k0" />
<node concept="3TrEf2" id="JOGAOsReIL" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCc" resolve="template" />
</node>
</node>
<node concept="3Tsc0h" id="JOGAOsRfpm" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:JOGAOsxiLz" resolve="feature" />
</node>
</node>
<node concept="ANE8D" id="JOGAOsRkKB" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="JOGAOsRl03" role="3cqZAp">
<node concept="2OqwBi" id="JOGAOsRlSs" role="3clFbG">
<node concept="2OqwBi" id="JOGAOsRlcT" role="2Oq$k0">
<node concept="13iPFW" id="JOGAOsRl01" role="2Oq$k0" />
<node concept="3TrEf2" id="JOGAOsRl_R" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCc" resolve="template" />
</node>
</node>
<node concept="3Tsc0h" id="JOGAOsRmbs" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:JOGAOsxiLz" resolve="feature" />
</node>
</node>
</node>
</node>
</node>
<node concept="13i0hz" id="7c96q9tALRr" role="13h7CS">
<property role="TrG5h" value="valueFeatures" />
<node concept="3Tm1VV" id="7c96q9tALRs" role="1B3o_S" />
@ -610,52 +595,6 @@
</node>
</node>
<node concept="3clFbS" id="7c96q9tALRu" role="3clF47">
<node concept="3clFbJ" id="7c96q9tIw76" role="3cqZAp">
<node concept="3clFbS" id="7c96q9tIw77" role="3clFbx">
<node concept="3cpWs6" id="7c96q9tIw78" role="3cqZAp">
<node concept="BsUDl" id="7c96q9tIw79" role="3cqZAk">
<ref role="37wK5l" node="7c96q9tCfic" resolve="merge" />
<node concept="2OqwBi" id="7c96q9tIw7a" role="37wK5m">
<node concept="2OqwBi" id="7c96q9tIw7b" role="2Oq$k0">
<node concept="2qgKlT" id="7c96q9tIy8v" role="2OqNvi">
<ref role="37wK5l" node="7c96q9tALRr" resolve="valueFeatures" />
</node>
<node concept="2OqwBi" id="7c96q9tIw7e" role="2Oq$k0">
<node concept="13iPFW" id="7c96q9tIw7f" role="2Oq$k0" />
<node concept="3TrEf2" id="7c96q9tIxw$" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCh" resolve="prototype" />
</node>
</node>
</node>
<node concept="ANE8D" id="7c96q9tIw7i" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="7c96q9tIw7j" role="37wK5m">
<node concept="2OqwBi" id="7c96q9tIw7k" role="2Oq$k0">
<node concept="2OqwBi" id="7c96q9tIw7l" role="2Oq$k0">
<node concept="13iPFW" id="7c96q9tIw7m" role="2Oq$k0" />
<node concept="3TrEf2" id="7c96q9tIw7n" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCc" resolve="template" />
</node>
</node>
<node concept="2qgKlT" id="7c96q9tIw7o" role="2OqNvi">
<ref role="37wK5l" node="5UYwY$H7MGm" resolve="valueFeatures" />
</node>
</node>
<node concept="ANE8D" id="7c96q9tIw7p" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="7c96q9tIw7q" role="3clFbw">
<node concept="2OqwBi" id="7c96q9tIw7r" role="2Oq$k0">
<node concept="13iPFW" id="7c96q9tIw7s" role="2Oq$k0" />
<node concept="3TrEf2" id="7c96q9tIx1c" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCh" resolve="prototype" />
</node>
</node>
<node concept="3x8VRR" id="7c96q9tIw7v" role="2OqNvi" />
</node>
</node>
<node concept="3clFbF" id="7c96q9tIw7w" role="3cqZAp">
<node concept="2OqwBi" id="7c96q9tIw7x" role="3clFbG">
<node concept="2OqwBi" id="7c96q9tIw7y" role="2Oq$k0">
@ -680,52 +619,6 @@
</node>
</node>
<node concept="3clFbS" id="7c96q9tCSXD" role="3clF47">
<node concept="3clFbJ" id="7c96q9tIyno" role="3cqZAp">
<node concept="3clFbS" id="7c96q9tIynp" role="3clFbx">
<node concept="3cpWs6" id="7c96q9tIynq" role="3cqZAp">
<node concept="BsUDl" id="7c96q9tIynr" role="3cqZAk">
<ref role="37wK5l" node="7c96q9tCfic" resolve="merge" />
<node concept="2OqwBi" id="7c96q9tIyns" role="37wK5m">
<node concept="2OqwBi" id="7c96q9tIynt" role="2Oq$k0">
<node concept="2qgKlT" id="7c96q9tI$4S" role="2OqNvi">
<ref role="37wK5l" node="7c96q9tCSX_" resolve="childFeatures" />
</node>
<node concept="2OqwBi" id="7c96q9tIynw" role="2Oq$k0">
<node concept="13iPFW" id="7c96q9tIynx" role="2Oq$k0" />
<node concept="3TrEf2" id="7c96q9tIzsX" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCh" resolve="prototype" />
</node>
</node>
</node>
<node concept="ANE8D" id="7c96q9tIyn$" role="2OqNvi" />
</node>
<node concept="2OqwBi" id="7c96q9tIyn_" role="37wK5m">
<node concept="2OqwBi" id="7c96q9tIynA" role="2Oq$k0">
<node concept="2OqwBi" id="7c96q9tIynB" role="2Oq$k0">
<node concept="13iPFW" id="7c96q9tIynC" role="2Oq$k0" />
<node concept="3TrEf2" id="7c96q9tIynD" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCc" resolve="template" />
</node>
</node>
<node concept="2qgKlT" id="7c96q9tIynE" role="2OqNvi">
<ref role="37wK5l" node="5UYwY$H7TrL" resolve="childFeatures" />
</node>
</node>
<node concept="ANE8D" id="7c96q9tIynF" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="7c96q9tIynG" role="3clFbw">
<node concept="2OqwBi" id="7c96q9tIynH" role="2Oq$k0">
<node concept="13iPFW" id="7c96q9tIynI" role="2Oq$k0" />
<node concept="3TrEf2" id="7c96q9tIyXt" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:JOGAOsxaCh" resolve="prototype" />
</node>
</node>
<node concept="3x8VRR" id="7c96q9tIynL" role="2OqNvi" />
</node>
</node>
<node concept="3clFbF" id="7c96q9tIynM" role="3cqZAp">
<node concept="2OqwBi" id="7c96q9tIynN" role="3clFbG">
<node concept="2OqwBi" id="7c96q9tIynO" role="2Oq$k0">
@ -741,165 +634,6 @@
</node>
</node>
</node>
<node concept="13i0hz" id="7c96q9tCfic" role="13h7CS">
<property role="TrG5h" value="merge" />
<node concept="37vLTG" id="7c96q9tCh60" role="3clF46">
<property role="TrG5h" value="first" />
<node concept="2I9FWS" id="7c96q9tChcv" role="1tU5fm">
<ref role="2I9WkF" to="5j4j:JOGAOsxiL_" resolve="DataFormFeature" />
</node>
</node>
<node concept="37vLTG" id="7c96q9tCh7H" role="3clF46">
<property role="TrG5h" value="second" />
<node concept="2I9FWS" id="7c96q9tChdC" role="1tU5fm">
<ref role="2I9WkF" to="5j4j:JOGAOsxiL_" resolve="DataFormFeature" />
</node>
</node>
<node concept="3Tm6S6" id="7c96q9tCh4d" role="1B3o_S" />
<node concept="2I9FWS" id="7c96q9tChek" role="3clF45">
<ref role="2I9WkF" to="5j4j:JOGAOsxiL_" resolve="DataFormFeature" />
</node>
<node concept="3clFbS" id="7c96q9tCfif" role="3clF47">
<node concept="3cpWs8" id="7c96q9tCheC" role="3cqZAp">
<node concept="3cpWsn" id="7c96q9tCheD" role="3cpWs9">
<property role="TrG5h" value="result" />
<node concept="_YKpA" id="7c96q9tCheE" role="1tU5fm">
<node concept="3Tqbb2" id="7c96q9tCheF" role="_ZDj9">
<ref role="ehGHo" to="5j4j:JOGAOsxiL_" resolve="DataFormFeature" />
</node>
</node>
<node concept="2OqwBi" id="7c96q9tCheG" role="33vP2m">
<node concept="2OqwBi" id="7c96q9tCheH" role="2Oq$k0">
<node concept="37vLTw" id="7c96q9tCh$H" role="2Oq$k0">
<ref role="3cqZAo" node="7c96q9tCh60" resolve="first" />
</node>
<node concept="3zZkjj" id="7c96q9tCheJ" role="2OqNvi">
<node concept="1bVj0M" id="7c96q9tCheK" role="23t8la">
<node concept="3clFbS" id="7c96q9tCheL" role="1bW5cS">
<node concept="3clFbF" id="7c96q9tCheM" role="3cqZAp">
<node concept="3fqX7Q" id="7c96q9tCheN" role="3clFbG">
<node concept="2OqwBi" id="7c96q9tCheO" role="3fr31v">
<node concept="37vLTw" id="7c96q9tChIp" role="2Oq$k0">
<ref role="3cqZAo" node="7c96q9tCh7H" resolve="second" />
</node>
<node concept="2HwmR7" id="7c96q9tCheQ" role="2OqNvi">
<node concept="1bVj0M" id="7c96q9tCheR" role="23t8la">
<node concept="3clFbS" id="7c96q9tCheS" role="1bW5cS">
<node concept="3clFbF" id="7c96q9tCheT" role="3cqZAp">
<node concept="17R0WA" id="7c96q9tCheU" role="3clFbG">
<node concept="2OqwBi" id="7c96q9tCheV" role="3uHU7B">
<node concept="37vLTw" id="7c96q9tCheW" role="2Oq$k0">
<ref role="3cqZAo" node="7c96q9tChf1" resolve="it" />
</node>
<node concept="3TrcHB" id="7c96q9tCheX" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
<node concept="2OqwBi" id="7c96q9tCheY" role="3uHU7w">
<node concept="37vLTw" id="7c96q9tCheZ" role="2Oq$k0">
<ref role="3cqZAo" node="7c96q9tChf3" resolve="f" />
</node>
<node concept="3TrcHB" id="7c96q9tChf0" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="7c96q9tChf1" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="7c96q9tChf2" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="7c96q9tChf3" role="1bW2Oz">
<property role="TrG5h" value="f" />
<node concept="2jxLKc" id="7c96q9tChf4" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="ANE8D" id="7c96q9tChf5" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3clFbF" id="7c96q9tCmJX" role="3cqZAp">
<node concept="2OqwBi" id="7c96q9tCovv" role="3clFbG">
<node concept="37vLTw" id="7c96q9tCmJV" role="2Oq$k0">
<ref role="3cqZAo" node="7c96q9tCheD" resolve="result" />
</node>
<node concept="X8dFx" id="7c96q9tCv2_" role="2OqNvi">
<node concept="2OqwBi" id="7c96q9tC_I$" role="25WWJ7">
<node concept="2OqwBi" id="7c96q9tC_0x" role="2Oq$k0">
<node concept="37vLTw" id="7c96q9tC_0y" role="2Oq$k0">
<ref role="3cqZAo" node="7c96q9tCh7H" resolve="second" />
</node>
<node concept="3zZkjj" id="7c96q9tC_0z" role="2OqNvi">
<node concept="1bVj0M" id="7c96q9tC_0$" role="23t8la">
<node concept="3clFbS" id="7c96q9tC_0_" role="1bW5cS">
<node concept="3clFbF" id="7c96q9tC_0A" role="3cqZAp">
<node concept="3fqX7Q" id="7c96q9tC_0B" role="3clFbG">
<node concept="2OqwBi" id="7c96q9tC_0C" role="3fr31v">
<node concept="37vLTw" id="7c96q9tC_0D" role="2Oq$k0">
<ref role="3cqZAo" node="7c96q9tCheD" resolve="result" />
</node>
<node concept="2HwmR7" id="7c96q9tC_0E" role="2OqNvi">
<node concept="1bVj0M" id="7c96q9tC_0F" role="23t8la">
<node concept="3clFbS" id="7c96q9tC_0G" role="1bW5cS">
<node concept="3clFbF" id="7c96q9tC_0H" role="3cqZAp">
<node concept="17R0WA" id="7c96q9tC_0I" role="3clFbG">
<node concept="2OqwBi" id="7c96q9tC_0J" role="3uHU7w">
<node concept="37vLTw" id="7c96q9tC_0K" role="2Oq$k0">
<ref role="3cqZAo" node="7c96q9tC_0R" resolve="f" />
</node>
<node concept="3TrcHB" id="7c96q9tC_0L" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
<node concept="2OqwBi" id="7c96q9tC_0M" role="3uHU7B">
<node concept="37vLTw" id="7c96q9tC_0N" role="2Oq$k0">
<ref role="3cqZAo" node="7c96q9tC_0P" resolve="it" />
</node>
<node concept="3TrcHB" id="7c96q9tC_0O" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="7c96q9tC_0P" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="7c96q9tC_0Q" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="7c96q9tC_0R" role="1bW2Oz">
<property role="TrG5h" value="f" />
<node concept="2jxLKc" id="7c96q9tC_0S" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="ANE8D" id="7c96q9tCA89" role="2OqNvi" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="7c96q9tCATz" role="3cqZAp">
<node concept="37vLTw" id="7c96q9tCATx" role="3clFbG">
<ref role="3cqZAo" node="7c96q9tCheD" resolve="result" />
</node>
</node>
</node>
</node>
<node concept="13i0hz" id="4MEOIDG83_h" role="13h7CS">
<property role="TrG5h" value="runtimeClassName" />
<node concept="3Tm1VV" id="4MEOIDG83_i" role="1B3o_S" />
@ -908,7 +642,7 @@
<node concept="3clFbF" id="4MEOIDG8lha" role="3cqZAp">
<node concept="3cpWs3" id="4MEOIDG8moh" role="3clFbG">
<node concept="Xl_RD" id="4MEOIDG8mok" role="3uHU7w">
<property role="Xl_RC" value="_DF" />
<property role="Xl_RC" value="_dataform" />
</node>
<node concept="2OqwBi" id="4MEOIDG8lrk" role="3uHU7B">
<node concept="13iPFW" id="4MEOIDG8lh8" role="2Oq$k0" />

View File

@ -31,6 +31,12 @@
</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="1188207840427" name="jetbrains.mps.baseLanguage.structure.AnnotationInstance" flags="nn" index="2AHcQZ">
<reference id="1188208074048" name="annotation" index="2AI5Lk" />
</concept>
<concept id="1188208481402" name="jetbrains.mps.baseLanguage.structure.HasAnnotation" flags="ng" index="2AJDlI">
<child id="1188208488637" name="annotation" index="2AJF6D" />
</concept>
<concept id="1197027756228" name="jetbrains.mps.baseLanguage.structure.DotExpression" flags="nn" index="2OqwBi">
<child id="1197027771414" name="operand" index="2Oq$k0" />
<child id="1197027833540" name="operation" index="2OqNvi" />
@ -118,6 +124,7 @@
<child id="1081773367579" name="rightExpression" index="3uHU7w" />
<child id="1081773367580" name="leftExpression" index="3uHU7B" />
</concept>
<concept id="1073239437375" name="jetbrains.mps.baseLanguage.structure.NotEqualsExpression" flags="nn" index="3y3z36" />
<concept id="1178549954367" name="jetbrains.mps.baseLanguage.structure.IVisible" flags="ng" index="1B3ioH">
<child id="1178549979242" name="visibility" index="1B3o_S" />
</concept>
@ -125,6 +132,7 @@
<child id="1350122676458893092" name="text" index="3ndbpf" />
</concept>
<concept id="1146644602865" name="jetbrains.mps.baseLanguage.structure.PublicVisibility" flags="nn" index="3Tm1VV" />
<concept id="1080120340718" name="jetbrains.mps.baseLanguage.structure.AndExpression" flags="nn" index="1Wc70l" />
<concept id="1170345865475" name="jetbrains.mps.baseLanguage.structure.AnonymousClass" flags="ig" index="1Y3b0j">
<reference id="1170346070688" name="classifier" index="1Y3XeK" />
</concept>
@ -143,6 +151,7 @@
<concept id="1147468365020" name="jetbrains.mps.lang.constraints.structure.ConstraintsFunctionParameter_node" flags="nn" index="EsrRn" />
<concept id="1212096972063" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_PropertyValidator" flags="in" index="QB0g5" />
<concept id="5564765827938091039" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_ReferentSearchScope_Scope" flags="ig" index="3dgokm" />
<concept id="1163200647017" name="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_referenceNode" flags="nn" index="3kakTB" />
<concept id="1213093968558" name="jetbrains.mps.lang.constraints.structure.ConceptConstraints" flags="ng" index="1M2fIO">
<reference id="1213093996982" name="concept" index="1M2myG" />
<child id="6702802731807532712" name="canBeParent" index="9SGkU" />
@ -187,6 +196,7 @@
<child id="6733348108486823193" name="leftExpression" index="1m5AlR" />
<child id="3906496115198199033" name="conceptArgument" index="3oSUPX" />
</concept>
<concept id="1171310072040" name="jetbrains.mps.lang.smodel.structure.Node_GetContainingRootOperation" flags="nn" index="2Rxl7S" />
<concept id="1171407110247" name="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" flags="nn" index="2Xjw5R" />
<concept id="1180031783296" name="jetbrains.mps.lang.smodel.structure.Concept_IsSubConceptOfOperation" flags="nn" index="2Zo12i">
<child id="1180031783297" name="conceptArgument" index="2Zo12j" />
@ -302,6 +312,7 @@
<concept id="1151702311717" name="jetbrains.mps.baseLanguage.collections.structure.ToListOperation" flags="nn" index="ANE8D" />
<concept id="1203518072036" name="jetbrains.mps.baseLanguage.collections.structure.SmartClosureParameterDeclaration" flags="ig" index="Rh6nW" />
<concept id="1201792049884" name="jetbrains.mps.baseLanguage.collections.structure.TranslateOperation" flags="nn" index="3goQfb" />
<concept id="1202120902084" name="jetbrains.mps.baseLanguage.collections.structure.WhereOperation" flags="nn" index="3zZkjj" />
</language>
</registry>
<node concept="1M2fIO" id="3qvzBqWDzqQ">
@ -993,5 +1004,103 @@
</node>
</node>
</node>
<node concept="1M2fIO" id="4vr5SAprtjH">
<property role="3GE5qa" value="dataform.constructor" />
<ref role="1M2myG" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
<node concept="1N5Pfh" id="4vr5SAprtjI" role="1Mr941">
<ref role="1N5Vy1" to="5j4j:JOGAOsxaCh" resolve="prototype" />
<node concept="3dgokm" id="4vr5SAprtjM" role="1N6uqs">
<node concept="3clFbS" id="4vr5SAprtjO" role="2VODD2">
<node concept="3clFbF" id="4vr5SAprAV$" role="3cqZAp">
<node concept="2ShNRf" id="4vr5SAprAVw" role="3clFbG">
<node concept="YeOm9" id="4vr5SAprCap" role="2ShVmc">
<node concept="1Y3b0j" id="4vr5SAprCas" role="YeSDq">
<property role="2bfB8j" value="true" />
<ref role="37wK5l" to="o8zo:4IP40Bi3e_T" resolve="ListScope" />
<ref role="1Y3XeK" to="o8zo:4IP40Bi3e_R" resolve="ListScope" />
<node concept="3Tm1VV" id="4vr5SAprCat" role="1B3o_S" />
<node concept="2OqwBi" id="4vr5SAprBxA" role="37wK5m">
<node concept="2OqwBi" id="4vr5SAprBxB" role="2Oq$k0">
<node concept="1PxgMI" id="4vr5SAprBxC" role="2Oq$k0">
<property role="1BlNFB" value="true" />
<node concept="chp4Y" id="4vr5SAprBxD" role="3oSUPX">
<ref role="cht4Q" to="5j4j:JOGAOsxaCw" resolve="DataFormTable" />
</node>
<node concept="2OqwBi" id="4vr5SAprBxE" role="1m5AlR">
<node concept="2rP1CM" id="4vr5SAprBxF" role="2Oq$k0" />
<node concept="2Rxl7S" id="4vr5SAprBxG" role="2OqNvi" />
</node>
</node>
<node concept="3Tsc0h" id="4vr5SAprBxH" role="2OqNvi">
<ref role="3TtcxE" to="5j4j:JOGAOsxaCx" resolve="contents" />
</node>
</node>
<node concept="3zZkjj" id="4vr5SAprBxI" role="2OqNvi">
<node concept="1bVj0M" id="4vr5SAprBxJ" role="23t8la">
<node concept="3clFbS" id="4vr5SAprBxK" role="1bW5cS">
<node concept="3clFbF" id="4vr5SAprBxL" role="3cqZAp">
<node concept="1Wc70l" id="4vr5SAprBxM" role="3clFbG">
<node concept="2OqwBi" id="4vr5SAprBxN" role="3uHU7w">
<node concept="37vLTw" id="4vr5SAprBxO" role="2Oq$k0">
<ref role="3cqZAo" node="4vr5SAprBxT" resolve="it" />
</node>
<node concept="3TrcHB" id="4vr5SAprBxP" role="2OqNvi">
<ref role="3TsBF5" to="5j4j:4vr5SApqc6O" resolve="open" />
</node>
</node>
<node concept="3y3z36" id="4vr5SAprBxQ" role="3uHU7B">
<node concept="37vLTw" id="4vr5SAprBxR" role="3uHU7B">
<ref role="3cqZAo" node="4vr5SAprBxT" resolve="it" />
</node>
<node concept="3kakTB" id="4vr5SAprBxS" role="3uHU7w" />
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="4vr5SAprBxT" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="4vr5SAprBxU" role="1tU5fm" />
</node>
</node>
</node>
</node>
<node concept="3clFb_" id="4vr5SAprCmQ" role="jymVt">
<property role="TrG5h" value="getName" />
<node concept="17QB3L" id="4vr5SAprCmR" role="3clF45" />
<node concept="3Tm1VV" id="4vr5SAprCmS" role="1B3o_S" />
<node concept="37vLTG" id="4vr5SAprCmU" role="3clF46">
<property role="TrG5h" value="child" />
<node concept="3Tqbb2" id="4vr5SAprCmV" role="1tU5fm" />
</node>
<node concept="3clFbS" id="4vr5SAprCmX" role="3clF47">
<node concept="3clFbF" id="4vr5SAprC_k" role="3cqZAp">
<node concept="2OqwBi" id="4vr5SAprD8G" role="3clFbG">
<node concept="1PxgMI" id="4vr5SAprCX0" role="2Oq$k0">
<property role="1BlNFB" value="true" />
<node concept="chp4Y" id="4vr5SAprCZN" role="3oSUPX">
<ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
<node concept="37vLTw" id="4vr5SAprC_j" role="1m5AlR">
<ref role="3cqZAo" node="4vr5SAprCmU" resolve="child" />
</node>
</node>
<node concept="3TrcHB" id="4vr5SAprDhl" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="4vr5SAprCmY" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -388,6 +388,7 @@
<child id="1178549979242" name="visibility" index="1B3o_S" />
</concept>
<concept id="1146644602865" name="jetbrains.mps.baseLanguage.structure.PublicVisibility" flags="nn" index="3Tm1VV" />
<concept id="1080120340718" name="jetbrains.mps.baseLanguage.structure.AndExpression" flags="nn" index="1Wc70l" />
</language>
<language id="fd392034-7849-419d-9071-12563d152375" name="jetbrains.mps.baseLanguage.closures">
<concept id="1199569711397" name="jetbrains.mps.baseLanguage.closures.structure.ClosureLiteral" flags="nn" index="1bVj0M">
@ -3413,6 +3414,57 @@
<node concept="IW6AY" id="JOGAOsxCR1">
<property role="3GE5qa" value="dataform.constructor" />
<ref role="aqKnT" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
<node concept="1Qtc8_" id="4vr5SApqcy2" role="IW6Ez">
<node concept="3cWJ9i" id="4vr5SApqcOk" role="1Qtc8$">
<node concept="CtIbL" id="4vr5SApqcOm" role="CtIbM">
<property role="CtIbK" value="1A4kJjlVmVt/LEFT" />
</node>
</node>
<node concept="IWgqT" id="4vr5SApqdtK" role="1Qtc8A">
<node concept="1hCUdq" id="4vr5SApqdtL" role="1hCUd6">
<node concept="3clFbS" id="4vr5SApqdtM" role="2VODD2">
<node concept="3clFbF" id="4vr5SApqiha" role="3cqZAp">
<node concept="Xl_RD" id="4vr5SApqih9" role="3clFbG">
<property role="Xl_RC" value="open" />
</node>
</node>
</node>
</node>
<node concept="IWg2L" id="4vr5SApqdtN" role="IWgqQ">
<node concept="3clFbS" id="4vr5SApqdtO" role="2VODD2">
<node concept="3clFbF" id="4vr5SApqjZs" role="3cqZAp">
<node concept="2OqwBi" id="4vr5SApqkCU" role="3clFbG">
<node concept="2OqwBi" id="4vr5SApqk7W" role="2Oq$k0">
<node concept="7Obwk" id="4vr5SApqjZr" role="2Oq$k0" />
<node concept="3TrcHB" id="4vr5SApqkkh" role="2OqNvi">
<ref role="3TsBF5" to="5j4j:4vr5SApqc6O" resolve="open" />
</node>
</node>
<node concept="tyxLq" id="4vr5SApqkSb" role="2OqNvi">
<node concept="3clFbT" id="4vr5SApqkU2" role="tz02z">
<property role="3clFbU" value="true" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="27VH4U" id="4vr5SApqiif" role="2jiSrf">
<node concept="3clFbS" id="4vr5SApqiig" role="2VODD2">
<node concept="3clFbF" id="4vr5SApqimm" role="3cqZAp">
<node concept="3fqX7Q" id="4vr5SApqiNL" role="3clFbG">
<node concept="2OqwBi" id="4vr5SApqiNN" role="3fr31v">
<node concept="7Obwk" id="4vr5SApqiNO" role="2Oq$k0" />
<node concept="3TrcHB" id="4vr5SApqiNP" role="2OqNvi">
<ref role="3TsBF5" to="5j4j:4vr5SApqc6O" resolve="open" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="1Qtc8_" id="7c96q9tzBpk" role="IW6Ez">
<node concept="3cWJ9i" id="7c96q9tzBpo" role="1Qtc8$">
<node concept="CtIbL" id="7c96q9tzBpq" role="CtIbM">
@ -3443,10 +3495,20 @@
<node concept="1bVj0M" id="7c96q9tzR0y" role="23t8la">
<node concept="3clFbS" id="7c96q9tzR0z" role="1bW5cS">
<node concept="3clFbF" id="7c96q9tzR0$" role="3cqZAp">
<node concept="3y3z36" id="7c96q9tzR0_" role="3clFbG">
<node concept="7Obwk" id="7c96q9tzR0A" role="3uHU7w" />
<node concept="37vLTw" id="7c96q9tzR0B" role="3uHU7B">
<ref role="3cqZAo" node="7c96q9tzR0C" resolve="it" />
<node concept="1Wc70l" id="4vr5SApr8jn" role="3clFbG">
<node concept="2OqwBi" id="4vr5SApr8BG" role="3uHU7w">
<node concept="37vLTw" id="4vr5SApr8n_" role="2Oq$k0">
<ref role="3cqZAo" node="7c96q9tzR0C" resolve="it" />
</node>
<node concept="3TrcHB" id="4vr5SApr93N" role="2OqNvi">
<ref role="3TsBF5" to="5j4j:4vr5SApqc6O" resolve="open" />
</node>
</node>
<node concept="3y3z36" id="7c96q9tzR0_" role="3uHU7B">
<node concept="37vLTw" id="7c96q9tzR0B" role="3uHU7B">
<ref role="3cqZAo" node="7c96q9tzR0C" resolve="it" />
</node>
<node concept="7Obwk" id="7c96q9tzR0A" role="3uHU7w" />
</node>
</node>
</node>
@ -3507,6 +3569,23 @@
<property role="3GE5qa" value="dataform.constructor" />
<ref role="1XX52x" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
<node concept="3EZMnI" id="4MEOIDFttNp" role="2wV5jI">
<node concept="3F0ifn" id="4vr5SApqlad" role="3EZMnx">
<property role="3F0ifm" value="open" />
<ref role="1k5W1q" node="4aJUH_hW38r" resolve="RuleKeyword" />
<ref role="1ERwB7" node="4vr5SAprGdP" resolve="DataForm_open_DELETE" />
<node concept="pkWqt" id="4vr5SApqlag" role="pqm2j">
<node concept="3clFbS" id="4vr5SApqlah" role="2VODD2">
<node concept="3clFbF" id="4vr5SApqlas" role="3cqZAp">
<node concept="2OqwBi" id="4vr5SApqloG" role="3clFbG">
<node concept="pncrf" id="4vr5SApqlar" role="2Oq$k0" />
<node concept="3TrcHB" id="4vr5SApql_h" role="2OqNvi">
<ref role="3TsBF5" to="5j4j:4vr5SApqc6O" resolve="open" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3F0A7n" id="4MEOIDFttNA" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
<ref role="1k5W1q" node="4bWqD4C2vDI" resolve="Term" />
@ -4336,5 +4415,30 @@
</node>
</node>
</node>
<node concept="1h_SRR" id="4vr5SAprGdP">
<property role="3GE5qa" value="dataform.constructor" />
<property role="TrG5h" value="DataForm_open_DELETE" />
<ref role="1h_SK9" to="5j4j:JOGAOsxaC9" resolve="DataFormDeclaration" />
<node concept="1hA7zw" id="4vr5SAprGdQ" role="1h_SK8">
<property role="1hAc7j" value="g_hAxAO/delete_action_id" />
<node concept="1hAIg9" id="4vr5SAprGdR" role="1hA7z_">
<node concept="3clFbS" id="4vr5SAprGdS" role="2VODD2">
<node concept="3clFbF" id="4vr5SAprGe9" role="3cqZAp">
<node concept="2OqwBi" id="4vr5SAprGRk" role="3clFbG">
<node concept="2OqwBi" id="4vr5SAprGmD" role="2Oq$k0">
<node concept="0IXxy" id="4vr5SAprGe8" role="2Oq$k0" />
<node concept="3TrcHB" id="4vr5SAprGyF" role="2OqNvi">
<ref role="3TsBF5" to="5j4j:4vr5SApqc6O" resolve="open" />
</node>
</node>
<node concept="tyxLq" id="4vr5SAprH6J" role="2OqNvi">
<node concept="3clFbT" id="4vr5SAprH8A" role="tz02z" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</model>

View File

@ -514,6 +514,11 @@
<property role="TrG5h" value="DataFormDeclaration" />
<property role="3GE5qa" value="dataform.constructor" />
<ref role="1TJDcQ" to="tpck:gw2VY9q" resolve="BaseConcept" />
<node concept="1TJgyi" id="4vr5SApqc6O" role="1TKVEl">
<property role="IQ2nx" value="5177758076344254900" />
<property role="TrG5h" value="open" />
<ref role="AX2Wp" to="tpck:fKAQMTB" resolve="boolean" />
</node>
<node concept="1TJgyj" id="JOGAOsxaCc" role="1TKVEi">
<property role="IQ2ns" value="861509610434243084" />
<property role="20lmBu" value="fLJjDmT/aggregation" />