Enable extraction of sub-tree via "asRoot" for later embedding into other tree; editor fixes

This commit is contained in:
Fedor Isakov 2015-02-21 12:38:37 +01:00
parent 13900bfe90
commit 23d5bd0bcb
4 changed files with 198 additions and 64 deletions

View File

@ -710,28 +710,33 @@
</node>
</node>
<node concept="3clFbF" id="77AxcO5dVRd" role="3cqZAp">
<node concept="2OqwBi" id="77AxcO5dVV5" role="3clFbG">
<node concept="37vLTw" id="77AxcO5dVRb" role="2Oq$k0">
<ref role="3cqZAo" node="77AxcO5dVLY" resolve="tl" />
<node concept="29HgVG" id="77AxcO5dXcS" role="lGtFl">
<node concept="3NFfHV" id="77AxcO5dXcT" role="3NFExx">
<node concept="3clFbS" id="77AxcO5dXcU" role="2VODD2">
<node concept="3clFbF" id="77AxcO5dXd0" role="3cqZAp">
<node concept="2OqwBi" id="77AxcO5dXcV" role="3clFbG">
<node concept="3TrEf2" id="77AxcO5dXcY" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:3JgCwkq$VUQ" />
<node concept="2OqwBi" id="2QE4RCGoqNt" role="3clFbG">
<node concept="2OqwBi" id="77AxcO5dVV5" role="2Oq$k0">
<node concept="37vLTw" id="77AxcO5dVRb" role="2Oq$k0">
<ref role="3cqZAo" node="77AxcO5dVLY" resolve="tl" />
<node concept="29HgVG" id="77AxcO5dXcS" role="lGtFl">
<node concept="3NFfHV" id="77AxcO5dXcT" role="3NFExx">
<node concept="3clFbS" id="77AxcO5dXcU" role="2VODD2">
<node concept="3clFbF" id="77AxcO5dXd0" role="3cqZAp">
<node concept="2OqwBi" id="77AxcO5dXcV" role="3clFbG">
<node concept="3TrEf2" id="77AxcO5dXcY" role="2OqNvi">
<ref role="3Tt5mk" to="5j4j:3JgCwkq$VUQ" />
</node>
<node concept="30H73N" id="77AxcO5dXcZ" role="2Oq$k0" />
</node>
<node concept="30H73N" id="77AxcO5dXcZ" role="2Oq$k0" />
</node>
</node>
</node>
</node>
</node>
<node concept="liA8E" id="77AxcO5dWLZ" role="2OqNvi">
<ref role="37wK5l" to="oy3s:1Ns6gpY6DeD" resolve="toTreePart" />
</node>
</node>
<node concept="liA8E" id="77AxcO5dWLZ" role="2OqNvi">
<ref role="37wK5l" to="oy3s:1Ns6gpY6DeD" resolve="toTreePart" />
<node concept="liA8E" id="2QE4RCGorDr" role="2OqNvi">
<ref role="37wK5l" to="ie8e:2QE4RCGndD7" resolve="asRoot" />
</node>
<node concept="raruj" id="77AxcO5dX8U" role="lGtFl" />
<node concept="raruj" id="2QE4RCGorN6" role="lGtFl" />
</node>
</node>
</node>

View File

