Skip to content

Commit

Permalink
Merge pull request #769 from IETS3/feature/flexibleTupleAccess__2021.3
Browse files Browse the repository at this point in the history
Named based result access of decision tables
  • Loading branch information
arimer authored Feb 6, 2024
2 parents 77dbac2 + b702a43 commit d2053d0
Show file tree
Hide file tree
Showing 16 changed files with 1,901 additions and 320 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ The project does _not_ follow Semantic Versioning and the changes are documented
### Added

- `NumberLiteral` can now be converted to a `BigDecimal` with the method `toBigDecimal`.
- Named based access of result columns of multi decision tables were added. Columns can be referenced by name and coexist with the index based access.

## December 2023

Expand Down Expand Up @@ -97,4 +98,4 @@ The language extends typetags with support for different binding times of values

### Changed

- `IETS3ExprEvalHelper` methods no longer log exceptions that they re-throw. Some callers may ignore exceptions thrown by the interpreter, and having them logged unnecessarily clutters the logs. It is now the caller's responsibility to log exceptions where needed.
- `IETS3ExprEvalHelper` methods no longer log exceptions that they re-throw. Some callers may ignore exceptions thrown by the interpreter, and having them logged unnecessarily clutters the logs. It is now the caller's responsibility to log exceptions where needed.
1 change: 1 addition & 0 deletions build/scripts/build-allScripts.xml
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@
<library file="${artifacts.mps}/languages/runtimes/jetbrains.mps.lang.constraints.rules.runtime.jar" />
<library file="${artifacts.mps}/languages/runtimes/jetbrains.mps.lang.feedback.api.jar" />
<library file="${artifacts.mps}/languages/runtimes/jetbrains.mps.lang.feedback.context.jar" />
<library file="${artifacts.mps}/languages/runtimes/jetbrains.mps.lang.feedback.problem.legacy-constraints.jar" />
<library file="${artifacts.mps}/languages/runtimes/jetbrains.mps.lang.feedback.problem.rt.jar" />
<library file="${artifacts.mps}/languages/runtimes/jetbrains.mps.lang.feedback.problem.rules.jar" />
<library file="${artifacts.mps}/languages/runtimes/jetbrains.mps.lang.messages.api.jar" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8118,7 +8118,7 @@
<ref role="3cqZAo" node="Qsaevo33zM" resolve="expr" />
</node>
<node concept="37vLTw" id="5ElQ4ZyUIl" role="37wK5m">
<ref role="3cqZAo" node="Qsaevo35yg" resolve="ctx" />
<ref role="3cqZAo" node="Qsaevo35yg" resolve="context" />
</node>
<node concept="2ShNRf" id="5ElQ4Zz096" role="37wK5m">
<node concept="1pGfFk" id="5ElQ4Zz3WU" role="2ShVmc">
Expand Down Expand Up @@ -8154,7 +8154,7 @@
<ref role="3cqZAo" node="5ElQ4Z$IM_" resolve="expr" />
</node>
<node concept="37vLTw" id="5ElQ4Z$JZk" role="37wK5m">
<ref role="3cqZAo" node="5ElQ4Z$J$R" resolve="ctx" />
<ref role="3cqZAo" node="5ElQ4Z$J$R" resolve="context" />
</node>
<node concept="2ShNRf" id="5ElQ4Z$LEv" role="37wK5m">
<node concept="HV5vD" id="5ElQ4Z$Mqs" role="2ShVmc">
Expand Down Expand Up @@ -8516,7 +8516,7 @@
<ref role="3cqZAo" node="7p_bE3JctZw" resolve="expr" />
</node>
<node concept="37vLTw" id="5ElQ4Z$7xl" role="37wK5m">
<ref role="3cqZAo" node="7p_bE3Jcw0b" resolve="stuffForEnv" />
<ref role="3cqZAo" node="7p_bE3Jcw0b" resolve="environmentContent" />
</node>
<node concept="2ShNRf" id="5zuMBsCJxu8" role="37wK5m">
<node concept="1pGfFk" id="5zuMBsCJxrk" role="2ShVmc">
Expand Down Expand Up @@ -8558,7 +8558,7 @@
<ref role="3cqZAo" node="5ElQ4Z_71W" resolve="expr" />
</node>
<node concept="37vLTw" id="5ElQ4Z_71S" role="37wK5m">
<ref role="3cqZAo" node="5ElQ4Z_71Y" resolve="stuffForEnv" />
<ref role="3cqZAo" node="5ElQ4Z_71Y" resolve="environmentContent" />
</node>
<node concept="2ShNRf" id="5ElQ4Z_cKW" role="37wK5m">
<node concept="HV5vD" id="5ElQ4Z_dIx" role="2ShVmc">
Expand Down Expand Up @@ -8664,7 +8664,7 @@
<node concept="liA8E" id="2nydsCfAQMF" role="2OqNvi">
<ref role="37wK5l" node="2nydsCf$H0v" resolve="withEnvironmentContent" />
<node concept="37vLTw" id="2nydsCfAS1p" role="37wK5m">
<ref role="3cqZAo" node="5ElQ4ZzZbv" resolve="stuffForEnv" />
<ref role="3cqZAo" node="5ElQ4ZzZbv" resolve="environmentContent" />
</node>
</node>
</node>
Expand Down Expand Up @@ -8903,7 +8903,7 @@
</node>
<node concept="3Tm1VV" id="3xDNhgd53EA" role="1B3o_S" />
<node concept="2AHcQZ" id="2nydsCfyZ7D" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Deprecated" />
<ref role="2AI5Lk" to="wyt6:~Deprecated" resolve="Deprecated" />
</node>
<node concept="3UR2Jj" id="2nydsCfyZ7A" role="lGtFl">
<node concept="TZ5HI" id="2nydsCfyZ7B" role="3nqlJM">
Expand Down Expand Up @@ -26526,7 +26526,7 @@
</node>
</node>
<node concept="2qgKlT" id="6wzrxL3bNIn" role="2OqNvi">
<ref role="37wK5l" node="6wzrxL3bBWo" resolve="isProposalForThisType" />
<ref role="37wK5l" node="6wzrxL3bBWo" resolve="isProposalNodeForThisType" />
<node concept="37vLTw" id="6wzrxL3bNTF" role="37wK5m">
<ref role="3cqZAo" node="6wzrxL38hF$" resolve="n" />
</node>
Expand Down Expand Up @@ -26684,7 +26684,7 @@
<node concept="2qgKlT" id="jqB9UdsEfF" role="2OqNvi">
<ref role="37wK5l" node="jqB9UdsHnW" resolve="isProposalConceptForThisType" />
<node concept="37vLTw" id="jqB9UdsEfG" role="37wK5m">
<ref role="3cqZAo" node="jqB9UdsEfN" resolve="n" />
<ref role="3cqZAo" node="jqB9UdsEfN" resolve="c" />
</node>
</node>
</node>
Expand Down Expand Up @@ -26936,12 +26936,12 @@
<node concept="3clFbF" id="2nydsCf$H0x" role="3cqZAp">
<node concept="37vLTI" id="2nydsCf$H0y" role="3clFbG">
<node concept="37vLTw" id="2nydsCf$H0z" role="37vLTx">
<ref role="3cqZAo" node="2nydsCf$H0F" resolve="interpreter" />
<ref role="3cqZAo" node="2nydsCf$H0F" resolve="environmentContent" />
</node>
<node concept="2OqwBi" id="2nydsCf$H0$" role="37vLTJ">
<node concept="Xjq3P" id="2nydsCf$H0_" role="2Oq$k0" />
<node concept="2OwXpG" id="2nydsCf$H0A" role="2OqNvi">
<ref role="2Oxat5" node="2nydsCf$Ggh" resolve="environment" />
<ref role="2Oxat5" node="2nydsCf$Ggh" resolve="environmentContent" />
</node>
</node>
</node>
Expand Down Expand Up @@ -27111,7 +27111,7 @@
<ref role="3cqZAo" node="2nydsCfz7pp" resolve="expr" />
</node>
<node concept="37vLTw" id="2nydsCf_aku" role="37wK5m">
<ref role="3cqZAo" node="2nydsCf$Ggh" resolve="environment" />
<ref role="3cqZAo" node="2nydsCf$Ggh" resolve="environmentContent" />
</node>
</node>
</node>
Expand All @@ -27120,7 +27120,7 @@
<node concept="3y3z36" id="2nydsCf_6QE" role="3clFbw">
<node concept="10Nm6u" id="2nydsCf_7_K" role="3uHU7w" />
<node concept="37vLTw" id="2nydsCf_631" role="3uHU7B">
<ref role="3cqZAo" node="2nydsCf$Ggh" resolve="environment" />
<ref role="3cqZAo" node="2nydsCf$Ggh" resolve="environmentContent" />
</node>
</node>
</node>
Expand Down Expand Up @@ -27373,5 +27373,152 @@
</node>
<node concept="3Tm1VV" id="2nydsCfyYD1" role="1B3o_S" />
</node>
<node concept="13h7C7" id="5r47dOfJ8Us">
<property role="3GE5qa" value="tuples" />
<ref role="13h7C2" to="hm2y:5r47dOfJ8Ur" resolve="ITupleDeclaration" />
<node concept="13i0hz" id="5r47dOfJ8UL" role="13h7CS">
<property role="13i0iv" value="true" />
<property role="13i0it" value="true" />
<property role="TrG5h" value="getMembers" />
<node concept="3Tm1VV" id="5r47dOfJ8UM" role="1B3o_S" />
<node concept="2I9FWS" id="5r47dOfJ9kG" role="3clF45">
<ref role="2I9WkF" to="hm2y:5r47dOfJ8UC" resolve="ITupleMemberDeclaration" />
</node>
<node concept="3clFbS" id="5r47dOfJ8UO" role="3clF47" />
</node>
<node concept="13hLZK" id="5r47dOfJ8Ut" role="13h7CW">
<node concept="3clFbS" id="5r47dOfJ8Uu" role="2VODD2" />
</node>
</node>
<node concept="13h7C7" id="5r47dOg5pCc">
<property role="3GE5qa" value="tuples" />
<ref role="13h7C2" to="hm2y:5r47dOfJ8UC" resolve="ITupleMemberDeclaration" />
<node concept="13i0hz" id="5r47dOg5pCn" role="13h7CS">
<property role="13i0iv" value="true" />
<property role="13i0it" value="true" />
<property role="TrG5h" value="type" />
<node concept="3Tm1VV" id="5r47dOg5pCo" role="1B3o_S" />
<node concept="3Tqbb2" id="5r47dOg5pT$" role="3clF45">
<ref role="ehGHo" to="hm2y:6sdnDbSlaok" resolve="Type" />
</node>
<node concept="3clFbS" id="5r47dOg5pCq" role="3clF47" />
</node>
<node concept="13hLZK" id="5r47dOg5pCd" role="13h7CW">
<node concept="3clFbS" id="5r47dOg5pCe" role="2VODD2" />
</node>
</node>
<node concept="13h7C7" id="6GiZkUz7qWV">
<property role="3GE5qa" value="tuples" />
<ref role="13h7C2" to="hm2y:6GiZkUz7qWO" resolve="InlineNamedTupleAccess" />
<node concept="13hLZK" id="6GiZkUz7qWW" role="13h7CW">
<node concept="3clFbS" id="6GiZkUz7qWX" role="2VODD2" />
</node>
<node concept="13i0hz" id="6GiZkUz7qX6" role="13h7CS">
<property role="TrG5h" value="renderReadable" />
<ref role="13i0hy" node="6kR0qIbI2yi" resolve="renderReadable" />
<node concept="3Tm1VV" id="6GiZkUz7qX7" role="1B3o_S" />
<node concept="3clFbS" id="6GiZkUz7qXa" role="3clF47">
<node concept="3clFbF" id="6GiZkUz7Aah" role="3cqZAp">
<node concept="2OqwBi" id="6GiZkUz7AIH" role="3clFbG">
<node concept="2OqwBi" id="6GiZkUz7AkM" role="2Oq$k0">
<node concept="13iPFW" id="6GiZkUz7Aae" role="2Oq$k0" />
<node concept="3TrEf2" id="6GiZkUz7A_H" role="2OqNvi">
<ref role="3Tt5mk" to="hm2y:6GiZkUz7r1V" resolve="member" />
</node>
</node>
<node concept="3TrcHB" id="6GiZkUz7ASw" role="2OqNvi">
<ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
</node>
</node>
</node>
</node>
<node concept="17QB3L" id="6GiZkUz7qXb" role="3clF45" />
</node>
<node concept="13i0hz" id="6GiZkUzfnDf" role="13h7CS">
<property role="TrG5h" value="expression" />
<node concept="3Tm1VV" id="6GiZkUzfnDg" role="1B3o_S" />
<node concept="3Tqbb2" id="6GiZkUzfnJ0" role="3clF45">
<ref role="ehGHo" to="hm2y:6sdnDbSla17" resolve="Expression" />
</node>
<node concept="3clFbS" id="6GiZkUzfnDi" role="3clF47">
<node concept="3clFbF" id="6GiZkUzfnJO" role="3cqZAp">
<node concept="2OqwBi" id="6GiZkUzfoIf" role="3clFbG">
<node concept="1PxgMI" id="6GiZkUzfor4" role="2Oq$k0">
<node concept="chp4Y" id="6GiZkUzfos0" role="3oSUPX">
<ref role="cht4Q" to="hm2y:7NJy08a3O99" resolve="DotExpression" />
</node>
<node concept="2OqwBi" id="6GiZkUzfnOJ" role="1m5AlR">
<node concept="13iPFW" id="6GiZkUzfnJN" role="2Oq$k0" />
<node concept="1mfA1w" id="6GiZkUzfnVi" role="2OqNvi" />
</node>
</node>
<node concept="3TrEf2" id="6GiZkUzfpIH" role="2OqNvi">
<ref role="3Tt5mk" to="hm2y:4rZeNQ6NgXF" resolve="expr" />
</node>
</node>
</node>
</node>
</node>
<node concept="13i0hz" id="6GiZkUzfqE6" role="13h7CS">
<property role="TrG5h" value="type" />
<node concept="3Tm1VV" id="6GiZkUzfqE7" role="1B3o_S" />
<node concept="3Tqbb2" id="6GiZkUzfqRk" role="3clF45">
<ref role="ehGHo" to="hm2y:5r47dOfJ9kS" resolve="InlineTupleType" />
</node>
<node concept="3clFbS" id="6GiZkUzfqE9" role="3clF47">
<node concept="3clFbF" id="6GiZkUzfr29" role="3cqZAp">
<node concept="1PxgMI" id="6GiZkUzfsfl" role="3clFbG">
<property role="1BlNFB" value="true" />
<node concept="chp4Y" id="6GiZkUzfsgz" role="3oSUPX">
<ref role="cht4Q" to="hm2y:5r47dOfJ9kS" resolve="InlineTupleType" />
</node>
<node concept="2OqwBi" id="6GiZkUzfrek" role="1m5AlR">
<node concept="BsUDl" id="6GiZkUzfr28" role="2Oq$k0">
<ref role="37wK5l" node="6GiZkUzfnDf" resolve="expression" />
</node>
<node concept="3JvlWi" id="6GiZkUzfrHO" role="2OqNvi" />
</node>
</node>
</node>
</node>
</node>
<node concept="13i0hz" id="1c6hIxyZnje" role="13h7CS">
<property role="TrG5h" value="tupleDeclaration" />
<node concept="3Tm1VV" id="1c6hIxyZnjf" role="1B3o_S" />
<node concept="3Tqbb2" id="1c6hIxyZnyV" role="3clF45">
<ref role="ehGHo" to="hm2y:5r47dOfJ8Ur" resolve="ITupleDeclaration" />
</node>
<node concept="3clFbS" id="1c6hIxyZnjh" role="3clF47">
<node concept="3clFbF" id="1c6hIxyZn$Y" role="3cqZAp">
<node concept="2OqwBi" id="1c6hIxyZn_0" role="3clFbG">
<node concept="BsUDl" id="1c6hIxyZn_1" role="2Oq$k0">
<ref role="37wK5l" node="6GiZkUzfqE6" resolve="type" />
</node>
<node concept="3TrEf2" id="1c6hIxyZn_2" role="2OqNvi">
<ref role="3Tt5mk" to="hm2y:5r47dOfJ9kT" resolve="decl" />
</node>
</node>
</node>
</node>
</node>
<node concept="13i0hz" id="6GiZkUzfnf3" role="13h7CS">
<property role="TrG5h" value="effectDescriptor" />
<ref role="13i0hy" node="6GySMNjjWfO" resolve="effectDescriptor" />
<node concept="3Tm1VV" id="6GiZkUzfnf4" role="1B3o_S" />
<node concept="3clFbS" id="6GiZkUzfnfd" role="3clF47">
<node concept="3clFbF" id="6GiZkUzfnq7" role="3cqZAp">
<node concept="BsUDl" id="6GiZkUzfnq2" role="3clFbG">
<ref role="37wK5l" node="6KxoTHgL$U0" resolve="deriveFrom" />
<node concept="BsUDl" id="1c6hIxyZnGy" role="37wK5m">
<ref role="37wK5l" node="1c6hIxyZnje" resolve="tupleDeclaration" />
</node>
</node>
</node>
</node>
<node concept="3uibUv" id="6GiZkUzfnfe" role="3clF45">
<ref role="3uigEE" to="oq0c:3ni3WieuV7z" resolve="EffectDescriptor" />
</node>
</node>
</node>
</model>

