Add typechecking of ClosureLiteral and invoke expressions

This commit is contained in:
Grigorii Kirgizov 2020-04-20 22:27:53 +03:00
parent 19ab82586f
commit 3284d2c331
4 changed files with 4551 additions and 53 deletions

View File

@ -31,6 +31,7 @@
<language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" />
<language slang="l:7866978e-a0f0-4cc7-81bc-4d213d9375e1:jetbrains.mps.lang.smodel" version="17" />
<language slang="l:8585453e-6bfb-4d80-98de-b16074f1d86c:jetbrains.mps.lang.test" version="5" />
<language slang="l:c7fb639f-be78-4307-89b0-b5959c3fa8c8:jetbrains.mps.lang.text" version="0" />
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
<language slang="l:0b80a2e8-f9f1-47b3-823f-56eb115bca42:jetbrains.mps.typechecking.annotation" version="0" />
</languageVersions>

View File

@ -135,7 +135,7 @@
<node concept="1lH9Xt" id="4E290qQ07Va">
<property role="TrG5h" value="Closures" />
<node concept="1LZb2c" id="7AyqXCdNg6Z" role="1SL9yI">
<property role="TrG5h" value="tuples" />
<property role="TrG5h" value="literals" />
<node concept="3cqZAl" id="7AyqXCdNg70" role="3clF45" />
<node concept="3clFbS" id="7AyqXCdNg71" role="3clF47">
<node concept="2Hmddi" id="27bTNFfbxgE" role="3cqZAp">
@ -148,8 +148,8 @@
<node concept="2XshWL" id="27bTNFfc1c0" role="2OqNvi">
<ref role="2WH_rO" node="35YJGAJTxCf" resolve="resolve" />
<node concept="2tJFMh" id="27bTNFfc1c1" role="2XxRq1">
<node concept="ZC_QK" id="4E290qQ0kDi" role="2tJFKM">
<ref role="2aWVGs" to="anco:4E290qQ09_i" resolve="DemoClosures" />
<node concept="ZC_QK" id="4yZzE4kyIno" role="2tJFKM">
<ref role="2aWVGs" to="anco:zb1Nk79_lP" resolve="ClosureLiterals" />
</node>
</node>
</node>
@ -163,6 +163,64 @@
</node>
</node>
</node>
<node concept="1LZb2c" id="4yZzE4kyI3j" role="1SL9yI">
<property role="TrG5h" value="conversions" />
<node concept="3cqZAl" id="4yZzE4kyI3k" role="3clF45" />
<node concept="3clFbS" id="4yZzE4kyI3l" role="3clF47">
<node concept="2Hmddi" id="4yZzE4kyI3m" role="3cqZAp">
<node concept="2OqwBi" id="4yZzE4kyI3n" role="2Hmdds">
<node concept="2YIFZM" id="4yZzE4kyI3o" role="2Oq$k0">
<ref role="1Pybhc" to="tj24:1N_0WA5JxZO" resolve="TypecheckingTestHelper" />
<ref role="37wK5l" to="tj24:27bTNFfaOo$" resolve="ofNode" />
<node concept="2OqwBi" id="4yZzE4kyI3p" role="37wK5m">
<node concept="2WthIp" id="4yZzE4kyI3q" role="2Oq$k0" />
<node concept="2XshWL" id="4yZzE4kyI3r" role="2OqNvi">
<ref role="2WH_rO" node="35YJGAJTxCf" resolve="resolve" />
<node concept="2tJFMh" id="4yZzE4kyI3s" role="2XxRq1">
<node concept="ZC_QK" id="4yZzE4kyI3t" role="2tJFKM">
<ref role="2aWVGs" to="anco:4E290qQ09_i" resolve="ClosureConversions" />
</node>
</node>
</node>
</node>
<node concept="1jxXqW" id="4yZzE4kyI3u" role="37wK5m" />
</node>
<node concept="liA8E" id="4yZzE4kyI3v" role="2OqNvi">
<ref role="37wK5l" to="tj24:27bTNFfaYS2" resolve="checkTypes" />
</node>
</node>
</node>
</node>
</node>
<node concept="1LZb2c" id="4yZzE4kyIfQ" role="1SL9yI">
<property role="TrG5h" value="invocations" />
<node concept="3cqZAl" id="4yZzE4kyIfR" role="3clF45" />
<node concept="3clFbS" id="4yZzE4kyIfS" role="3clF47">
<node concept="2Hmddi" id="4yZzE4kyIfT" role="3cqZAp">
<node concept="2OqwBi" id="4yZzE4kyIfU" role="2Hmdds">
<node concept="2YIFZM" id="4yZzE4kyIfV" role="2Oq$k0">
<ref role="37wK5l" to="tj24:27bTNFfaOo$" resolve="ofNode" />
<ref role="1Pybhc" to="tj24:1N_0WA5JxZO" resolve="TypecheckingTestHelper" />
<node concept="2OqwBi" id="4yZzE4kyIfW" role="37wK5m">
<node concept="2WthIp" id="4yZzE4kyIfX" role="2Oq$k0" />
<node concept="2XshWL" id="4yZzE4kyIfY" role="2OqNvi">
<ref role="2WH_rO" node="35YJGAJTxCf" resolve="resolve" />
<node concept="2tJFMh" id="4yZzE4kyIfZ" role="2XxRq1">
<node concept="ZC_QK" id="4yZzE4kyIFO" role="2tJFKM">
<ref role="2aWVGs" to="anco:4S1mDSNPBsJ" resolve="ClosureInvocations" />
</node>
</node>
</node>
</node>
<node concept="1jxXqW" id="4yZzE4kyIg1" role="37wK5m" />
</node>
<node concept="liA8E" id="4yZzE4kyIg2" role="2OqNvi">
<ref role="37wK5l" to="tj24:27bTNFfaYS2" resolve="checkTypes" />
</node>
</node>
</node>
</node>
</node>
<node concept="2XrIbr" id="35YJGAJTxCf" role="1qtyYc">
<property role="TrG5h" value="resolve" />
<node concept="37vLTG" id="35YJGAJTxCF" role="3clF46">