@ -495,10 +495,14 @@
<node concept="3EZMnI" id="1pt0VTMw7t$" role="2wV5jI">
<node concept="3F0A7n" id="1pt0VTMw7tT" role="3EZMnx">
<ref role="1NtTu8" to="tpck:h0TrG11" resolve="name" />
<ref role="1k5W1q" to="tpen:hgVSdfU" resolve="StringLiteral" />
<node concept="34QqEe" id="1pt0VTMypUt" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>
<node concept="3Xmtl4" id="1lUeO1NkL0x" role="3F10Kt">
<node concept="1wgc9g" id="1lUeO1NkL1w" role="3XvnJa">
<ref role="1wgcnl" to="tpen:aeM1BF$B9t" />
</node>
</node>
</node>
<node concept="3F0ifn" id="1pt0VTMw7tL" role="3EZMnx">
<property role="3F0ifm" value="=" />
@ -547,6 +551,7 @@
<node concept="3F0A7n" id="1pt0VTMw9vG" role="2wV5jI">
<ref role="1NtTu8" to="5j4j:6$jH9oLmYKA" resolve="value" />
<ref role="1ERwB7" node="3qvzBqWFBjP" resolve="ValueHolder_DELETE" />
<ref role="1k5W1q" to="tpen:hgVSdfU" resolve="StringLiteral" />
<node concept="VPRnO" id="35Lj3Tim2Yt" role="3F10Kt">
<property role="VOm3f" value="true" />
</node>

View File

