Mikhail Zarechenskiy
787a8bb9bd
Revert "[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI"
...
This reverts commit 7c4101e21c .
#KT-31866 Fixed
#KT-31868 Fixed
#EA-125401 Fixed
#KT-25290 Open
2019-06-07 12:31:38 +03:00
Dmitriy Novozhilov
7c4101e21c
[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI
2019-05-29 10:35:46 +03:00
Mikhail Zarechenskiy
848640253a
Revert "[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI"
...
This reverts commit f20ec3e0a6 .
2019-05-29 01:31:28 +03:00
Dmitriy Novozhilov
f20ec3e0a6
[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI
...
There is added a new service named `SubstitutingScopeProvider`, that
provides factory that creates captured types and approximator for them.
In OI they are the same as before commit, for NI they are empty, because
that approximation interferes with NI algorithm
That service is injected into function descriptors and property descriptors
and used for creating `SubstitutingScope` with correct services
Also there is changed time when we approximate captured types in NI
(after all call checkers)
#KT-25290 Fixed
2019-05-28 11:18:33 +03:00
Mikhail Zarechenskiy
dee3617dd8
Refine deprecation diagnostics for mod depending on api version
...
#KT-25217 Fixed
#KT-26654 Open
2018-09-09 23:55:38 +03:00
Mikhail Zarechenskiy
7595cb23ab
Raise deprecation level for mod operators to ERROR in stdlib
...
#KT-25217 In Progress
2018-09-09 23:55:36 +03:00
Mikhail Zarechenskiy
e2c287c77e
Fix language feature for mod/rem tests for migration to 1.3 version
...
After 2e88f5c47d
2018-07-03 16:10:37 +03:00
Mikhail Zarechenskiy
2e88f5c47d
Prohibit operator mod as declaration and calls that resolved via it
...
#KT-24197 Fixed
2018-07-02 16:12:36 +03:00
Mikhail Zarechenskiy
8757298994
Add diagnostics to test data from NI
2017-11-29 02:54:26 +03:00
Mikhail Zarechenskiy
a71238bf94
Place !WITH_NEW_INFERENCE directive to diagnostics test data
2017-11-29 02:53:49 +03:00
Mikhail Zarechenskiy
1a4b9cb228
Show warning for mod from built-ins since API=1.1
2017-03-20 00:45:18 +03:00
Mikhail Zarechenskiy
e4188f889e
Do not show warning for mod from built-ins when LV=1.0
...
#KT-16372 Fixed
2017-03-20 00:41:58 +03:00
Mikhail Zarechenskiy
68b223211c
Fix bogus integer overflow warning for 'mod' operator
...
#KT-15875 Fixed
2017-01-25 02:24:28 +03:00
Dmitry Petrov
954204da82
KT-1560
...
Report warning on extensions shadowed by members.
2017-01-16 17:25:13 +03:00
Mikhail Zarechenskiy
42d867b3bf
Support number conversion for binary 'rem' operator
2016-12-14 15:29:00 +03:00
Mikhail Zarechenskiy
7a0e44b8f9
Resolve '%' as 'mod' when LV=1.0
2016-12-09 17:01:41 +03:00
Mikhail Zarechenskiy
bc4a492f4d
Resolve for rem/modAssign and mod/remAssign
...
rem/remAssign always wins if it is possible
2016-12-09 17:00:27 +03:00
Mikhail Zarechenskiy
8e73a902e4
Additional tests on mod/rem migration
2016-12-09 16:59:26 +03:00
Mikhail Zarechenskiy
5f71f1bcad
Add warnings at declaration and call sites of operator 'mod'
2016-12-09 16:59:24 +03:00
Mikhail Zarechenskiy
97ca51381a
Gradual migration of operator 'mod' to 'rem'
...
- Introduce new 'rem' operator convention
- Prefer 'rem()' to 'mod()' when both are available, even if mod() is a
member, and rem() -- an extension
- Place operator 'rem' under the language feature
2016-12-09 16:43:35 +03:00