Mikhail Glukhikh
c699896b0f
Revert "[FE 1.0] Resolve collection literals through the new type inference infra"
...
This reverts commit a542de715a .
2022-09-13 09:09:00 +00:00
Mikhail Glukhikh
707bfbed19
Revert "[FE 1.0] Resolve equal calls through the new type inference infra"
...
This reverts commit a74c221729 .
2022-09-13 09:09:00 +00:00
Mikhail Glukhikh
a9b8f6715b
Revert "[FE 1.0] Resolve setters through the new type inference infra"
...
This reverts commit 6e191147b9 .
2022-09-13 09:09:00 +00:00
Mikhail Glukhikh
8be08d903b
Revert "K1: don't report UNRESOLVED_WITH_TARGET on hidden setters"
...
This reverts commit e20efc1398 .
2022-09-13 09:08:59 +00:00
Mikhail Glukhikh
f4e6c1c9c5
Revert "K1: cleanup new inference constructor resolve in CallResolverUtil"
...
This reverts commit ec055eb418 .
2022-09-13 09:08:59 +00:00
Mikhail Glukhikh
41abe7b8f7
Revert "K1: unify code around resolveCallWithGivenDescriptors"
...
This reverts commit 0bd06b4095 .
2022-09-13 09:08:59 +00:00
Mikhail Glukhikh
60cee9f1b7
Revert "[FE 1.0] Get rid of old inference stuff from CallResolver"
...
This reverts commit bd665dc5d9 .
2022-09-13 09:08:59 +00:00
Mikhail Glukhikh
569d6d28b7
Revert "[FE 1.0] Get rid of the old builder inference support"
...
This reverts commit 1c91e3a606 .
2022-09-13 09:08:58 +00:00
Mikhail Glukhikh
087bda52e6
Revert "[FE 1.0] Get rid of the old inference call completer"
...
This reverts commit 2c7a442cbd .
2022-09-13 09:08:58 +00:00
Mikhail Glukhikh
ee58de0680
Revert "[FE 1.0] Get rid of deprecated interceptCandidates in CallResolutionInterceptorExtension"
...
This reverts commit afaf20aea3 .
2022-09-13 09:08:58 +00:00
Mikhail Glukhikh
2ac25cfa8e
Revert "[FE 1.0] Get rid of CandidateResolver"
...
This reverts commit 4ea08a59db .
2022-09-13 09:08:58 +00:00
Mikhail Glukhikh
f35ced3666
Revert "[FE 1.0] Get rid of GenericCandidateResolver"
...
This reverts commit 941a33a184 .
2022-09-13 09:08:57 +00:00
Mikhail Glukhikh
2d17864fcb
Revert "[FE 1.0] Get rid of OldResolutionCandidate and its usages"
...
This reverts commit d89fa8dea9 .
2022-09-13 09:08:57 +00:00
Mikhail Glukhikh
b12dffa593
Revert "[FE 1.0] Get rid of NewResolutionOldInference"
...
This reverts commit 34a05105ef .
2022-09-13 09:08:57 +00:00
Mikhail Glukhikh
3a60e2cde5
K1: add link to the issue (KT-48162) for deprecation message
2022-09-12 17:45:34 +02:00
Pavel Mikhailovskii
fe5a6fd511
Disallow non-local break/continue in crossinline lambdas
2022-09-12 13:26:19 +00:00
Mikhail Glukhikh
c1b0405c4e
[FE 1.0] Use the old type intersection for type parameter bounds
...
This is a partial revert of commit bc1c2ada
We have to use old type intersector for emptiness check because
KT-53656 were found. We return to old type intersector usage also
for type parameter bounds to prevent other possible problems.
2022-09-06 17:57:02 +00:00
Mikhail Glukhikh
3bdd52b64a
[FE 1.0] Return to the old type intersection emptiness check
...
This reverts commit 8227c4b603 .
#KT-53656 Fixed
2022-09-06 17:57:01 +00:00
Pavel Kirpichenkov
24dcad0d9c
[MPP] Use module's type checker for upper bound checks
...
The default type checker doesn't have a correct type refinement setup.
This can cause false positives in subtyping of upper bounds in edge
cases with expect type arguments.
See the tests in the intellij repo.
KTIJ-22295
2022-09-01 09:51:11 +00:00
Denis.Zharkov
3d7969ec8f
Revert "KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing"
...
This reverts commit 2053363def .
^KT-35811 Open
2022-08-30 11:21:50 +00:00
Denis.Zharkov
211d662708
Revert "KT-8263: Conditional operators are not parsed correctly"
...
This reverts commit ec8da2033c .
For the reason for the revert see KT-53719
^KT-8263 Open
^KT-53719 Fixed
2022-08-30 11:21:50 +00:00
Simon Ogorodnik
154e53c701
K1: add diagnostic BUILDER_INFERENCE_STUB_RECEIVER
...
It's reported on receivers in extension function calls with stub type,
as such calls can shadow members of finalized stub types causing
change of resolve when corresponding type argument specified explicitly
It works by checking extension receiver during call resolution parts run
That way we can easily detect if we found an extension applicable to
stub receiver and report call diagnostic for it
KT-53739
2022-08-30 10:19:26 +00:00
Simon Ogorodnik
105358dcf6
K1: add diagnostic BUILDER_INFERENCE_MULTI_LAMBDA_RESTRICTION
...
Let's call builder lambdas (BL) a lambda that has non-fixed input type
projection at the moment of lambda arguments analysis, such lambdas
is a subject to be analyzed with builder inference
Due to bug in constraint system joining algorithm, currently system
of two or more such lambdas may lead to unsound type inference
Diagnostic added here should be reported in case when there are two
BL that shares a common constraint system, while not annotated with
@BuilderInference, as a protection against aforementioned bug
It's reported by ConstraintSystemCompleter when such situation has
occurred during builder inference phase, it is the same place that
decides wherever lambdas is subject to builder inference or not
KT-53740
2022-08-30 10:19:25 +00:00
Dmitriy Novozhilov
6573533b95
[FE 1.0] Make all components of ExpressionTypingComponents public
...
There is no much sense to have them package-private, since all setters
for them are public. Also those services can be used in assign alterer
extension
2022-08-19 07:44:08 +00:00
Dmitriy Novozhilov
f843883985
[FE 1.0] Introduce AssignResolutionAltererExtension
...
This extension can be used to override resolution of assign statements
with custom logic
WARNING: there is no compatibility guarantees for this extension
2022-08-19 07:44:08 +00:00
Iven Krall
ec8da2033c
KT-8263: Conditional operators are not parsed correctly
2022-08-16 10:00:54 +00:00
Iven Krall
2053363def
KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing
2022-08-16 10:00:53 +00:00
Mikhail Glukhikh
7333589663
K1/K2: add Enum.entries unconditionally and filter them out in tower
...
Before this commit, we added Enum.entries only in case when
LanguageFeature.EnumEntries was ON (with an exception in K1/Java case).
In this commit we add Enum.entries unconditionally, and in case
the language feature is OFF we filter them out during tower resolve.
2022-08-12 09:35:27 +00:00
Mikhail Glukhikh
3a2d69225c
K1: add support for Enum.entries in Java scopes
2022-08-12 09:35:25 +00:00
Mikhail Glukhikh
12e8b1d844
K1: add support for Enum.entries synthetic property (see KT-48872)
...
#KT-53270 Fixed
2022-08-12 09:35:24 +00:00
Mikhail Glukhikh
cb1123cccd
OptInUsageChecker: restore public API isOptInAllowed method
2022-08-11 14:05:10 +00:00
Mikhail Glukhikh
80a9f22052
Add applicability checks & tests for SubclassOptInRequired
2022-08-11 14:05:09 +00:00
Mikhail Glukhikh
76aaecbdf0
Add/fix extra cases for #KT-41886 Fixed
2022-08-11 14:05:08 +00:00
Mikhail Glukhikh
c67c5cad27
K1: report errors related to SubClassOptInRequired annotation
...
Related to KT-41886
2022-08-11 14:05:07 +00:00
Mikhail Glukhikh
84291181af
K1: drop redundant OptIn check for expanded type
2022-08-11 14:05:07 +00:00
Pavel Mikhailovskii
8ba80b4b7b
KT-1436 Allow break/continue in inlined lambdas
2022-08-11 10:38:23 +00:00
Denis.Zharkov
11a26e540e
Revert "KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing"
...
This reverts commit a2077f9063 .
2022-08-04 17:50:00 +02:00
Denis.Zharkov
2ae2a7e442
Revert "KT-8263: Conditional operators are not parsed correctly"
...
This reverts commit 85800b4f9f .
2022-08-04 17:49:42 +02:00
Iven Krall
85800b4f9f
KT-8263: Conditional operators are not parsed correctly
2022-08-04 11:24:09 +00:00
Iven Krall
a2077f9063
KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing
2022-08-04 11:24:08 +00:00
Sergej Jaskiewicz
9dc7fe24f6
[psi2ir] Emit source info for annotation parameters
...
We need this in the JS IR backend for annotations like
@JsFun and @JsPolyfill
2022-08-03 16:45:55 +00:00
Mikhail Glukhikh
3cb4b8ddda
Fix KotlinTypeCheckerTest in accordance with NI intersections
2022-08-02 10:29:41 +00:00
Victor Petukhov
34a05105ef
[FE 1.0] Get rid of NewResolutionOldInference
2022-08-02 10:29:39 +00:00
Victor Petukhov
d89fa8dea9
[FE 1.0] Get rid of OldResolutionCandidate and its usages
2022-08-02 10:29:39 +00:00
Victor Petukhov
8500ee08a8
[FE 1.0] Remove CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION analysis flag
...
The constraint system for the old type inference is going to be removed.
Also, `CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION` isn't used in the production
2022-08-02 10:29:38 +00:00
Victor Petukhov
8227c4b603
[FE 1.0] Use the new type intersection emptiness check
...
Also introduced compatibility mode to preserve compatibility for is/as/equality checks
^KT-29316 Related
2022-08-02 10:29:37 +00:00
Victor Petukhov
bc1c2adae1
[FE 1.0] Use the new type intersection to intersect types
2022-08-02 10:29:36 +00:00
Victor Petukhov
941a33a184
[FE 1.0] Get rid of GenericCandidateResolver
2022-08-02 10:29:35 +00:00
Victor Petukhov
4ea08a59db
[FE 1.0] Get rid of CandidateResolver
2022-08-02 10:29:35 +00:00
Victor Petukhov
afaf20aea3
[FE 1.0] Get rid of deprecated interceptCandidates in CallResolutionInterceptorExtension
2022-08-02 10:29:34 +00:00