Nice printing of Ast nodes to make debugging of typechecking rules easier

This commit is contained in:
Fedor Isakov 2015-04-11 16:20:41 +02:00
parent bdbfd508d9
commit 29e6d168b8
10 changed files with 2537 additions and 449 deletions

View File

@ -25,6 +25,7 @@
<import index="yg8f" ref="r:e213377a-f1a7-4ba7-9d08-96bcb97ed8ce(jetbrains.mps.logic.builtin)" />
<import index="fxg7" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.io(JDK/java.io@java_stub)" />
<import index="5j4j" ref="r:c8fb1c5e-8204-4904-a38f-678899d447c1(jetbrains.mps.logic.structure)" />
<import index="4t1t" ref="r:703839e2-c38f-4b71-8602-72ccb87dd74e(jetbrains.mps.lang.typesystem2.runtime.util)" />
</imports>
<registry>
<language id="13744753-c81f-424a-9c1b-cf8943bf4e86" name="jetbrains.mps.lang.sharedConcepts">
@ -6954,8 +6955,8 @@
<ref role="30HIoZ" to="5j4j:7E86$tKskWj" resolve="LogicalValue" />
<node concept="gft3U" id="7jC45KccKR9" role="1lVwrX">
<node concept="2YIFZM" id="7jC45KccKZV" role="gfFT$">
<ref role="37wK5l" to="qiww:1lUeO1NbZUR" resolve="anchorTree" />
<ref role="1Pybhc" to="qiww:6ntBQ9KIZRc" resolve="AnchorUtil" />
<ref role="37wK5l" to="4t1t:4peSo3CD1Kr" resolve="anchorTree" />
<ref role="1Pybhc" to="4t1t:4peSo3CD1Kp" resolve="AnchorUtil" />
<node concept="10Nm6u" id="7jC45KccL0o" role="37wK5m">
<node concept="29HgVG" id="7jC45KccL0G" role="lGtFl">
<node concept="3NFfHV" id="7jC45KccL0H" role="3NFExx">

View File

