Refactor DataForm presentation mechanism, drop unused code

Rewrite most of DataFormPrinter for simplicity.

Reformat presentation of terms, so that the specification comes at the beginning.
This commit is contained in:
Fedor Isakov 2021-02-01 16:04:12 +01:00
parent e06916b184
commit 676645fad2
4 changed files with 3472 additions and 2719 deletions

File diff suppressed because it is too large Load Diff

View File

@ -268,6 +268,13 @@
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
<concept id="709746936026466394" name="jetbrains.mps.lang.core.structure.ChildAttribute" flags="ng" index="3VBwX9">
<property id="709746936026609031" name="linkId" index="3V$3ak" />
<property id="709746936026609029" name="role_DebugInfo" index="3V$3am" />
</concept>
<concept id="4452961908202556907" name="jetbrains.mps.lang.core.structure.BaseCommentAttribute" flags="ng" index="1X3_iC">
<child id="3078666699043039389" name="commentedNode" index="8Wnug" />
</concept>
</language>
<language id="c7fb639f-be78-4307-89b0-b5959c3fa8c8" name="jetbrains.mps.lang.text">
<concept id="155656958578482948" name="jetbrains.mps.lang.text.structure.Word" flags="nn" index="3oM_SD">
@ -3966,18 +3973,34 @@
</node>
</node>
</node>
<node concept="3vlDli" id="5wYq9r5qSoc" role="3cqZAp">
<node concept="Xl_RD" id="5wYq9r5qSry" role="3tpDZB">
<property role="Xl_RC" value="(concept='ClassifierType' classifier='Object')" />
<node concept="3vlDli" id="19fWAfxPNTZ" role="3cqZAp">
<node concept="Xl_RD" id="19fWAfxPNU0" role="3tpDZB">
<property role="Xl_RC" value="('ClassifierType' 'Object')" />
</node>
<node concept="2YIFZM" id="5wYq9r5vLy2" role="3tpDZA">
<node concept="2YIFZM" id="19fWAfxPNU1" role="3tpDZA">
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<node concept="37vLTw" id="5wYq9r5vLy3" role="37wK5m">
<node concept="37vLTw" id="19fWAfxPNU2" role="37wK5m">
<ref role="3cqZAo" node="5wYq9r5qRUE" resolve="term" />
</node>
</node>
</node>
<node concept="1X3_iC" id="19fWAfxPNZK" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3vlDli" id="5wYq9r5qSoc" role="8Wnug">
<node concept="Xl_RD" id="5wYq9r5qSry" role="3tpDZB">
<property role="Xl_RC" value="(concept='ClassifierType' classifier='Object')" />
</node>
<node concept="2YIFZM" id="5wYq9r5vLy2" role="3tpDZA">
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<node concept="37vLTw" id="5wYq9r5vLy3" role="37wK5m">
<ref role="3cqZAo" node="5wYq9r5qRUE" resolve="term" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="5wYq9r5vLC4" role="3cqZAp" />
@ -4018,18 +4041,34 @@
</node>
</node>
</node>
<node concept="3vlDli" id="5wYq9r5vL_z" role="3cqZAp">
<node concept="Xl_RD" id="5wYq9r5vL_$" role="3tpDZB">
<property role="Xl_RC" value="(concept='ClassifierType' classifier='List' parameter:(concept='Type'))" />
<node concept="3vlDli" id="19fWAfxPV_K" role="3cqZAp">
<node concept="Xl_RD" id="19fWAfxPV_L" role="3tpDZB">
<property role="Xl_RC" value="('ClassifierType' 'List' ('Type'))" />
</node>
<node concept="2YIFZM" id="5wYq9r5vL__" role="3tpDZA">
<node concept="2YIFZM" id="19fWAfxPV_M" role="3tpDZA">
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<node concept="37vLTw" id="5wYq9r5$jRU" role="37wK5m">
<node concept="37vLTw" id="19fWAfxPV_N" role="37wK5m">
<ref role="3cqZAo" node="5wYq9r5vL_C" resolve="term" />
</node>
</node>
</node>
<node concept="1X3_iC" id="19fWAfxPVF_" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3vlDli" id="5wYq9r5vL_z" role="8Wnug">
<node concept="Xl_RD" id="5wYq9r5vL_$" role="3tpDZB">
<property role="Xl_RC" value="(concept='ClassifierType' classifier='List' parameter:(concept='Type'))" />
</node>
<node concept="2YIFZM" id="5wYq9r5vL__" role="3tpDZA">
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<node concept="37vLTw" id="5wYq9r5$jRU" role="37wK5m">
<ref role="3cqZAo" node="5wYq9r5vL_C" resolve="term" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="5wYq9r5$dUy" role="3cqZAp" />
@ -4080,18 +4119,34 @@
</node>
</node>
</node>
<node concept="3vlDli" id="5wYq9r5$dPG" role="3cqZAp">
<node concept="Xl_RD" id="5wYq9r5$dPH" role="3tpDZB">
<property role="Xl_RC" value="(concept='ClassifierType' classifier='Pair' parameters:[(concept='Type1'), (concept='Type2')])" />
<node concept="3vlDli" id="19fWAfxQ3c7" role="3cqZAp">
<node concept="Xl_RD" id="19fWAfxQ3c8" role="3tpDZB">
<property role="Xl_RC" value="('ClassifierType' 'Pair' [('Type1'), ('Type2')])" />
</node>
<node concept="2YIFZM" id="5wYq9r5$dPI" role="3tpDZA">
<node concept="2YIFZM" id="19fWAfxQ3c9" role="3tpDZA">
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<node concept="37vLTw" id="5wYq9r5$jTm" role="37wK5m">
<node concept="37vLTw" id="19fWAfxQ3ca" role="37wK5m">
<ref role="3cqZAo" node="5wYq9r5$dPL" resolve="term" />
</node>
</node>
</node>
<node concept="1X3_iC" id="19fWAfxQ3im" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3vlDli" id="5wYq9r5$dPG" role="8Wnug">
<node concept="Xl_RD" id="5wYq9r5$dPH" role="3tpDZB">
<property role="Xl_RC" value="(concept='ClassifierType' classifier='Pair' parameters:[(concept='Type1'), (concept='Type2')])" />
</node>
<node concept="2YIFZM" id="5wYq9r5$dPI" role="3tpDZA">
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<node concept="37vLTw" id="5wYq9r5$jTm" role="37wK5m">
<ref role="3cqZAo" node="5wYq9r5$dPL" resolve="term" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -4158,18 +4213,34 @@
</node>
</node>
</node>
<node concept="3vlDli" id="5wYq9r5Av4N" role="3cqZAp">
<node concept="Xl_RD" id="5wYq9r5Av4O" role="3tpDZB">
<property role="Xl_RC" value="classifier(classifier='Object')" />
<node concept="3vlDli" id="19fWAfxQdro" role="3cqZAp">
<node concept="Xl_RD" id="19fWAfxQdrp" role="3tpDZB">
<property role="Xl_RC" value="classifier('Object')" />
</node>
<node concept="2YIFZM" id="5wYq9r5Av4P" role="3tpDZA">
<node concept="2YIFZM" id="19fWAfxQdrq" role="3tpDZA">
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<node concept="37vLTw" id="1RYTbd6EmSg" role="37wK5m">
<node concept="37vLTw" id="19fWAfxQdrr" role="37wK5m">
<ref role="3cqZAo" node="1RYTbd6EmtI" resolve="typeterm" />
</node>
</node>
</node>
<node concept="1X3_iC" id="19fWAfxQdCG" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3vlDli" id="5wYq9r5Av4N" role="8Wnug">
<node concept="Xl_RD" id="5wYq9r5Av4O" role="3tpDZB">
<property role="Xl_RC" value="classifier(classifier='Object')" />
</node>
<node concept="2YIFZM" id="5wYq9r5Av4P" role="3tpDZA">
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<node concept="37vLTw" id="1RYTbd6EmSg" role="37wK5m">
<ref role="3cqZAo" node="1RYTbd6EmtI" resolve="typeterm" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="5wYq9r5AzAh" role="3cqZAp" />
@ -4224,18 +4295,34 @@
</node>
</node>
</node>
<node concept="3vlDli" id="5wYq9r5Azwm" role="3cqZAp">
<node concept="Xl_RD" id="5wYq9r5Azwn" role="3tpDZB">
<property role="Xl_RC" value="classifier(classifier='List' parameters:[classifier(classifier='String')])" />
<node concept="3vlDli" id="19fWAfxQwh_" role="3cqZAp">
<node concept="Xl_RD" id="19fWAfxQwhA" role="3tpDZB">
<property role="Xl_RC" value="classifier('List' [classifier('String')])" />
</node>
<node concept="2YIFZM" id="5wYq9r5Azwo" role="3tpDZA">
<node concept="2YIFZM" id="19fWAfxQwhB" role="3tpDZA">
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<node concept="37vLTw" id="1RYTbd6Enl9" role="37wK5m">
<node concept="37vLTw" id="19fWAfxQwhC" role="37wK5m">
<ref role="3cqZAo" node="1RYTbd6EmTt" resolve="typeterm" />
</node>
</node>
</node>
<node concept="1X3_iC" id="19fWAfxQwqq" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3vlDli" id="5wYq9r5Azwm" role="8Wnug">
<node concept="Xl_RD" id="5wYq9r5Azwn" role="3tpDZB">
<property role="Xl_RC" value="classifier(classifier='List' parameters:[classifier(classifier='String')])" />
</node>
<node concept="2YIFZM" id="5wYq9r5Azwo" role="3tpDZA">
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<node concept="37vLTw" id="1RYTbd6Enl9" role="37wK5m">
<ref role="3cqZAo" node="1RYTbd6EmTt" resolve="typeterm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
@ -4322,18 +4409,34 @@
</node>
</node>
</node>
<node concept="3vlDli" id="6Dg__VJ9y13" role="3cqZAp">
<node concept="Xl_RD" id="6Dg__VJ9y14" role="3tpDZB">
<property role="Xl_RC" value="classifier(classifier='Object')" />
<node concept="3vlDli" id="19fWAfxQC2O" role="3cqZAp">
<node concept="Xl_RD" id="19fWAfxQC2P" role="3tpDZB">
<property role="Xl_RC" value="classifier('Object')" />
</node>
<node concept="2YIFZM" id="6Dg__VJ9y15" role="3tpDZA">
<node concept="2YIFZM" id="19fWAfxQC2Q" role="3tpDZA">
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<node concept="37vLTw" id="1RYTbd6EvBn" role="37wK5m">
<node concept="37vLTw" id="19fWAfxQC2R" role="37wK5m">
<ref role="3cqZAo" node="1RYTbd6EuLe" resolve="typeterm" />
</node>
</node>
</node>
<node concept="1X3_iC" id="19fWAfxQCby" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3vlDli" id="6Dg__VJ9y13" role="8Wnug">
<node concept="Xl_RD" id="6Dg__VJ9y14" role="3tpDZB">
<property role="Xl_RC" value="classifier(classifier='Object')" />
</node>
<node concept="2YIFZM" id="6Dg__VJ9y15" role="3tpDZA">
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<node concept="37vLTw" id="1RYTbd6EvBn" role="37wK5m">
<ref role="3cqZAo" node="1RYTbd6EuLe" resolve="typeterm" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="6Dg__VJ4oUE" role="3cqZAp" />
@ -4403,18 +4506,34 @@
</node>
</node>
<node concept="3clFbH" id="1RYTbd6EKI4" role="3cqZAp" />
<node concept="3vlDli" id="6Dg__VJ4oUX" role="3cqZAp">
<node concept="Xl_RD" id="6Dg__VJ4oUY" role="3tpDZB">
<property role="Xl_RC" value="list(parameter:[classifier(classifier='String')] classifier='List')" />
<node concept="3vlDli" id="19fWAfxQJ$R" role="3cqZAp">
<node concept="Xl_RD" id="19fWAfxQJ$S" role="3tpDZB">
<property role="Xl_RC" value="list('List' [classifier('String')])" />
</node>
<node concept="2YIFZM" id="6Dg__VJ4oUZ" role="3tpDZA">
<node concept="2YIFZM" id="19fWAfxQJ$T" role="3tpDZA">
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<node concept="37vLTw" id="1RYTbd6ENfr" role="37wK5m">
<node concept="37vLTw" id="19fWAfxQJ$U" role="37wK5m">
<ref role="3cqZAo" node="1RYTbd6EL09" resolve="typeTerm" />
</node>
</node>
</node>
<node concept="1X3_iC" id="19fWAfxQJLn" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3vlDli" id="6Dg__VJ4oUX" role="8Wnug">
<node concept="Xl_RD" id="6Dg__VJ4oUY" role="3tpDZB">
<property role="Xl_RC" value="list(parameter:[classifier(classifier='String')] classifier='List')" />
</node>
<node concept="2YIFZM" id="6Dg__VJ4oUZ" role="3tpDZA">
<ref role="1Pybhc" to="6exd:1G9MbtSGvLs" resolve="DataFormPrinter" />
<ref role="37wK5l" to="6exd:1G9MbtSGvMe" resolve="print" />
<node concept="37vLTw" id="1RYTbd6ENfr" role="37wK5m">
<ref role="3cqZAo" node="1RYTbd6EL09" resolve="typeTerm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>