@ -3326,14 +3326,61 @@
</node>
</node>
</node>
<node concept="3cpWs8" id="2QE4RCGhZVd" role="3cqZAp">
<node concept="3cpWsn" id="2QE4RCGhZVe" role="3cpWs9">
<property role="TrG5h" value="fullName" />
<node concept="3uibUv" id="2QE4RCGhZV8" role="1tU5fm">
<ref role="3uigEE" to="e2lb:~String" resolve="String" />
</node>
<node concept="3K4zz7" id="2QE4RCGhZVf" role="33vP2m">
<node concept="1rXfSq" id="2QE4RCGhZVg" role="3K4E3e">
<ref role="37wK5l" to="w2rx:~Logical.getName():java.lang.String" resolve="getName" />
</node>
<node concept="3clFbC" id="2QE4RCGhZVh" role="3K4Cdx">
<node concept="37vLTw" id="2QE4RCGhZVi" role="3uHU7w">
<ref role="3cqZAo" node="5NuEpF1xSwz" resolve="repr" />
</node>
<node concept="Xjq3P" id="2QE4RCGhZVj" role="3uHU7B" />
</node>
<node concept="3cpWs3" id="2QE4RCGhZVk" role="3K4GZi">
<node concept="2OqwBi" id="2QE4RCGhZVl" role="3uHU7w">
<node concept="37vLTw" id="2QE4RCGhZVm" role="2Oq$k0">
<ref role="3cqZAo" node="5NuEpF1xSwz" resolve="repr" />
</node>
<node concept="liA8E" id="2QE4RCGhZVn" role="2OqNvi">
<ref role="37wK5l" to="w2rx:~Logical.getName():java.lang.String" resolve="getName" />
</node>
</node>
<node concept="3cpWs3" id="2QE4RCGhZVo" role="3uHU7B">
<node concept="1rXfSq" id="2QE4RCGhZVp" role="3uHU7B">
<ref role="37wK5l" to="w2rx:~Logical.getName():java.lang.String" resolve="getName" />
</node>
<node concept="Xl_RD" id="2QE4RCGhZVq" role="3uHU7w">
<property role="Xl_RC" value=":" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="5NuEpF1xSlQ" role="3cqZAp">
<node concept="3K4zz7" id="5NuEpF1xUF9" role="3clFbG">
<node concept="2OqwBi" id="5NuEpF1y3Hh" role="3K4E3e">
<node concept="37vLTw" id="3v$7B1KczTq" role="2Oq$k0">
<ref role="3cqZAo" node="3v$7B1Kczo1" resolve="value" />
<node concept="3cpWs3" id="2QE4RCGi0Vz" role="3K4E3e">
<node concept="3cpWs3" id="2QE4RCGi1gc" role="3uHU7B">
<node concept="Xl_RD" id="2QE4RCGi1m6" role="3uHU7w">
<property role="Xl_RC" value="=" />
</node>
<node concept="37vLTw" id="2QE4RCGi0Zs" role="3uHU7B">
<ref role="3cqZAo" node="2QE4RCGhZVe" resolve="fullName" />
</node>
</node>
<node concept="liA8E" id="5NuEpF1y45Z" role="2OqNvi">
<ref role="37wK5l" to="ie8e:5JQSuNs_vzS" resolve="toString" />
<node concept="2OqwBi" id="5NuEpF1y3Hh" role="3uHU7w">
<node concept="37vLTw" id="3v$7B1KczTq" role="2Oq$k0">
<ref role="3cqZAo" node="3v$7B1Kczo1" resolve="value" />
</node>
<node concept="liA8E" id="5NuEpF1y45Z" role="2OqNvi">
<ref role="37wK5l" to="ie8e:5JQSuNs_vzS" resolve="toString" />
</node>
</node>
</node>
<node concept="3y3z36" id="5NuEpF1xUat" role="3K4Cdx">
@ -3342,36 +3389,8 @@
<ref role="3cqZAo" node="3v$7B1Kczo1" resolve="value" />
</node>
</node>
<node concept="1eOMI4" id="5NuEpF1xWsW" role="3K4GZi">
<node concept="3K4zz7" id="5NuEpF1xYJI" role="1eOMHV">
<node concept="1rXfSq" id="5NuEpF1xYO6" role="3K4E3e">
<ref role="37wK5l" to="w2rx:~Logical.getName():java.lang.String" resolve="getName" />
</node>
<node concept="3clFbC" id="5NuEpF1xYzc" role="3K4Cdx">
<node concept="37vLTw" id="5NuEpF1xYEp" role="3uHU7w">
<ref role="3cqZAo" node="5NuEpF1xSwz" resolve="repr" />
</node>
<node concept="Xjq3P" id="5NuEpF1xYBa" role="3uHU7B" />
</node>
<node concept="3cpWs3" id="5NuEpF1xZtE" role="3K4GZi">
<node concept="2OqwBi" id="5NuEpF1xZNQ" role="3uHU7w">
<node concept="37vLTw" id="5NuEpF1xZBe" role="2Oq$k0">
<ref role="3cqZAo" node="5NuEpF1xSwz" resolve="repr" />
</node>
<node concept="liA8E" id="5NuEpF1y0D3" role="2OqNvi">
<ref role="37wK5l" to="w2rx:~Logical.getName():java.lang.String" resolve="getName" />
</node>
</node>
<node concept="3cpWs3" id="5NuEpF1xZ5K" role="3uHU7B">
<node concept="1rXfSq" id="5NuEpF1xYY_" role="3uHU7B">
<ref role="37wK5l" to="w2rx:~Logical.getName():java.lang.String" resolve="getName" />
</node>
<node concept="Xl_RD" id="5NuEpF1xZ6w" role="3uHU7w">
<property role="Xl_RC" value=":" />
</node>
</node>
</node>
</node>
<node concept="37vLTw" id="2QE4RCGhZVr" role="3K4GZi">
<ref role="3cqZAo" node="2QE4RCGhZVe" resolve="fullName" />
</node>
</node>
</node>
@ -3761,21 +3780,12 @@
<node concept="17QB3L" id="2pvEdqukxHZ" role="3clF45" />
<node concept="3clFbS" id="7d$oK1$Cq5i" role="3clF47">
<node concept="3clFbF" id="7d$oK1$CsLS" role="3cqZAp">
<node concept="3cpWs3" id="7d$oK1$Curz" role="3clFbG">
<node concept="Xl_RD" id="7d$oK1$CurK" role="3uHU7w">
<property role="Xl_RC" value="%" />
<node concept="2OqwBi" id="2QE4RCGhSOw" role="3clFbG">
<node concept="37vLTw" id="2QE4RCGhSCy" role="2Oq$k0">
<ref role="3cqZAo" node="1Ns6gpY6nSX" resolve="treeLogical" />
</node>
<node concept="3cpWs3" id="7d$oK1$Ct0N" role="3uHU7B">
<node concept="Xl_RD" id="7d$oK1$CsLR" role="3uHU7B">
<property role="Xl_RC" value="%" />
</node>
<node concept="2YIFZM" id="7d$oK1$CtsP" role="3uHU7w">
<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="37vLTw" id="7d$oK1$CtSM" role="37wK5m">
<ref role="3cqZAo" node="1Ns6gpY6nSX" resolve="treeLogical" />
</node>
</node>
<node concept="liA8E" id="2QE4RCGhTIr" role="2OqNvi">
<ref role="37wK5l" to="w2rx:~Logical.getName():java.lang.String" resolve="getName" />
</node>
</node>
</node>