@ -46,7 +46,6 @@
<reference id="1188214555875" name="key" index="2B6OnR" />
<child id="1188214607812" name="value" index="2B70Vg" />
</concept>
<concept id="1461424660015405635" name="jetbrains.mps.baseLanguage.structure.EscapeOperation" flags="nn" index="EvHYZ" />
<concept id="1224848483129" name="jetbrains.mps.baseLanguage.structure.IBLDeprecatable" flags="ng" index="IEa8$">
<property id="1224848525476" name="isDeprecated" index="IEkAT" />
</concept>
@ -155,7 +154,6 @@
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
<child id="1107880067339" name="method" index="3MN40a" />
</concept>
<concept id="1171903607971" name="jetbrains.mps.baseLanguage.structure.WildCardType" flags="in" index="3qTvmN" />
<concept id="7812454656619025416" name="jetbrains.mps.baseLanguage.structure.MethodDeclaration" flags="ng" index="1rXfSm">
<property id="8355037393041754995" name="isNative" index="2aFKle" />
</concept>
@ -191,23 +189,7 @@
<concept id="1146644623116" name="jetbrains.mps.baseLanguage.structure.PrivateVisibility" flags="nn" index="3Tm6S6" />
</language>
<language id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel">
<concept id="1177026924588" name="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" flags="nn" index="chp4Y">
<reference id="1177026940964" name="conceptDeclaration" index="cht4Q" />
</concept>
<concept id="1145404486709" name="jetbrains.mps.lang.smodel.structure.SemanticDowncastExpression" flags="nn" index="2JrnkZ">
<child id="1145404616321" name="leftExpression" index="2JrQYb" />
</concept>
<concept id="1139621453865" name="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" flags="nn" index="1mIQ4w">
<child id="1177027386292" name="conceptArgument" index="cj9EA" />
</concept>
<concept id="1140137987495" name="jetbrains.mps.lang.smodel.structure.SNodeTypeCastExpression" flags="nn" index="1PxgMI">
<reference id="1140138128738" name="concept" index="1PxNhF" />
<child id="1140138123956" name="leftExpression" index="1PxMeX" />
</concept>
<concept id="1138055754698" name="jetbrains.mps.lang.smodel.structure.SNodeType" flags="in" index="3Tqbb2" />
<concept id="1138056022639" name="jetbrains.mps.lang.smodel.structure.SPropertyAccess" flags="nn" index="3TrcHB">
<reference id="1138056395725" name="property" index="3TsBF5" />
</concept>
<concept id="1172420572800" name="jetbrains.mps.lang.smodel.structure.SConceptType" flags="in" index="3THzug" />
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
@ -215,39 +197,6 @@
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
<language id="daafa647-f1f7-4b0b-b096-69cd7c8408c0" name="jetbrains.mps.baseLanguage.regexp">
<concept id="1174909099093" name="jetbrains.mps.baseLanguage.regexp.structure.MatchVariableReferenceRegexp" flags="ng" index="2e2xP4">
<reference id="1174909113141" name="match" index="2e2_8$" />
</concept>
<concept id="1175161264766" name="jetbrains.mps.baseLanguage.regexp.structure.LineStartRegexp" flags="ng" index="2t4tHJ" />
<concept id="1175169009571" name="jetbrains.mps.baseLanguage.regexp.structure.FindMatchStatement" flags="nn" index="2ty0qM">
<child id="1175169023932" name="expr" index="2ty3UH" />
<child id="1175169154112" name="body" index="2tyzPh" />
</concept>
<concept id="1174482804200" name="jetbrains.mps.baseLanguage.regexp.structure.PlusRegexp" flags="ng" index="1OClNT" />
<concept id="1174482808826" name="jetbrains.mps.baseLanguage.regexp.structure.StarRegexp" flags="ng" index="1OCmVF" />
<concept id="1174484562151" name="jetbrains.mps.baseLanguage.regexp.structure.SeqRegexp" flags="ng" index="1OJ37Q" />
<concept id="1174485167097" name="jetbrains.mps.baseLanguage.regexp.structure.BinaryRegexp" flags="ng" index="1OLmFC">
<child id="1174485176897" name="left" index="1OLpdg" />
<child id="1174485181039" name="right" index="1OLqdY" />
</concept>
<concept id="1174485235885" name="jetbrains.mps.baseLanguage.regexp.structure.UnaryRegexp" flags="ng" index="1OLBAW">
<child id="1174485243418" name="regexp" index="1OLDsb" />
</concept>
<concept id="1174510540317" name="jetbrains.mps.baseLanguage.regexp.structure.InlineRegexpExpression" flags="nn" index="1Qi9sc">
<child id="1174510571016" name="regexp" index="1QigWp" />
</concept>
<concept id="1174556813606" name="jetbrains.mps.baseLanguage.regexp.structure.DotRegexp" flags="ng" index="1T2EwR" />
<concept id="1174564062919" name="jetbrains.mps.baseLanguage.regexp.structure.MatchParensRegexp" flags="ng" index="1Tukvm">
<child id="1174564160889" name="regexp" index="1TuGhC" />
</concept>
<concept id="1174565027678" name="jetbrains.mps.baseLanguage.regexp.structure.MatchVariableReference" flags="nn" index="1TxZTf">
<reference id="1174565035929" name="match" index="1Ty1U8" />
</concept>
<concept id="1174653354106" name="jetbrains.mps.baseLanguage.regexp.structure.RegexpUsingConstruction" flags="ng" index="1YMW5F">
<child id="1174653387388" name="regexp" index="1YN4dH" />
</concept>
</language>
<language id="83888646-71ce-4f1c-9c53-c54016f6ad4f" name="jetbrains.mps.baseLanguage.collections">
<concept id="1176906603202" name="jetbrains.mps.baseLanguage.collections.structure.BinaryOperation" flags="nn" index="56pJg">
<child id="1176906787974" name="rightExpression" index="576Qk" />
@ -449,306 +398,6 @@
<property role="TrG5h" value="S" />
</node>
</node>
<node concept="312cEu" id="6ntBQ9KIZRc">
<property role="TrG5h" value="AnchorUtil" />
<node concept="2tJIrI" id="6ntBQ9KJ1cF" role="jymVt" />
<node concept="2YIFZL" id="1lUeO1NbZUR" role="jymVt">
<property role="TrG5h" value="anchorTree" />
<node concept="37vLTG" id="1lUeO1Nc1F3" role="3clF46">
<property role="TrG5h" value="node" />
<node concept="3Tqbb2" id="1lUeO1Nc1HN" role="1tU5fm" />
</node>
<node concept="3uibUv" id="2ev$9JFmkVr" role="3clF45">
<ref role="3uigEE" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
</node>
<node concept="3Tm1VV" id="1lUeO1NbZUU" role="1B3o_S" />
<node concept="3clFbS" id="1lUeO1NbZUV" role="3clF47">
<node concept="3clFbF" id="2ev$9JF_T40" role="3cqZAp">
<node concept="2YIFZM" id="2ev$9JF_T4G" role="3clFbG">
<ref role="37wK5l" to="ie8e:5JQSuNsxMzt" resolve="create" />
<ref role="1Pybhc" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
<node concept="2YIFZM" id="2ev$9JF_T5g" role="37wK5m">
<ref role="1Pybhc" node="6ntBQ9KIZRc" resolve="AnchorUtil" />
<ref role="37wK5l" node="6YyAPwCTFuv" resolve="anchor" />
<node concept="37vLTw" id="2ev$9JF_T5h" role="37wK5m">
<ref role="3cqZAo" node="1lUeO1Nc1F3" resolve="node" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="6YyAPwCTH5$" role="jymVt" />
<node concept="2YIFZL" id="6YyAPwCTFuv" role="jymVt">
<property role="TrG5h" value="anchor" />
<node concept="3Tm6S6" id="6YyAPwCTFuw" role="1B3o_S" />
<node concept="3uibUv" id="2ev$9JF_T7C" role="3clF45">
<ref role="3uigEE" to="ie8e:1bm7a6EXvsP" resolve="ITreePart" />
<node concept="3qTvmN" id="2ev$9JF_Uo1" role="11_B2D" />
</node>
<node concept="37vLTG" id="6YyAPwCTFuj" role="3clF46">
<property role="TrG5h" value="node" />
<node concept="3Tqbb2" id="6YyAPwCTFuk" role="1tU5fm" />
</node>
<node concept="3clFbS" id="6YyAPwCTFsH" role="3clF47">
<node concept="3clFbJ" id="6YyAPwCTFsI" role="3cqZAp">
<node concept="3clFbS" id="6YyAPwCTFsJ" role="3clFbx">
<node concept="3cpWs6" id="6SZa6nhEj0C" role="3cqZAp">
<node concept="2YIFZM" id="6SZa6nhEnaU" role="3cqZAk">
<ref role="37wK5l" to="ie8e:5JQSuNsxhfn" resolve="create" />
<ref role="1Pybhc" to="ie8e:5JQSuNswOXL" resolve="ChildrenBranch" />
<node concept="Xl_RD" id="6SZa6nhEqtd" role="37wK5m">
<property role="Xl_RC" value="node" />
</node>
<node concept="2YIFZM" id="6SZa6nhEqte" role="37wK5m">
<ref role="37wK5l" to="ie8e:5JQSuNsx4I5" resolve="value" />
<ref role="1Pybhc" to="ie8e:5JQSuNsx4Gq" resolve="Builder" />
<node concept="Xl_RD" id="6SZa6nhEqtf" role="37wK5m">
<property role="Xl_RC" value="node" />
</node>
<node concept="Xl_RD" id="6SZa6nhEqtg" role="37wK5m">
<property role="Xl_RC" value="null" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbC" id="6YyAPwCTFsR" role="3clFbw">
<node concept="10Nm6u" id="6YyAPwCTFsS" role="3uHU7w" />
<node concept="37vLTw" id="6YyAPwCTFuo" role="3uHU7B">
<ref role="3cqZAo" node="6YyAPwCTFuj" resolve="node" />
</node>
</node>
</node>
<node concept="3clFbH" id="6YyAPwCTFsU" role="3cqZAp" />
<node concept="3cpWs8" id="6YyAPwCTFsV" role="3cqZAp">
<node concept="3cpWsn" id="6YyAPwCTFsW" role="3cpWs9">
<property role="TrG5h" value="cpt" />
<node concept="17QB3L" id="6YyAPwCTFsX" role="1tU5fm" />
<node concept="2OqwBi" id="6YyAPwCTFsY" role="33vP2m">
<node concept="2OqwBi" id="6YyAPwCTFsZ" role="2Oq$k0">
<node concept="2JrnkZ" id="6YyAPwCTFt0" role="2Oq$k0">
<node concept="37vLTw" id="6YyAPwCTFuq" role="2JrQYb">
<ref role="3cqZAo" node="6YyAPwCTFuj" resolve="node" />
</node>
</node>
<node concept="liA8E" id="6YyAPwCTFt2" role="2OqNvi">
<ref role="37wK5l" to="ec5l:~SNode.getConcept():org.jetbrains.mps.openapi.language.SConcept" resolve="getConcept" />
</node>
</node>
<node concept="liA8E" id="6YyAPwCTFt3" role="2OqNvi">
<ref role="37wK5l" to="t3eg:~SAbstractConcept.getName():java.lang.String" resolve="getName" />
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="6YyAPwCTFt4" role="3cqZAp">
<node concept="3cpWsn" id="6YyAPwCTFt5" role="3cpWs9">
<property role="TrG5h" value="id" />
<node concept="17QB3L" id="6YyAPwCTFt6" role="1tU5fm" />
<node concept="2YIFZM" id="6YyAPwCTFt7" role="33vP2m">
<ref role="37wK5l" to="e2lb:~String.valueOf(java.lang.Object):java.lang.String" resolve="valueOf" />
<ref role="1Pybhc" to="e2lb:~String" resolve="String" />
<node concept="2OqwBi" id="6YyAPwCTFt8" role="37wK5m">
<node concept="2JrnkZ" id="6YyAPwCTFt9" role="2Oq$k0">
<node concept="37vLTw" id="6YyAPwCTFup" role="2JrQYb">
<ref role="3cqZAo" node="6YyAPwCTFuj" resolve="node" />
</node>
</node>
<node concept="liA8E" id="6YyAPwCTFtb" role="2OqNvi">
<ref role="37wK5l" to="ec5l:~SNode.getNodeId():org.jetbrains.mps.openapi.model.SNodeId" resolve="getNodeId" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="6YyAPwCTFtc" role="3cqZAp" />
<node concept="3clFbJ" id="6YyAPwCTFtd" role="3cqZAp">
<node concept="3clFbS" id="6YyAPwCTFte" role="3clFbx">
<node concept="3cpWs8" id="6YyAPwCTFtf" role="3cqZAp">
<node concept="3cpWsn" id="6YyAPwCTFtg" role="3cpWs9">
<property role="TrG5h" value="name" />
<node concept="17QB3L" id="6YyAPwCTFth" role="1tU5fm" />
<node concept="2OqwBi" id="6YyAPwCTFti" role="33vP2m">
<node concept="1PxgMI" id="6YyAPwCTFtj" role="2Oq$k0">
<ref role="1PxNhF" to="tpck:h0TrEE$" resolve="INamedConcept" />
<node concept="37vLTw" id="6YyAPwCTFun" role="1PxMeX">
<ref role="3cqZAo" node="6YyAPwCTFuj" resolve="node" />
</node>
</node>
<node concept="3TrcHB" id="6YyAPwCTFtl" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
<node concept="3cpWs6" id="6SZa6nhEwLh" role="3cqZAp">
<node concept="2YIFZM" id="6SZa6nhE$vH" role="3cqZAk">
<ref role="37wK5l" to="ie8e:5JQSuNsxhfn" resolve="create" />
<ref role="1Pybhc" to="ie8e:5JQSuNswOXL" resolve="ChildrenBranch" />
<node concept="Xl_RD" id="6SZa6nhE_Mh" role="37wK5m">
<property role="Xl_RC" value="node" />
</node>
<node concept="2YIFZM" id="6SZa6nhE_Mi" role="37wK5m">
<ref role="1Pybhc" to="ie8e:5JQSuNsx4Gq" resolve="Builder" />
<ref role="37wK5l" to="ie8e:5JQSuNsx4I5" resolve="value" />
<node concept="Xl_RD" id="6SZa6nhE_Mj" role="37wK5m">
<property role="Xl_RC" value="concept" />
</node>
<node concept="37vLTw" id="6SZa6nhE_Mk" role="37wK5m">
<ref role="3cqZAo" node="6YyAPwCTFsW" resolve="cpt" />
</node>
</node>
<node concept="2YIFZM" id="6SZa6nhE_Ml" role="37wK5m">
<ref role="1Pybhc" to="ie8e:5JQSuNsx4Gq" resolve="Builder" />
<ref role="37wK5l" to="ie8e:5JQSuNsx4I5" resolve="value" />
<node concept="Xl_RD" id="6SZa6nhE_Mm" role="37wK5m">
<property role="Xl_RC" value="name" />
</node>
<node concept="37vLTw" id="6SZa6nhE_Mn" role="37wK5m">
<ref role="3cqZAo" node="6YyAPwCTFtg" resolve="name" />
</node>
</node>
<node concept="2YIFZM" id="6SZa6nhE_Mo" role="37wK5m">
<ref role="1Pybhc" to="ie8e:5JQSuNsx4Gq" resolve="Builder" />
<ref role="37wK5l" to="ie8e:5JQSuNsx4I5" resolve="value" />
<node concept="Xl_RD" id="6SZa6nhE_Mp" role="37wK5m">
<property role="Xl_RC" value="id" />
</node>
<node concept="37vLTw" id="6SZa6nhE_Mq" role="37wK5m">
<ref role="3cqZAo" node="6YyAPwCTFt5" resolve="id" />
</node>
</node>
</node>
</node>
</node>
<node concept="2OqwBi" id="6YyAPwCTFtz" role="3clFbw">
<node concept="37vLTw" id="6YyAPwCTFum" role="2Oq$k0">
<ref role="3cqZAo" node="6YyAPwCTFuj" resolve="node" />
</node>
<node concept="1mIQ4w" id="6YyAPwCTFt_" role="2OqNvi">
<node concept="chp4Y" id="6YyAPwCTFtA" role="cj9EA">
<ref role="cht4Q" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="6YyAPwCTFtB" role="3cqZAp" />
<node concept="3cpWs8" id="6YyAPwCTFtC" role="3cqZAp">
<node concept="3cpWsn" id="6YyAPwCTFtD" role="3cpWs9">
<property role="TrG5h" value="text" />
<node concept="17QB3L" id="6YyAPwCTFtE" role="1tU5fm" />
<node concept="2OqwBi" id="6YyAPwCTFtF" role="33vP2m">
<node concept="2YIFZM" id="6YyAPwCTFtG" role="2Oq$k0">
<ref role="1Pybhc" to="e2lb:~String" resolve="String" />
<ref role="37wK5l" to="e2lb:~String.valueOf(java.lang.Object):java.lang.String" resolve="valueOf" />
<node concept="37vLTw" id="6YyAPwCTFul" role="37wK5m">
<ref role="3cqZAo" node="6YyAPwCTFuj" resolve="node" />
</node>
</node>
<node concept="EvHYZ" id="6YyAPwCTFtI" role="2OqNvi" />
</node>
</node>
</node>
<node concept="2ty0qM" id="6YyAPwCTFtJ" role="3cqZAp">
<node concept="1Qi9sc" id="6YyAPwCTFtK" role="1YN4dH">
<node concept="1OJ37Q" id="6YyAPwCTFtL" role="1QigWp">
<node concept="2t4tHJ" id="6YyAPwCTFtM" role="1OLpdg" />
<node concept="1OJ37Q" id="6YyAPwCTFtN" role="1OLqdY">
<node concept="1Tukvm" id="6YyAPwCTFtO" role="1OLpdg">
<property role="TrG5h" value="ascii" />
<node concept="1OClNT" id="6YyAPwCTFtP" role="1TuGhC">
<node concept="2e2xP4" id="6YyAPwCTFtQ" role="1OLDsb">
<ref role="2e2_8$" node="6YyAPwCTFtO" resolve="ascii" />
</node>
</node>
</node>
<node concept="1OCmVF" id="6YyAPwCTFtR" role="1OLqdY">
<node concept="1T2EwR" id="6YyAPwCTFtS" role="1OLDsb" />
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="6YyAPwCTFtT" role="2ty3UH">
<ref role="3cqZAo" node="6YyAPwCTFtD" resolve="text" />
</node>
<node concept="3clFbS" id="6YyAPwCTFtU" role="2tyzPh">
<node concept="3cpWs6" id="6SZa6nhEGUW" role="3cqZAp">
<node concept="2YIFZM" id="6SZa6nhEJrM" role="3cqZAk">
<ref role="37wK5l" to="ie8e:5JQSuNsxhfn" resolve="create" />
<ref role="1Pybhc" to="ie8e:5JQSuNswOXL" resolve="ChildrenBranch" />
<node concept="Xl_RD" id="6SZa6nhEKIU" role="37wK5m">
<property role="Xl_RC" value="node" />
</node>
<node concept="2YIFZM" id="6SZa6nhEKIV" role="37wK5m">
<ref role="1Pybhc" to="ie8e:5JQSuNsx4Gq" resolve="Builder" />
<ref role="37wK5l" to="ie8e:5JQSuNsx4I5" resolve="value" />
<node concept="Xl_RD" id="6SZa6nhEKIW" role="37wK5m">
<property role="Xl_RC" value="concept" />
</node>
<node concept="37vLTw" id="6SZa6nhEKIX" role="37wK5m">
<ref role="3cqZAo" node="6YyAPwCTFsW" resolve="cpt" />
</node>
</node>
<node concept="2YIFZM" id="6SZa6nhEKIY" role="37wK5m">
<ref role="1Pybhc" to="ie8e:5JQSuNsx4Gq" resolve="Builder" />
<ref role="37wK5l" to="ie8e:5JQSuNsx4I5" resolve="value" />
<node concept="Xl_RD" id="6SZa6nhEKIZ" role="37wK5m">
<property role="Xl_RC" value="text" />
</node>
<node concept="1TxZTf" id="6SZa6nhEKJ0" role="37wK5m">
<ref role="1Ty1U8" node="6YyAPwCTFtO" resolve="ascii" />
</node>
</node>
<node concept="2YIFZM" id="6SZa6nhEKJ1" role="37wK5m">
<ref role="1Pybhc" to="ie8e:5JQSuNsx4Gq" resolve="Builder" />
<ref role="37wK5l" to="ie8e:5JQSuNsx4I5" resolve="value" />
<node concept="Xl_RD" id="6SZa6nhEKJ2" role="37wK5m">
<property role="Xl_RC" value="id" />
</node>
<node concept="37vLTw" id="6SZa6nhEKJ3" role="37wK5m">
<ref role="3cqZAo" node="6YyAPwCTFt5" resolve="id" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="6YyAPwCTFu8" role="3cqZAp" />
<node concept="3cpWs6" id="6SZa6nhEOZF" role="3cqZAp">
<node concept="2YIFZM" id="6SZa6nhESO9" role="3cqZAk">
<ref role="37wK5l" to="ie8e:5JQSuNsxhfn" resolve="create" />
<ref role="1Pybhc" to="ie8e:5JQSuNswOXL" resolve="ChildrenBranch" />
<node concept="Xl_RD" id="6SZa6nhEU7V" role="37wK5m">
<property role="Xl_RC" value="node" />
</node>
<node concept="2YIFZM" id="6SZa6nhEU7W" role="37wK5m">
<ref role="37wK5l" to="ie8e:5JQSuNsx4I5" resolve="value" />
<ref role="1Pybhc" to="ie8e:5JQSuNsx4Gq" resolve="Builder" />
<node concept="Xl_RD" id="6SZa6nhEU7X" role="37wK5m">
<property role="Xl_RC" value="concept" />
</node>
<node concept="37vLTw" id="6SZa6nhEU7Y" role="37wK5m">
<ref role="3cqZAo" node="6YyAPwCTFsW" resolve="cpt" />
</node>
</node>
<node concept="2YIFZM" id="6SZa6nhEU7Z" role="37wK5m">
<ref role="1Pybhc" to="ie8e:5JQSuNsx4Gq" resolve="Builder" />
<ref role="37wK5l" to="ie8e:5JQSuNsx4I5" resolve="value" />
<node concept="Xl_RD" id="6SZa6nhEU80" role="37wK5m">
<property role="Xl_RC" value="id" />
</node>
<node concept="37vLTw" id="6SZa6nhEU81" role="37wK5m">
<ref role="3cqZAo" node="6YyAPwCTFt5" resolve="id" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="1lUeO1Nc1OI" role="jymVt" />
<node concept="3Tm1VV" id="6ntBQ9KIZRd" role="1B3o_S" />
</node>
<node concept="312cEu" id="6ntBQ9KKtmQ">
<property role="TrG5h" value="CustomConstraints" />
<node concept="2tJIrI" id="6ntBQ9KKt_t" role="jymVt" />