Original file line number Diff line number Diff line change
Expand Up @@ -1098,5 +1098,36 @@
</node>
</node>
</node>
<node concept="1M2fIO" id="6GiZkUz7$Pr">
<property role="3GE5qa" value="tuples" />
<ref role="1M2myG" to="hm2y:6GiZkUz7qWO" resolve="InlineNamedTupleAccess" />
<node concept="9S07l" id="6GiZkUz7$Ps" role="9Vyp8">
<node concept="3clFbS" id="6GiZkUz7$Pt" role="2VODD2">
<node concept="3clFbF" id="6GiZkUz7$X6" role="3cqZAp">
<node concept="2OqwBi" id="7cphKbLweDA" role="3clFbG">
<node concept="2OqwBi" id="7cphKbLwdZw" role="2Oq$k0">
<node concept="2OqwBi" id="7cphKbLwdf4" role="2Oq$k0">
<node concept="1PxgMI" id="7cphKbLwcPC" role="2Oq$k0">
<node concept="chp4Y" id="7cphKbLwcXc" role="3oSUPX">
<ref role="cht4Q" to="hm2y:7NJy08a3O99" resolve="DotExpression" />
</node>
<node concept="nLn13" id="7cphKbLwcfl" role="1m5AlR" />
</node>
<node concept="3TrEf2" id="7cphKbLwd$z" role="2OqNvi">
<ref role="3Tt5mk" to="hm2y:4rZeNQ6NgXF" resolve="expr" />
</node>
</node>
<node concept="3JvlWi" id="7cphKbLwek1" role="2OqNvi" />
</node>
<node concept="1mIQ4w" id="7cphKbLweYP" role="2OqNvi">
<node concept="chp4Y" id="7cphKbLwffF" role="cj9EA">
<ref role="cht4Q" to="hm2y:5r47dOfJ9kS" resolve="InlineTupleType" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</model>

Loading

0 comments on commit d2053d0

Please sign in to comment.