View File

@ -211,6 +211,9 @@
<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>
<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" />
@ -673,6 +676,27 @@
</node>
</node>
<node concept="2tJIrI" id="104EUzFORp5" role="jymVt" />
<node concept="3clFb_" id="2QE4RCGngWG" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="2aFKle" value="false" />
<property role="TrG5h" value="asRoot" />
<node concept="3Tm1VV" id="2QE4RCGngWI" role="1B3o_S" />
<node concept="3uibUv" id="2QE4RCGngWJ" role="3clF45">
<ref role="3uigEE" node="2xQ7eRAD2dj" resolve="Value" />
<node concept="16syzq" id="2QE4RCGniN8" role="11_B2D">
<ref role="16sUi3" node="1msb0mq99pI" resolve="V" />
</node>
</node>
<node concept="3clFbS" id="2QE4RCGngWM" role="3clF47">
<node concept="3clFbF" id="2QE4RCGnh_H" role="3cqZAp">
<node concept="Xjq3P" id="2QE4RCGnh_E" role="3clFbG" />
</node>
</node>
<node concept="2AHcQZ" id="2QE4RCGnsGc" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="2QE4RCGnhB7" role="jymVt" />
<node concept="3clFb_" id="104EUzFOQG8" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="acceptVisitor" />
@ -1410,6 +1434,44 @@
</node>
</node>
<node concept="2tJIrI" id="3OPtF02Txyh" role="jymVt" />
<node concept="3clFb_" id="2QE4RCGnBX_" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="2aFKle" value="false" />
<property role="TrG5h" value="asRoot" />
<node concept="3Tm1VV" id="2QE4RCGnBXB" role="1B3o_S" />
<node concept="3clFbS" id="2QE4RCGnBXH" role="3clF47">
<node concept="3clFbJ" id="2QE4RCGoefy" role="3cqZAp">
<node concept="3clFbS" id="2QE4RCGoefz" role="3clFbx">
<node concept="3cpWs6" id="2QE4RCGof2r" role="3cqZAp">
<node concept="Xjq3P" id="2QE4RCGofnH" role="3cqZAk" />
</node>
</node>
<node concept="2OqwBi" id="2QE4RCGoezs" role="3clFbw">
<node concept="1rXfSq" id="2QE4RCGoeix" role="2Oq$k0">
<ref role="37wK5l" node="1R$Cm9qGYlZ" resolve="path" />
</node>
<node concept="liA8E" id="2QE4RCGoeKd" role="2OqNvi">
<ref role="37wK5l" node="2QE4RCGoaTQ" resolve="isRoot" />
</node>
</node>
</node>
<node concept="3clFbF" id="2QE4RCGogGp" role="3cqZAp">
<node concept="1rXfSq" id="2QE4RCGogGn" role="3clFbG">
<ref role="37wK5l" node="1bm7a6EYD0x" resolve="copyRecursively" />
</node>
</node>
</node>
<node concept="3uibUv" id="2QE4RCGnD6S" role="3clF45">
<ref role="3uigEE" node="1msb0mq9ID4" resolve="Branch" />
<node concept="16syzq" id="2QE4RCGnD6T" role="11_B2D">
<ref role="16sUi3" node="5JQSuNswjwE" resolve="T" />
</node>
</node>
<node concept="2AHcQZ" id="2QE4RCGnDKs" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="2QE4RCGnBiQ" role="jymVt" />
<node concept="3clFb_" id="1R$Cm9qGYlZ" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="path" />
@ -2984,6 +3046,24 @@
</node>
</node>
<node concept="2tJIrI" id="104EUzFOY5M" role="jymVt" />
<node concept="3clFb_" id="2QE4RCGnoHX" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="2aFKle" value="false" />
<property role="TrG5h" value="asRoot" />
<node concept="3Tm1VV" id="2QE4RCGnoHZ" role="1B3o_S" />
<node concept="3uibUv" id="2QE4RCGnuWO" role="3clF45">
<ref role="3uigEE" node="uNmovXiEd4" resolve="Variable" />
</node>
<node concept="3clFbS" id="2QE4RCGnoI6" role="3clF47">
<node concept="3clFbF" id="2QE4RCGnwae" role="3cqZAp">
<node concept="Xjq3P" id="2QE4RCGnwad" role="3clFbG" />
</node>
</node>
<node concept="2AHcQZ" id="2QE4RCGnr7N" role="2AJF6D">
<ref role="2AI5Lk" to="e2lb:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="2QE4RCGnpXb" role="jymVt" />
<node concept="3clFb_" id="104EUzFOWtH" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="acceptVisitor" />
@ -3816,6 +3896,26 @@
</node>
</node>
<node concept="2tJIrI" id="1R$Cm9qH4qe" role="jymVt" />
<node concept="3clFb_" id="2QE4RCGoaTQ" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="isRoot" />
<property role="od$2w" value="false" />
<property role="DiZV1" value="false" />
<property role="2aFKle" value="false" />
<node concept="3clFbS" id="2QE4RCGoaTT" role="3clF47">
<node concept="3clFbF" id="2QE4RCGobd7" role="3cqZAp">
<node concept="3clFbC" id="2QE4RCGobfl" role="3clFbG">
<node concept="10Nm6u" id="2QE4RCGobgo" role="3uHU7w" />
<node concept="37vLTw" id="2QE4RCGobd6" role="3uHU7B">
<ref role="3cqZAo" node="1R$Cm9qErqE" resolve="prev" />
</node>
</node>
</node>
</node>
<node concept="3Tm1VV" id="2QE4RCGoazx" role="1B3o_S" />
<node concept="10P_77" id="2QE4RCGoaQi" role="3clF45" />
</node>
<node concept="2tJIrI" id="2QE4RCGoafY" role="jymVt" />
<node concept="3clFb_" id="1R$Cm9qEroc" role="jymVt">
<property role="TrG5h" value="prepend" />
<node concept="3cqZAl" id="1R$Cm9qEroe" role="3clF45" />
@ -4157,6 +4257,20 @@
<node concept="3Tm1VV" id="3OPtF02Tjpu" role="1B3o_S" />
<node concept="3clFbS" id="3OPtF02Tjpv" role="3clF47" />
</node>
<node concept="2tJIrI" id="2QE4RCGnc53" role="jymVt" />
<node concept="3clFb_" id="2QE4RCGndD7" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="2aFKle" value="false" />
<property role="TrG5h" value="asRoot" />
<node concept="3clFbS" id="2QE4RCGndDa" role="3clF47" />
<node concept="3Tm1VV" id="2QE4RCGndDb" role="1B3o_S" />
<node concept="3uibUv" id="2QE4RCGndw1" role="3clF45">
<ref role="3uigEE" node="1bm7a6EXvsP" resolve="ITreePart" />
<node concept="16syzq" id="2QE4RCGnihT" role="11_B2D">
<ref role="16sUi3" node="1bm7a6EYNmF" resolve="T" />
</node>
</node>
</node>
<node concept="2tJIrI" id="3OPtF02Tciw" role="jymVt" />
<node concept="3clFb_" id="104EUzFOBnD" role="jymVt">
<property role="1EzhhJ" value="true" />