View File

@ -14,6 +14,7 @@
<dependency reexport="false">3ddddf69-9ff0-426b-9365-51ae7356fb82(jetbrains.mps.lang.typesystem2.sample)</dependency>
<dependency reexport="false">7526e0cf-1ce7-46f8-a555-9eca1e06c23b(jetbrains.mps.unification.tree)</dependency>
<dependency reexport="false">b984ee52-f34d-4b6d-8812-866c1d3eae31(jetbrains.mps.jchr.runtime)</dependency>
<dependency reexport="false">26e8f4ce-2a35-4f44-8065-e5ba154b18e9(jetbrains.mps.lang.typesystem2.runtime)</dependency>
</dependencies>
<usedLanguages>
<usedLanguage>f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)</usedLanguage>

View File

@ -20,6 +20,8 @@
<import index="5t0y" ref="b984ee52-f34d-4b6d-8812-866c1d3eae31/f:java_stub#b984ee52-f34d-4b6d-8812-866c1d3eae31#runtime.debug(jetbrains.mps.jchr.runtime/runtime.debug@java_stub)" />
<import index="xqpa" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang.reflect(JDK/java.lang.reflect@java_stub)" />
<import index="ajxo" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/f:java_stub#6ed54515-acc8-4d1e-a16c-9fd6cfe951ea#org.apache.log4j(MPS.Core/org.apache.log4j@java_stub)" />
<import index="4t1t" ref="r:703839e2-c38f-4b71-8602-72ccb87dd74e(jetbrains.mps.lang.typesystem2.runtime.util)" />
<import index="jfki" ref="7526e0cf-1ce7-46f8-a555-9eca1e06c23b/f:java_stub#7526e0cf-1ce7-46f8-a555-9eca1e06c23b#jetbrains.mps.unification(jetbrains.mps.unification.tree/jetbrains.mps.unification@java_stub)" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -78,6 +80,9 @@
<concept id="1070475926800" name="jetbrains.mps.baseLanguage.structure.StringLiteral" flags="nn" index="Xl_RD">
<property id="1070475926801" name="value" index="Xl_RC" />
</concept>
<concept id="1182160077978" name="jetbrains.mps.baseLanguage.structure.AnonymousClassCreator" flags="nn" index="YeOm9">
<child id="1182160096073" name="cls" index="YeSDq" />
</concept>
<concept id="1081236700938" name="jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" flags="ig" index="2YIFZL" />
<concept id="1081236700937" name="jetbrains.mps.baseLanguage.structure.StaticMethodCall" flags="nn" index="2YIFZM">
<reference id="1144433194310" name="classConcept" index="1Pybhc" />
@ -137,7 +142,7 @@
<child id="1068580123161" name="ifTrue" index="3clFbx" />
<child id="1206060520071" name="elsifClauses" index="3eNLev" />
</concept>
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" stub="5293379017992965193" index="3clFbS">
<concept id="1068580123136" name="jetbrains.mps.baseLanguage.structure.StatementList" flags="sn" index="3clFbS">
<child id="1068581517665" name="statement" index="3cqZAp" />
</concept>
<concept id="1068580123137" name="jetbrains.mps.baseLanguage.structure.BooleanConstant" flags="nn" index="3clFbT">
@ -147,6 +152,7 @@
<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" />
</concept>
@ -173,6 +179,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" />
@ -214,6 +223,9 @@
<concept id="1116615150612" name="jetbrains.mps.baseLanguage.structure.ClassifierClassExpression" flags="nn" index="3VsKOn">
<reference id="1116615189566" name="classifier" index="3VsUkX" />
</concept>
<concept id="1170345865475" name="jetbrains.mps.baseLanguage.structure.AnonymousClass" flags="ig" index="1Y3b0j">
<reference id="1170346070688" name="classifier" index="1Y3XeK" />
</concept>
</language>
<language id="35320f26-77cb-4c55-be9f-a97a27770af1" name="jetbrains.mps.logic">
<concept id="7571593955706120730" name="jetbrains.mps.logic.structure.Ast" flags="ng" index="1oi1Uc">
@ -269,6 +281,91 @@
<ref role="1Pybhc" to="ajxo:~BasicConfigurator" resolve="BasicConfigurator" />
</node>
</node>
<node concept="3clFbH" id="4peSo3CNiVm" role="3cqZAp" />
<node concept="3clFbF" id="4peSo3CNjAp" role="3cqZAp">
<node concept="2YIFZM" id="4peSo3CNjJl" role="3clFbG">
<ref role="37wK5l" to="yg8f:4peSo3CM2Ms" resolve="pushDelegate" />
<ref role="1Pybhc" to="yg8f:4peSo3CLajR" resolve="TreeFactory" />
<node concept="2ShNRf" id="4peSo3CNjLz" role="37wK5m">
<node concept="YeOm9" id="4peSo3CNktI" role="2ShVmc">
<node concept="1Y3b0j" id="4peSo3CNktL" role="YeSDq">
<property role="2bfB8j" value="true" />
<ref role="1Y3XeK" to="yg8f:4peSo3CLajR" resolve="TreeFactory" />
<ref role="37wK5l" to="e2lb:~Object.&lt;init&gt;()" resolve="Object" />
<node concept="3Tm1VV" id="4peSo3CNktM" role="1B3o_S" />
<node concept="3clFb_" id="4peSo3CNktN" role="jymVt">
<property role="TrG5h" value="createTree" />
<property role="1EzhhJ" value="false" />
<node concept="37vLTG" id="4peSo3CNktO" role="3clF46">
<property role="TrG5h" value="root" />
<node concept="3uibUv" id="4peSo3CNktP" role="1tU5fm">
<ref role="3uigEE" to="ie8e:1bm7a6EXvsP" resolve="ITreePart" />
<node concept="3qUE_q" id="4peSo3CNktQ" role="11_B2D">
<node concept="3uibUv" id="4peSo3CNktR" role="3qUE_r">
<ref role="3uigEE" to="jfki:~Node" resolve="Node" />
</node>
</node>
</node>
</node>
<node concept="3uibUv" id="4peSo3CNktS" role="3clF45">
<ref role="3uigEE" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
</node>
<node concept="3Tm1VV" id="4peSo3CNktT" role="1B3o_S" />
<node concept="3clFbS" id="4peSo3CNktV" role="3clF47">
<node concept="3clFbF" id="4peSo3CNmcP" role="3cqZAp">
<node concept="2ShNRf" id="4peSo3CNmcN" role="3clFbG">
<node concept="YeOm9" id="4peSo3CNmAN" role="2ShVmc">
<node concept="1Y3b0j" id="4peSo3CNmAQ" role="YeSDq">
<property role="2bfB8j" value="true" />
<ref role="1Y3XeK" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
<ref role="37wK5l" to="ie8e:5JQSuNsxM_M" resolve="Tree" />
<node concept="3Tm1VV" id="4peSo3CNmAR" role="1B3o_S" />
<node concept="37vLTw" id="4peSo3CNm$D" role="37wK5m">
<ref role="3cqZAo" node="4peSo3CNktO" resolve="root" />
</node>
<node concept="3clFb_" id="4peSo3CNmDI" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="toString" />
<property role="DiZV1" value="false" />
<property role="IEkAT" value="false" />
<node concept="3Tm1VV" id="4peSo3CNmDJ" role="1B3o_S" />
<node concept="17QB3L" id="4peSo3CNmDK" role="3clF45" />
<node concept="2AHcQZ" id="4peSo3CNmDT" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
<node concept="3clFbS" id="4peSo3CNmDV" role="3clF47">
<node concept="3clFbF" id="5JQSuNs_vCE" role="3cqZAp">
<node concept="3cpWs3" id="5JQSuNs_w4o" role="3clFbG">
<node concept="3cpWs3" id="5JQSuNs_vHV" role="3uHU7B">
<node concept="Xl_RD" id="5cGCTtq$xeT" role="3uHU7B">
<property role="Xl_RC" value="{" />
</node>
<node concept="2YIFZM" id="4peSo3CNoJq" role="3uHU7w">
<ref role="37wK5l" to="4t1t:4peSo3CHBfF" resolve="print" />
<ref role="1Pybhc" to="4t1t:4peSo3CHy8D" resolve="NodePrinter" />
<node concept="1rXfSq" id="4peSo3CNp8S" role="37wK5m">
<ref role="37wK5l" to="ie8e:2xQ7eRACJS8" resolve="root" />
</node>
</node>
</node>
<node concept="Xl_RD" id="5cGCTtq$x5C" role="3uHU7w">
<property role="Xl_RC" value="}" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="41ox5VneLw6" role="3cqZAp" />
<node concept="3cpWs8" id="41ox5VnewK8" role="3cqZAp">
<node concept="3cpWsn" id="41ox5VnewK9" role="3cpWs9">

