Pavel Kirpichenkov
003ba1c8f5
[NI] CST: add preemptive recursion detection
...
For single super type constructor create star projection argument when types for that argument are equal to the original types.
Captured star projections are replaced with their corresponding supertypes during this check.
Skip check for `in` parameters, for which recursive cst calculation does not happen.
Adjust constant in fallback recursion condition.
^KT-38544 Fixed
2020-05-12 11:13:43 +03:00
Mikhail Glukhikh
52abc2ae1a
[FIR] Fix spec test data according to a new diagnostic
2020-05-07 12:10:56 +03:00
Victor Petukhov
260683c20e
NI: Improve postponed arguments analysis
...
Introduce seven stages:
1) Analyze postponed arguments with fixed parameter types
2) Collect parameter types from constraints and lambda parameters' declaration
3) Fix not postponed variables for parameter types of all postponed arguments
4) Create atoms with revised expected types if needed
5) Analyze the first ready postponed argument and rerun stages if it has been analyzed
6) Force fixation remaining type variables: fix if possible or report not enough information
7) Force analysis remaining not analyzed postponed arguments and rerun stages if there are
^KT-37952 Fixed
^KT-32156 Fixed
^KT-37249 Fixed
^KT-37341 Fixed
2020-05-07 11:42:00 +03:00
Pavel Kirpichenkov
86d6470ced
Update test data forgotten in 36a57973
...
KT-38544
2020-04-28 20:26:11 +03:00
Pavel Kirpichenkov
36a57973b5
[NI] CST: remove max depth offset from recursion detection
...
Recursive type with several recursive anscestors can create a number of identical
common supertype calculations, growing exponentially on every step of recursion.
Previously the number of calculations was limited by D + 3, where D is a type depth.
Since the limit is dynamic, it seems that extra +3 offset can be dropped thus
reducing the number of recursions. The proper solution is to detect such a recursion
and fold recursive type preemtively, but for now this may improve performance in some use cases.
^KT-38544 In progress
2020-04-28 12:53:09 +03:00
Denis Zharkov
d66281d11f
FIR: Fix test data for spec test after c4b7ac994b
2020-04-23 11:24:49 +03:00
Denis Zharkov
3bb6aa6f28
Mark as FIR_IDENTICAL passing spec tests
2020-04-21 10:16:42 +03:00
Denis Zharkov
82b2825b7a
FIR: Ignore flaky spec tests
...
^KT-38340 Submitted
2020-04-21 10:16:41 +03:00
Denis Zharkov
b375e021e5
FIR: Ignore failing spec test
...
^KT-38397
2020-04-21 10:16:40 +03:00
Denis Zharkov
4c4f220fd0
FIR: Ignore failing spec tests
...
^KT-38336 Submitted
2020-04-21 10:16:39 +03:00
Denis Zharkov
c4d72d6906
FIR: Ignore failing spec test
...
^KT-38334 Submitted
2020-04-21 10:16:38 +03:00
Denis Zharkov
26f0b044fc
FIR: Ignore failing spec test
...
^KT-38333 Submitted
2020-04-21 10:16:37 +03:00
Denis Zharkov
39d4231894
FIR: Adjust testData for spec tests: discrepancy in DEBUG_INFO_CALL format
...
In old FE, there are fake overrides rendered, while in FIR there are
real declarations
2020-04-21 10:16:36 +03:00
Denis Zharkov
bddea7d163
FIR: Adjust testData for spec tests: local scopes in overload resolution
...
The behavior of FIR seems to be the correct one
^KT-36475
2020-04-21 10:16:35 +03:00
Denis Zharkov
706ccb2cf9
FIR: Adjust testData for spec tests: invoke on nullable receiver
...
It's a design problem, see related issue
^KT-30415
2020-04-21 10:16:34 +03:00
Denis Zharkov
f0d35a2478
FIR: Adjust testData for spec tests: operator priority
...
^KT-38351 Submitted
2020-04-21 09:52:52 +03:00
Denis Zharkov
5c7c4b4cb6
FIR: Adjust testData for spec tests: infix priority
...
^KT-37374 Please, fix the tests
2020-04-21 09:52:52 +03:00
Denis Zharkov
54546eb890
FIR: Adjust testData for spec tests: unsupported DEBUG_INFO_CALL format
2020-04-21 09:52:52 +03:00
Denis Zharkov
f8791549f3
FIR: Adjust testData for spec tests: enum "values" priority
...
^KT-38350 Submitted
2020-04-21 09:52:52 +03:00
Denis Zharkov
2ced716268
FIR: Adjust testData for spec tests: controversial infix calls
...
^KT-37374 Please, take a look at these tests
2020-04-21 09:52:52 +03:00
Denis Zharkov
12ceaf24e2
FIR: Adjust testData for spec tests: resolution ambiguity
...
Renaming AMBIGUITY -> OVERLOAD_RESOLUTION_AMBIGUITY may help
^KT-38342 Submitted
2020-04-21 09:52:52 +03:00
Denis Zharkov
76bb45b46f
FIR: Adjust testData for spec tests: other small things
2020-04-21 09:52:52 +03:00
Denis Zharkov
7c8e2724e1
FIR: Adjust testData for spec tests: type-system
2020-04-21 09:52:52 +03:00
Denis Zharkov
2f0f552880
FIR: Adjust testData for spec tests: annotations
2020-04-21 09:52:52 +03:00
Denis Zharkov
798fe9b7d1
FIR: Adjust testData for spec tests: statements
2020-04-21 09:52:52 +03:00
Denis Zharkov
0df6354896
FIR: Adjust testData for spec tests: conditional-expressions
2020-04-21 09:52:52 +03:00
Denis Zharkov
00bf1858cc
FIR: Adjust testData for spec tests: declarations
2020-04-21 09:52:52 +03:00
Denis Zharkov
ee75347bb0
FIR: Adjust testData for spec tests: expressions
2020-04-21 09:52:52 +03:00
Denis Zharkov
06bae1e52f
FIR: Adjust testData for spec tests: when-expression
2020-04-21 09:52:52 +03:00
Denis Zharkov
0d34299b7a
FIR: Adjust testData for spec tests: dfa
2020-04-21 09:52:52 +03:00
Denis Zharkov
86e1aadd31
FIR: Adjust testData for spec tests: contracts
2020-04-21 09:52:52 +03:00
Denis Zharkov
243f9bb758
FIR: Adjust testData for spec tests: constant-literals
2020-04-21 09:52:52 +03:00
Denis Zharkov
04076ea748
Add FIR version of spec diagnostic tests
2020-04-21 09:52:52 +03:00
Denis Zharkov
3cb2b0cab1
Ignore irrelevant diagnostics in overload-set related spec tests
2020-04-21 09:52:52 +03:00
Denis Zharkov
0aed7375e6
Ignore irrelevant diagnostics in overload-set related spec tests
2020-04-21 09:52:52 +03:00
Denis Zharkov
26cb0ba144
Prepare spec tests for FIR version
2020-04-21 09:52:52 +03:00
Denis Zharkov
13efabc764
FIR: Add reflection JPS module of test-spec
2020-04-21 09:52:52 +03:00
Denis Zharkov
1d891561cf
Fix spec tests metadata
...
It has been working fine on OS X with its case-independent FS
2020-04-21 09:52:52 +03:00
Denis Zharkov
9be2fc9b12
Sort excluded dirs in generated spec tests
...
To make the order more stable and platform-independent
2020-04-21 09:52:52 +03:00
anastasiia.spaseeva
b1dbacf45f
[Spec tests] Fix test-info parser for relevant places
2020-04-01 16:30:24 +03:00
anastasiia.spaseeva
9f684bfd65
[Spec tests] Add tests for call-with-specified-type-parameters
2020-04-01 16:30:23 +03:00
anastasiia.spaseeva
0397470b85
[Spec tests] Update tests with spec version 0.1-313
2020-03-30 19:12:55 +03:00
Victor Petukhov
c8206c4666
[Spec tests] Fix mistakes during parsing compiler tests to extract spec links
2020-03-30 16:40:57 +03:00
Victor Petukhov
d6d19b563d
[Spec tests] Exclude spec consistency test from common test task
2020-03-30 11:15:55 +03:00
Victor Petukhov
a29385e758
[Spec tests] Small clean-up CheckerTestUtil and around it
2020-03-30 11:15:55 +03:00
anastasiia.spaseeva
90d1cdf2e1
[Spec tests] Add tests for section call-with-trailing-lambda-expressions
2020-03-30 11:15:55 +03:00
anastasiia.spaseeva
4736b3b348
[Spec tests] Add tests for call-with-named-parameters
2020-03-30 11:15:55 +03:00
anastasiia.spaseeva
bb1ee952ba
[Spec tests] Add tests for call-without-an-explicit-receiver, receivers
2020-03-30 11:15:54 +03:00
anastasiia.spaseeva
35de6a3f6e
[Spec tests] Add tests for overload-resolution, building-the-overload-candidate-set-ocs, operator-call:
...
-properties available through the invoke convention are non-eligible for operator calls
-smart casts and overload-resolution
-candidate sets
2020-03-30 11:15:54 +03:00
anastasiia.spaseeva
4301744d2d
[Spec tests] Add test for infix fun + KT-36786
2020-03-30 11:15:54 +03:00