View File

@ -55,7 +55,7 @@
<import index="1t7x" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.awt(JDK/java.awt@java_stub)" />
<import index="nax5" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/f:java_stub#6ed54515-acc8-4d1e-a16c-9fd6cfe951ea#jetbrains.mps.errors(MPS.Core/jetbrains.mps.errors@java_stub)" />
<import index="l0n4" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/f:java_stub#6ed54515-acc8-4d1e-a16c-9fd6cfe951ea#jetbrains.mps.errors.messageTargets(MPS.Core/jetbrains.mps.errors.messageTargets@java_stub)" />
<import index="1d7m" ref="1ed103c3-3aa6-49b7-9c21-6765ee11f224/f:java_stub#1ed103c3-3aa6-49b7-9c21-6765ee11f224#jetbrains.mps.ide.editor(MPS.Editor/jetbrains.mps.ide.editor@java_stub)" implicit="true" />
<import index="1d7m" ref="1ed103c3-3aa6-49b7-9c21-6765ee11f224/f:java_stub#1ed103c3-3aa6-49b7-9c21-6765ee11f224#jetbrains.mps.ide.editor(MPS.Editor/jetbrains.mps.ide.editor@java_stub)" />
</imports>
<registry>
<language id="28f9e497-3b42-4291-aeba-0a1039153ab1" name="jetbrains.mps.lang.plugin">
@ -269,7 +269,6 @@
<reference id="1068499141037" name="baseMethodDeclaration" index="37wK5l" />
<child id="1068499141038" name="actualArgument" index="37wK5m" />
</concept>
<concept id="1073063089578" name="jetbrains.mps.baseLanguage.structure.SuperMethodCall" flags="nn" index="3nyPlj" />
<concept id="1212685548494" name="jetbrains.mps.baseLanguage.structure.ClassCreator" flags="nn" index="1pGfFk">
<child id="1212687122400" name="typeParameter" index="1pMfVU" />
</concept>
@ -2532,8 +2531,8 @@
<ref role="3uigEE" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
</node>
<node concept="2YIFZM" id="1zN1RIkMMBr" role="33vP2m">
<ref role="37wK5l" to="qiww:1lUeO1NbZUR" resolve="anchorTree" />
<ref role="1Pybhc" to="qiww:6ntBQ9KIZRc" resolve="AnchorUtil" />
<ref role="37wK5l" to="4t1t:4peSo3CD1Kr" resolve="anchorTree" />
<ref role="1Pybhc" to="4t1t:4peSo3CD1Kp" resolve="AnchorUtil" />
<node concept="37vLTw" id="1zN1RIkMMBs" role="37wK5m">
<ref role="3cqZAo" node="1zN1RIkMJJI" resolve="root" />
</node>
@ -2938,13 +2937,13 @@
<node concept="3clFbH" id="3gJBs5s_oFd" role="3cqZAp" />
<node concept="3cpWs8" id="3gJBs5s_rPf" role="3cqZAp">
<node concept="3cpWsn" id="3gJBs5s_rPg" role="3cpWs9">
<property role="TrG5h" value="symbolProvider" />
<property role="TrG5h" value="varSym" />
<node concept="3uibUv" id="3gJBs5s_rOL" role="1tU5fm">
<ref role="3uigEE" node="3gJBs5s_5u0" resolve="RunTypecheckingRules.TypeVarSymbolProvider" />
<ref role="3uigEE" node="3gJBs5s_5u0" resolve="RunTypecheckingRules.TypeVarSymbol" />
</node>
<node concept="2ShNRf" id="3gJBs5s_rPh" role="33vP2m">
<node concept="1pGfFk" id="3gJBs5s_rPi" role="2ShVmc">
<ref role="37wK5l" node="3gJBs5s_a9H" resolve="RunTypecheckingRules.TypeVarSymbolProvider" />
<ref role="37wK5l" node="3gJBs5s_a9H" resolve="RunTypecheckingRules.TypeVarSymbol" />
<node concept="37vLTw" id="3gJBs5s_rPj" role="37wK5m">
<ref role="3cqZAo" node="3gJBs5syUmw" resolve="varnames" />
</node>
@ -3192,22 +3191,19 @@
</node>
<node concept="liA8E" id="3gJBs5syUpG" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~StringBuilder.append(java.lang.String):java.lang.StringBuilder" resolve="append" />
<node concept="2YIFZM" id="3gJBs5sAEcg" role="37wK5m">
<ref role="37wK5l" to="ie8e:3gJBs5s$Nbp" resolve="prettyPrint" />
<ref role="1Pybhc" to="ie8e:5s497VqXwA7" resolve="PrettyPrinter" />
<node concept="2OqwBi" id="3gJBs5sAEch" role="37wK5m">
<node concept="37vLTw" id="3gJBs5sAEci" role="2Oq$k0">
<node concept="2YIFZM" id="4peSo3D1oTW" role="37wK5m">
<ref role="1Pybhc" to="4t1t:4peSo3CHy8D" resolve="NodePrinter" />
<ref role="37wK5l" to="4t1t:4peSo3D04j7" resolve="print" />
<node concept="2OqwBi" id="4peSo3D1oTX" role="37wK5m">
<node concept="37vLTw" id="4peSo3D1oTY" role="2Oq$k0">
<ref role="3cqZAo" node="3gJBs5syUpe" resolve="boundValue" />
</node>
<node concept="liA8E" id="3gJBs5sAEcj" role="2OqNvi">
<node concept="liA8E" id="4peSo3D1oTZ" role="2OqNvi">
<ref role="37wK5l" to="ie8e:2xQ7eRACJS8" resolve="root" />
</node>
</node>
<node concept="3cmrfG" id="3gJBs5sAEck" role="37wK5m">
<property role="3cmrfH" value="2" />
</node>
<node concept="37vLTw" id="3gJBs5sAEcl" role="37wK5m">
<ref role="3cqZAo" node="3gJBs5s_rPg" resolve="symbolProvider" />
<node concept="37vLTw" id="4peSo3D1oU0" role="37wK5m">
<ref role="3cqZAo" node="3gJBs5s_rPg" resolve="varSym" />
</node>
</node>
</node>
@ -3324,22 +3320,19 @@
<ref role="3cqZAo" node="3gJBs5syUoq" resolve="value" />
</node>
</node>
<node concept="2YIFZM" id="3gJBs5syUpX" role="3K4E3e">
<ref role="1Pybhc" to="ie8e:5s497VqXwA7" resolve="PrettyPrinter" />
<ref role="37wK5l" to="ie8e:3gJBs5s$Nbp" resolve="prettyPrint" />
<node concept="2OqwBi" id="3gJBs5syUpY" role="37wK5m">
<node concept="37vLTw" id="3gJBs5syUpZ" role="2Oq$k0">
<node concept="2YIFZM" id="4peSo3D1Ia5" role="3K4E3e">
<ref role="1Pybhc" to="4t1t:4peSo3CHy8D" resolve="NodePrinter" />
<ref role="37wK5l" to="4t1t:4peSo3D04j7" resolve="print" />
<node concept="2OqwBi" id="4peSo3D1Ia6" role="37wK5m">
<node concept="37vLTw" id="4peSo3D1Ia7" role="2Oq$k0">
<ref role="3cqZAo" node="3gJBs5syUoq" resolve="value" />
</node>
<node concept="liA8E" id="3gJBs5syUq0" role="2OqNvi">
<node concept="liA8E" id="4peSo3D1Ia8" role="2OqNvi">
<ref role="37wK5l" to="ie8e:2xQ7eRACJS8" resolve="root" />
</node>
</node>
<node concept="3cmrfG" id="3gJBs5syUq1" role="37wK5m">
<property role="3cmrfH" value="2" />
</node>
<node concept="37vLTw" id="3gJBs5s_upN" role="37wK5m">
<ref role="3cqZAo" node="3gJBs5s_rPg" resolve="symbolProvider" />
<node concept="37vLTw" id="4peSo3D1Iaa" role="37wK5m">
<ref role="3cqZAo" node="3gJBs5s_rPg" resolve="varSym" />
</node>
</node>
</node>
@ -3794,7 +3787,7 @@
<node concept="2tJIrI" id="41ox5Vnk7ss" role="jymVt" />
<node concept="312cEu" id="3gJBs5s_5u0" role="jymVt">
<property role="2bfB8j" value="false" />
<property role="TrG5h" value="TypeVarSymbolProvider" />
<property role="TrG5h" value="TypeVarSymbol" />
<node concept="2tJIrI" id="3gJBs5s_6yN" role="jymVt" />
<node concept="3clFbW" id="3gJBs5s_a9H" role="jymVt">
<node concept="37vLTG" id="3gJBs5s_an7" role="3clF46">
@ -3823,19 +3816,16 @@
</node>
</node>
</node>
<node concept="2tJIrI" id="3gJBs5s_9YT" role="jymVt" />
<node concept="3clFb_" id="3gJBs5s_6yZ" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="visitVariable" />
<property role="TrG5h" value="variableSymbol" />
<node concept="37vLTG" id="3gJBs5s_6z0" role="3clF46">
<property role="TrG5h" value="variable" />
<node concept="3uibUv" id="3gJBs5s_6z1" role="1tU5fm">
<ref role="3uigEE" to="ie8e:uNmovXiEd4" resolve="Variable" />
</node>
</node>
<node concept="3uibUv" id="3gJBs5s_6z2" role="3clF45">
<ref role="3uigEE" to="e2lb:~Object" resolve="Object" />
</node>
<node concept="17QB3L" id="4peSo3D1hha" role="3clF45" />
<node concept="3Tm1VV" id="3gJBs5s_6z3" role="1B3o_S" />
<node concept="3clFbS" id="3gJBs5s_6z9" role="3clF47">
<node concept="3clFbJ" id="3gJBs5s_6EV" role="3cqZAp">
@ -3975,10 +3965,16 @@
<node concept="9aQIb" id="3gJBs5s_7KK" role="9aQIa">
<node concept="3clFbS" id="3gJBs5s_7KL" role="9aQI4">
<node concept="3cpWs6" id="3gJBs5s_7Qc" role="3cqZAp">
<node concept="3nyPlj" id="3gJBs5s_7RP" role="3cqZAk">
<ref role="37wK5l" to="ie8e:3gJBs5s$cVK" resolve="visitVariable" />
<node concept="37vLTw" id="3gJBs5s_7XY" role="37wK5m">
<ref role="3cqZAo" node="3gJBs5s_6z0" resolve="variable" />
<node concept="2YIFZM" id="4peSo3D1kYQ" role="3cqZAk">
<ref role="37wK5l" to="e2lb:~String.valueOf(java.lang.Object):java.lang.String" resolve="valueOf" />
<ref role="1Pybhc" to="e2lb:~String" resolve="String" />
<node concept="2OqwBi" id="4peSo3D0$Pp" role="37wK5m">
<node concept="37vLTw" id="4peSo3D0$zo" role="2Oq$k0">
<ref role="3cqZAo" node="3gJBs5s_6z0" resolve="variable" />
</node>
<node concept="liA8E" id="4peSo3D0AYC" role="2OqNvi">
<ref role="37wK5l" to="ie8e:56MMu0Ark7d" resolve="symbol" />
</node>
</node>
</node>
</node>
@ -3992,9 +3988,6 @@
</node>
<node concept="2tJIrI" id="3gJBs5s_o1A" role="jymVt" />
<node concept="3Tm1VV" id="3gJBs5s_5u1" role="1B3o_S" />
<node concept="3uibUv" id="3gJBs5s_6yl" role="1zkMxy">
<ref role="3uigEE" to="ie8e:3gJBs5s$bxr" resolve="PrettyPrinter.DefaultsSymbolProvider" />
</node>
<node concept="312cEg" id="3gJBs5s_aBg" role="jymVt">
<property role="TrG5h" value="varnames" />
<node concept="3Tm6S6" id="3gJBs5s_aBh" role="1B3o_S" />
@ -4004,6 +3997,9 @@
<node concept="17QB3L" id="3gJBs5s_aBl" role="11_B2D" />
</node>
</node>
<node concept="3uibUv" id="4peSo3D1gxU" role="1zkMxy">
<ref role="3uigEE" to="4t1t:3gJBs5s$bxr" resolve="NodePrinter.DefaultVariableSymbol" />
</node>
</node>
<node concept="2tJIrI" id="41ox5Vnk7lH" role="jymVt" />
<node concept="3Tm1VV" id="41ox5Vnk76b" role="1B3o_S" />

View File

@ -851,26 +851,26 @@
<node concept="13MO4I" id="35Lj3TiT1Wl">
<property role="TrG5h" value="Ast_Builder" />
<ref role="3gUMe" to="5j4j:6$jH9oLmUCq" resolve="Ast" />
<node concept="2YIFZM" id="6SZa6nhFws5" role="13RCb5">
<ref role="37wK5l" to="ie8e:5JQSuNsxMzt" resolve="create" />
<ref role="1Pybhc" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
<node concept="10Nm6u" id="6SZa6nhFws6" role="37wK5m">
<node concept="29HgVG" id="6SZa6nhFws7" role="lGtFl">
<node concept="3NFfHV" id="6SZa6nhFws8" role="3NFExx">
<node concept="3clFbS" id="6SZa6nhFws9" role="2VODD2">
<node concept="3clFbF" id="6SZa6nhFwsa" role="3cqZAp">
<node concept="2OqwBi" id="6SZa6nhFwsb" role="3clFbG">
<node concept="3TrEf2" id="6SZa6nhFwsc" role="2OqNvi">
<node concept="2YIFZM" id="4peSo3CLCDw" role="13RCb5">
<ref role="37wK5l" to="yg8f:4peSo3CLatr" resolve="create" />
<ref role="1Pybhc" to="yg8f:4peSo3CLajR" resolve="TreeFactory" />
<node concept="10Nm6u" id="4peSo3CLCDx" role="37wK5m">
<node concept="29HgVG" id="4peSo3CLCDy" role="lGtFl">
<node concept="3NFfHV" id="4peSo3CLCDz" role="3NFExx">
<node concept="3clFbS" id="4peSo3CLCD$" role="2VODD2">
<node concept="3clFbF" id="4peSo3CLCD_" role="3cqZAp">
<node concept="2OqwBi" id="4peSo3CLCDA" role="3clFbG">
<node concept="3TrEf2" id="4peSo3CLCDB" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:6$jH9oLmVNm" />
</node>
<node concept="30H73N" id="6SZa6nhFwsd" role="2Oq$k0" />
<node concept="30H73N" id="4peSo3CLCDC" role="2Oq$k0" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="raruj" id="6SZa6nhFwse" role="lGtFl" />
<node concept="raruj" id="4peSo3CLCDD" role="lGtFl" />
</node>
</node>
<node concept="bUwia" id="7E86$tKtJwT">

View File

@ -9,7 +9,8 @@
<import index="ie8e" ref="r:ab2605ab-b4bc-4e80-a8ca-19a4a8465c01(jetbrains.mps.unification.tree)" />
<import index="k7g3" ref="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.util(JDK/java.util@java_stub)" />
<import index="oy3s" ref="r:a6030cee-34eb-4503-b1bf-015fe5cd8c1a(jetbrains.mps.logic.builtin.unification)" />
<import index="e2lb" ref="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang(JDK/java.lang@java_stub)" implicit="true" />
<import index="jfki" ref="7526e0cf-1ce7-46f8-a555-9eca1e06c23b/f:java_stub#7526e0cf-1ce7-46f8-a555-9eca1e06c23b#jetbrains.mps.unification(jetbrains.mps.unification.tree/jetbrains.mps.unification@java_stub)" />
<import index="e2lb" ref="6354ebe7-c22a-4a0f-ac54-50b52ab9b065/f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang(JDK/java.lang@java_stub)" />
</imports>
<registry>
<language id="f3061a53-9226-4cc5-a443-f952ceaf5816" name="jetbrains.mps.baseLanguage">
@ -62,6 +63,9 @@
<child id="1182160096073" name="cls" index="YeSDq" />
</concept>
<concept id="1081236700938" name="jetbrains.mps.baseLanguage.structure.StaticMethodDeclaration" flags="ig" index="2YIFZL" />
<concept id="1081236700937" name="jetbrains.mps.baseLanguage.structure.StaticMethodCall" flags="nn" index="2YIFZM">
<reference id="1144433194310" name="classConcept" index="1Pybhc" />
</concept>
<concept id="1164991038168" name="jetbrains.mps.baseLanguage.structure.ThrowStatement" flags="nn" index="YS8fn">
<child id="1164991057263" name="throwable" index="YScLw" />
</concept>
@ -105,6 +109,7 @@
<child id="5680397130376446158" name="type" index="1tU5fm" />
</concept>
<concept id="1068580123132" name="jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration" flags="ng" index="3clF44">
<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" />
@ -152,6 +157,9 @@
<child id="5375687026011219971" name="member" index="jymVt" unordered="true" />
</concept>
<concept id="1171903607971" name="jetbrains.mps.baseLanguage.structure.WildCardType" flags="in" index="3qTvmN" />
<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="7812454656619025416" name="jetbrains.mps.baseLanguage.structure.MethodDeclaration" flags="ng" index="1rXfSm">
<property id="8355037393041754995" name="isNative" index="2aFKle" />
</concept>
@ -195,11 +203,13 @@
<concept id="2580416627845338977" name="jetbrains.mps.baseLanguage.structure.ImplicitAnnotationInstanceValue" flags="ng" index="1SXeKx" />
<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="1146644641414" name="jetbrains.mps.baseLanguage.structure.ProtectedVisibility" flags="nn" index="3Tmbuc" />
<concept id="1116615150612" name="jetbrains.mps.baseLanguage.structure.ClassifierClassExpression" flags="nn" index="3VsKOn">
<reference id="1116615189566" name="classifier" index="3VsUkX" />
</concept>
<concept id="1170345865475" name="jetbrains.mps.baseLanguage.structure.AnonymousClass" flags="ig" index="1Y3b0j">
<reference id="1170346070688" name="classifier" index="1Y3XeK" />
<child id="1201186121363" name="typeParameter" index="2Ghqu4" />
</concept>
</language>
<language id="f2801650-65d5-424e-bb1b-463a8781b786" name="jetbrains.mps.baseLanguage.javadoc">
@ -1565,5 +1575,245 @@
<node concept="2tJIrI" id="46l0wJhtOHe" role="jymVt" />
<node concept="3Tm1VV" id="46l0wJhtODA" role="1B3o_S" />
</node>
<node concept="312cEu" id="4peSo3CLajR">
<property role="TrG5h" value="TreeFactory" />
<property role="1sVAO0" value="true" />
<node concept="2tJIrI" id="4peSo3CLatc" role="jymVt" />
<node concept="Wx3nA" id="4peSo3CLXMD" role="jymVt">
<property role="TrG5h" value="DELEGATE" />
<node concept="3Tm6S6" id="4peSo3CLXMF" role="1B3o_S" />
<node concept="3uibUv" id="4peSo3CLXS_" role="1tU5fm">
<ref role="3uigEE" to="e2lb:~ThreadLocal" resolve="ThreadLocal" />
<node concept="3uibUv" id="4peSo3CLXTs" role="11_B2D">
<ref role="3uigEE" node="4peSo3CLajR" resolve="TreeFactory" />
</node>
</node>
<node concept="2ShNRf" id="4peSo3CLXX8" role="33vP2m">
<node concept="YeOm9" id="4peSo3CLXZq" role="2ShVmc">
<node concept="1Y3b0j" id="4peSo3CLXZt" role="YeSDq">
<property role="2bfB8j" value="true" />
<ref role="1Y3XeK" to="e2lb:~ThreadLocal" resolve="ThreadLocal" />
<ref role="37wK5l" to="e2lb:~ThreadLocal.&lt;init&gt;()" resolve="ThreadLocal" />
<node concept="3Tm1VV" id="4peSo3CLXZu" role="1B3o_S" />
<node concept="3uibUv" id="4peSo3CLXX7" role="2Ghqu4">
<ref role="3uigEE" node="4peSo3CLajR" resolve="TreeFactory" />
</node>
<node concept="3clFb_" id="4peSo3CLY2o" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="initialValue" />
<property role="DiZV1" value="false" />
<property role="IEkAT" value="false" />
<node concept="3Tmbuc" id="4peSo3CLY2p" role="1B3o_S" />
<node concept="3uibUv" id="4peSo3CLY2u" role="3clF45">
<ref role="3uigEE" node="4peSo3CLajR" resolve="TreeFactory" />
</node>
<node concept="3clFbS" id="4peSo3CLY2v" role="3clF47">
<node concept="3clFbF" id="4peSo3CLYi0" role="3cqZAp">
<node concept="2ShNRf" id="4peSo3CLYi2" role="3clFbG">
<node concept="YeOm9" id="4peSo3CLYi3" role="2ShVmc">
<node concept="1Y3b0j" id="4peSo3CLYi4" role="YeSDq">
<property role="2bfB8j" value="true" />
<ref role="37wK5l" to="e2lb:~Object.&lt;init&gt;()" resolve="Object" />
<ref role="1Y3XeK" node="4peSo3CLajR" resolve="TreeFactory" />
<node concept="3Tm1VV" id="4peSo3CLYi5" role="1B3o_S" />
<node concept="3clFb_" id="4peSo3CLYi6" role="jymVt">
<property role="TrG5h" value="createTree" />
<property role="1EzhhJ" value="false" />
<node concept="37vLTG" id="4peSo3CLYi7" role="3clF46">
<property role="TrG5h" value="root" />
<node concept="3uibUv" id="4peSo3CLYi8" role="1tU5fm">
<ref role="3uigEE" to="ie8e:1bm7a6EXvsP" resolve="ITreePart" />
<node concept="3qUE_q" id="4peSo3CLYi9" role="11_B2D">
<node concept="3uibUv" id="4peSo3CLYia" role="3qUE_r">
<ref role="3uigEE" to="jfki:~Node" resolve="Node" />
</node>
</node>
</node>
</node>
<node concept="3uibUv" id="4peSo3CLYib" role="3clF45">
<ref role="3uigEE" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
</node>
<node concept="3Tm1VV" id="4peSo3CLYic" role="1B3o_S" />
<node concept="3clFbS" id="4peSo3CLYid" role="3clF47">
<node concept="3clFbF" id="4peSo3CLYie" role="3cqZAp">
<node concept="2YIFZM" id="4peSo3CLYif" role="3clFbG">
<ref role="37wK5l" to="ie8e:5JQSuNsxMzt" resolve="create" />
<ref role="1Pybhc" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
<node concept="37vLTw" id="4peSo3CLYig" role="37wK5m">
<ref role="3cqZAo" node="4peSo3CLYi7" resolve="root" />
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="4peSo3CLYih" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="4peSo3CLY2w" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4peSo3CM25V" role="jymVt" />
<node concept="Wx3nA" id="4peSo3CM3Qf" role="jymVt">
<property role="TrG5h" value="STACK" />
<node concept="3Tm6S6" id="4peSo3CM3Qh" role="1B3o_S" />
<node concept="3uibUv" id="4peSo3CM3WU" role="1tU5fm">
<ref role="3uigEE" to="k7g3:~LinkedList" resolve="LinkedList" />
<node concept="3uibUv" id="4peSo3CM3YT" role="11_B2D">
<ref role="3uigEE" node="4peSo3CLajR" resolve="TreeFactory" />
</node>
</node>
<node concept="2ShNRf" id="4peSo3CM4e2" role="33vP2m">
<node concept="1pGfFk" id="4peSo3CM4du" role="2ShVmc">
<ref role="37wK5l" to="k7g3:~LinkedList.&lt;init&gt;()" resolve="LinkedList" />
<node concept="3uibUv" id="4peSo3CM4dv" role="1pMfVU">
<ref role="3uigEE" node="4peSo3CLajR" resolve="TreeFactory" />
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4peSo3CM41r" role="jymVt" />
<node concept="2YIFZL" id="4peSo3CM2Ms" role="jymVt">
<property role="TrG5h" value="pushDelegate" />
<node concept="37vLTG" id="4peSo3CM30y" role="3clF46">
<property role="TrG5h" value="factory" />
<node concept="3uibUv" id="4peSo3CM31B" role="1tU5fm">
<ref role="3uigEE" node="4peSo3CLajR" resolve="TreeFactory" />
</node>
</node>
<node concept="3cqZAl" id="4peSo3CM2Mu" role="3clF45" />
<node concept="3Tm1VV" id="4peSo3CM2Mv" role="1B3o_S" />
<node concept="3clFbS" id="4peSo3CM2Mw" role="3clF47">
<node concept="3clFbF" id="4peSo3CM4s9" role="3cqZAp">
<node concept="2OqwBi" id="4peSo3CM4SX" role="3clFbG">
<node concept="37vLTw" id="4peSo3CM4s7" role="2Oq$k0">
<ref role="3cqZAo" node="4peSo3CM3Qf" resolve="STACK" />
</node>
<node concept="liA8E" id="4peSo3CM95m" role="2OqNvi">
<ref role="37wK5l" to="k7g3:~LinkedList.push(java.lang.Object):void" resolve="push" />
<node concept="2OqwBi" id="4peSo3CM9sr" role="37wK5m">
<node concept="37vLTw" id="4peSo3CM9id" role="2Oq$k0">
<ref role="3cqZAo" node="4peSo3CLXMD" resolve="DELEGATE" />
</node>
<node concept="liA8E" id="4peSo3CM9WK" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~ThreadLocal.get():java.lang.Object" resolve="get" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="4peSo3CMahd" role="3cqZAp">
<node concept="2OqwBi" id="4peSo3CManT" role="3clFbG">
<node concept="37vLTw" id="4peSo3CMahb" role="2Oq$k0">
<ref role="3cqZAo" node="4peSo3CLXMD" resolve="DELEGATE" />
</node>
<node concept="liA8E" id="4peSo3CMaA0" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~ThreadLocal.set(java.lang.Object):void" resolve="set" />
<node concept="37vLTw" id="4peSo3CMaCS" role="37wK5m">
<ref role="3cqZAo" node="4peSo3CM30y" resolve="factory" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4peSo3CMaOq" role="jymVt" />
<node concept="2YIFZL" id="4peSo3CMbfh" role="jymVt">
<property role="TrG5h" value="popDelegate" />
<node concept="3cqZAl" id="4peSo3CMbfj" role="3clF45" />
<node concept="3Tm1VV" id="4peSo3CMbfk" role="1B3o_S" />
<node concept="3clFbS" id="4peSo3CMbfl" role="3clF47">
<node concept="3clFbF" id="4peSo3CMbws" role="3cqZAp">
<node concept="2OqwBi" id="4peSo3CMbxr" role="3clFbG">
<node concept="37vLTw" id="4peSo3CMbwr" role="2Oq$k0">
<ref role="3cqZAo" node="4peSo3CLXMD" resolve="DELEGATE" />
</node>
<node concept="liA8E" id="4peSo3CMbHc" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~ThreadLocal.set(java.lang.Object):void" resolve="set" />
<node concept="2OqwBi" id="4peSo3CMce0" role="37wK5m">
<node concept="37vLTw" id="4peSo3CMbJE" role="2Oq$k0">
<ref role="3cqZAo" node="4peSo3CM3Qf" resolve="STACK" />
</node>
<node concept="liA8E" id="4peSo3CMefU" role="2OqNvi">
<ref role="37wK5l" to="k7g3:~LinkedList.pop():java.lang.Object" resolve="pop" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4peSo3CM2GG" role="jymVt" />
<node concept="2YIFZL" id="4peSo3CLatr" role="jymVt">
<property role="TrG5h" value="create" />
<node concept="37vLTG" id="5JQSuNsxMzP" role="3clF46">
<property role="TrG5h" value="root" />
<node concept="3uibUv" id="1bm7a6FhRBF" role="1tU5fm">
<ref role="3uigEE" to="ie8e:1bm7a6EXvsP" resolve="ITreePart" />
<node concept="3qUE_q" id="1bm7a6FklL$" role="11_B2D">
<node concept="3uibUv" id="1bm7a6FklQK" role="3qUE_r">
<ref role="3uigEE" to="jfki:~Node" resolve="Node" />
</node>
</node>
</node>
</node>
<node concept="3uibUv" id="4peSo3CLatH" role="3clF45">
<ref role="3uigEE" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
</node>
<node concept="3Tm1VV" id="4peSo3CLatu" role="1B3o_S" />
<node concept="3clFbS" id="4peSo3CLatv" role="3clF47">
<node concept="3clFbF" id="4peSo3CLY$E" role="3cqZAp">
<node concept="2OqwBi" id="4peSo3CLY$G" role="3clFbG">
<node concept="2OqwBi" id="4peSo3CM0Qv" role="2Oq$k0">
<node concept="37vLTw" id="4peSo3CM0Ni" role="2Oq$k0">
<ref role="3cqZAo" node="4peSo3CLXMD" resolve="DELEGATE" />
</node>
<node concept="liA8E" id="4peSo3CM1_m" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~ThreadLocal.get():java.lang.Object" resolve="get" />
</node>
</node>
<node concept="liA8E" id="4peSo3CLY$I" role="2OqNvi">
<ref role="37wK5l" node="4peSo3CLb4X" resolve="createTree" />
<node concept="37vLTw" id="4peSo3CLY$J" role="37wK5m">
<ref role="3cqZAo" node="5JQSuNsxMzP" resolve="root" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2tJIrI" id="4peSo3CLVZn" role="jymVt" />
<node concept="3clFb_" id="4peSo3CLb4X" role="jymVt">
<property role="TrG5h" value="createTree" />
<property role="1EzhhJ" value="true" />
<node concept="37vLTG" id="4peSo3CLb7u" role="3clF46">
<property role="TrG5h" value="root" />
<node concept="3uibUv" id="4peSo3CLb7v" role="1tU5fm">
<ref role="3uigEE" to="ie8e:1bm7a6EXvsP" resolve="ITreePart" />
<node concept="3qUE_q" id="4peSo3CLb7w" role="11_B2D">
<node concept="3uibUv" id="4peSo3CLb7x" role="3qUE_r">
<ref role="3uigEE" to="jfki:~Node" resolve="Node" />
</node>
</node>
</node>
</node>
<node concept="3uibUv" id="4peSo3CLb5N" role="3clF45">
<ref role="3uigEE" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
</node>
<node concept="3Tm1VV" id="4peSo3CLb50" role="1B3o_S" />
<node concept="3clFbS" id="4peSo3CLb51" role="3clF47" />
</node>
<node concept="2tJIrI" id="4peSo3CLath" role="jymVt" />
<node concept="3Tm1VV" id="4peSo3CLajS" role="1B3o_S" />
</node>
</model>

View File

@ -856,31 +856,31 @@
<node concept="3uibUv" id="6SkxsMzErIT" role="1tU5fm">
<ref role="3uigEE" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
</node>
<node concept="2YIFZM" id="6SkxsMzErJ7" role="33vP2m">
<ref role="37wK5l" to="ie8e:5JQSuNsxMzt" resolve="create" />
<ref role="1Pybhc" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
<node concept="2OqwBi" id="6SkxsMzErJ8" role="37wK5m">
<node concept="1eOMI4" id="6SkxsMzErJ9" role="2Oq$k0">
<node concept="10QFUN" id="6SkxsMzErJa" role="1eOMHV">
<node concept="2OqwBi" id="6SkxsMzFMD3" role="10QFUP">
<node concept="37vLTw" id="6SkxsMzFMD4" role="2Oq$k0">
<node concept="2YIFZM" id="4peSo3CLEww" role="33vP2m">
<ref role="37wK5l" to="yg8f:4peSo3CLatr" resolve="create" />
<ref role="1Pybhc" to="yg8f:4peSo3CLajR" resolve="TreeFactory" />
<node concept="2OqwBi" id="4peSo3CLEwx" role="37wK5m">
<node concept="1eOMI4" id="4peSo3CLEwy" role="2Oq$k0">
<node concept="10QFUN" id="4peSo3CLEwz" role="1eOMHV">
<node concept="2OqwBi" id="4peSo3CLEw$" role="10QFUP">
<node concept="37vLTw" id="4peSo3CLEw_" role="2Oq$k0">
<ref role="3cqZAo" node="6SkxsMzDp28" resolve="bnd" />
</node>
<node concept="liA8E" id="6SkxsMzFMD5" role="2OqNvi">
<node concept="liA8E" id="4peSo3CLEwA" role="2OqNvi">
<ref role="37wK5l" to="jfki:~Substitution.Binding.node()" resolve="node" />
</node>
</node>
<node concept="3uibUv" id="46l0wJhwPCu" role="10QFUM">
<node concept="3uibUv" id="4peSo3CLEwB" role="10QFUM">
<ref role="3uigEE" to="ie8e:1bm7a6EXvsP" resolve="ITreePart" />
<node concept="3qUE_q" id="46l0wJhwPCv" role="11_B2D">
<node concept="3uibUv" id="46l0wJhwPCw" role="3qUE_r">
<node concept="3qUE_q" id="4peSo3CLEwC" role="11_B2D">
<node concept="3uibUv" id="4peSo3CLEwD" role="3qUE_r">
<ref role="3uigEE" to="jfki:~Node" resolve="Node" />
</node>
</node>
</node>
</node>
</node>
<node concept="liA8E" id="6SkxsMzErJe" role="2OqNvi">
<node concept="liA8E" id="4peSo3CLEwE" role="2OqNvi">
<ref role="37wK5l" to="ie8e:2QE4RCGndD7" resolve="asRoot" />
</node>
</node>
@ -2711,22 +2711,22 @@
<node concept="37vLTw" id="6xYPVrp$Lr$" role="37wK5m">
<ref role="3cqZAo" node="6xYPVrp$uAC" resolve="treeLogical" />
</node>
<node concept="2YIFZM" id="6xYPVrpCesa" role="37wK5m">
<ref role="37wK5l" to="ie8e:5JQSuNsxMzt" resolve="create" />
<ref role="1Pybhc" to="ie8e:2xQ7eRABXh4" resolve="Tree" />
<node concept="2OqwBi" id="6xYPVrpC4CY" role="37wK5m">
<node concept="1eOMI4" id="6xYPVrpBYBX" role="2Oq$k0">
<node concept="10QFUN" id="6xYPVrpBYBU" role="1eOMHV">
<node concept="3uibUv" id="6xYPVrpC0$z" role="10QFUM">
<node concept="2YIFZM" id="4peSo3CLF_6" role="37wK5m">
<ref role="37wK5l" to="yg8f:4peSo3CLatr" resolve="create" />
<ref role="1Pybhc" to="yg8f:4peSo3CLajR" resolve="TreeFactory" />
<node concept="2OqwBi" id="4peSo3CLF_7" role="37wK5m">
<node concept="1eOMI4" id="4peSo3CLF_8" role="2Oq$k0">
<node concept="10QFUN" id="4peSo3CLF_9" role="1eOMHV">
<node concept="3uibUv" id="4peSo3CLF_a" role="10QFUM">
<ref role="3uigEE" to="ie8e:1bm7a6EXvsP" resolve="ITreePart" />
<node concept="3qTvmN" id="6xYPVrpC2Hy" role="11_B2D" />
<node concept="3qTvmN" id="4peSo3CLF_b" role="11_B2D" />
</node>
<node concept="37vLTw" id="6xYPVrpBYBZ" role="10QFUP">
<node concept="37vLTw" id="4peSo3CLF_c" role="10QFUP">
<ref role="3cqZAo" node="6xYPVrp$v6t" resolve="node" />
</node>
</node>
</node>
<node concept="liA8E" id="6xYPVrpC6WL" role="2OqNvi">
<node concept="liA8E" id="4peSo3CLF_d" role="2OqNvi">
<ref role="37wK5l" to="ie8e:2QE4RCGndD7" resolve="asRoot" />
</node>
</node>

View File

@ -279,6 +279,9 @@
<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="1146644641414" name="jetbrains.mps.baseLanguage.structure.ProtectedVisibility" flags="nn" index="3Tmbuc" />
<concept id="1116615150612" name="jetbrains.mps.baseLanguage.structure.ClassifierClassExpression" flags="nn" index="3VsKOn">
<reference id="1116615189566" name="classifier" index="3VsUkX" />
</concept>
<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" />
@ -466,19 +469,23 @@
</node>
<node concept="10Nm6u" id="1mP5b6jQkda" role="3uHU7w" />
</node>
<node concept="3y3z36" id="1mP5b6jQkdb" role="3uHU7w">
<node concept="2OqwBi" id="1mP5b6jQkdc" role="3uHU7B">
<node concept="Xjq3P" id="1mP5b6jQkdd" role="2Oq$k0" />
<node concept="liA8E" id="1mP5b6jQkde" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~Object.getClass():java.lang.Class" resolve="getClass" />
</node>
</node>
<node concept="2OqwBi" id="1mP5b6jQkdf" role="3uHU7w">
<node concept="37vLTw" id="1mP5b6jQkdg" role="2Oq$k0">
<ref role="3cqZAo" node="1mP5b6jQkdp" resolve="o" />
</node>
<node concept="liA8E" id="1mP5b6jQkdh" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~Object.getClass():java.lang.Class" resolve="getClass" />
<node concept="3fqX7Q" id="4peSo3CNEEt" role="3uHU7w">
<node concept="1eOMI4" id="4peSo3CNEEv" role="3fr31v">
<node concept="2OqwBi" id="4peSo3CNEEw" role="1eOMHV">
<node concept="3VsKOn" id="4peSo3CNEEx" role="2Oq$k0">
<ref role="3VsUkX" node="2xQ7eRABXh4" resolve="Tree" />
</node>
<node concept="liA8E" id="4peSo3CNEEy" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~Class.isAssignableFrom(java.lang.Class):boolean" resolve="isAssignableFrom" />
<node concept="2OqwBi" id="4peSo3CNEEz" role="37wK5m">
<node concept="37vLTw" id="4peSo3CNEE$" role="2Oq$k0">
<ref role="3cqZAo" node="1mP5b6jQkdp" resolve="o" />
</node>
<node concept="liA8E" id="4peSo3CNEE_" role="2OqNvi">
<ref role="37wK5l" to="e2lb:~Object.getClass():java.lang.Class" resolve="getClass" />
</node>
</node>
</node>
</node>
</node>
</node>
@ -11479,8 +11486,6 @@
<ref role="3uigEE" node="3JgCwkqiP3h" resolve="TreeWalk.Walker" />
</node>
<node concept="2tJIrI" id="5s497VqXx1L" role="jymVt" />
<node concept="2tJIrI" id="3gJBs5szZVy" role="jymVt" />
<node concept="2tJIrI" id="3gJBs5s$2k_" role="jymVt" />
<node concept="2YIFZL" id="5s497VqXK1B" role="jymVt">
<property role="TrG5h" value="prettyPrint" />
<node concept="17QB3L" id="3_ALDc$_5nr" role="3clF45" />