Commit Graph

10789 Commits

Author SHA1 Message Date
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
Victor Petukhov 2c7a442cbd [FE 1.0] Get rid of the old inference call completer 2022-08-02 10:29:34 +00:00
Victor Petukhov 1c91e3a606 [FE 1.0] Get rid of the old builder inference support 2022-08-02 10:29:33 +00:00
Victor Petukhov bd665dc5d9 [FE 1.0] Get rid of old inference stuff from CallResolver 2022-08-02 10:29:32 +00:00
Mikhail Glukhikh 187fe6d50a K1: fix error message of EXPECTED_PARAMETER_TYPE_MISMATCH(_WARNING) 2022-08-01 17:00:19 +02:00
Dmitry Gridin 4f18e7091b [light classes] analysis-api-fir: migrate from :compiler:backend to :compiler:backend.common.jvm
^KT-53097
2022-08-01 13:56:35 +00:00
Ilmir Usmanov b93c000250 Make suspend fun, where suspend is a function error in 1.9
instead of 1.8.

 #KT-49264
2022-07-28 21:03:07 +02:00
Victor Petukhov a61648651b [FE 1.0] Use original receivers for NI while DSL scope violation checking
Original receivers are already use in the near place

^KT-46969 Fixed
2022-07-28 08:51:42 +00:00
Mikhail Glukhikh 91f3edc6a6 K1: add protection against exceptions possible in IDE partial resolve
IDE partial resolve allows to drop some statements from resolve,
in particular it can drop some lambda. However, this can lead to the
situation when we have no descriptor for lambda or to incorrect
type checks for its containing block. This commit protects about
this situation
2022-07-27 16:48:38 +00:00
Mikhail Glukhikh 3e58c54da9 Add docs to CandidateApplicability, remove DSL_SCOPE_VIOLATION 2022-07-27 15:29:48 +00:00
Mikhail Glukhikh 0611f3b8e7 CandidateApplicability: add K1/K2 prefixes when applicable 2022-07-27 15:29:44 +00:00
Mikhail Glukhikh 0bd06b4095 K1: unify code around resolveCallWithGivenDescriptors 2022-07-22 16:03:54 +00:00
Mikhail Glukhikh ec055eb418 K1: cleanup new inference constructor resolve in CallResolverUtil 2022-07-22 16:03:54 +00:00
Mikhail Glukhikh e20efc1398 K1: don't report UNRESOLVED_WITH_TARGET on hidden setters 2022-07-22 16:03:53 +00:00
Victor Petukhov db54d18c72 [FE 1.0] Add fallback for extracting when call 2022-07-22 16:03:52 +00:00
Victor Petukhov 5f5c3aa534 [FE 1.0] Clean-up pseudocodeUtils.kt: remove unused methods, move test specific methods into test-common module 2022-07-22 16:03:50 +00:00
Victor Petukhov 6e191147b9 [FE 1.0] Resolve setters through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:50 +00:00
Victor Petukhov a74c221729 [FE 1.0] Resolve equal calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:49 +00:00
Victor Petukhov a542de715a [FE 1.0] Resolve collection literals through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:49 +00:00
Victor Petukhov 0070c234ce [FE 1.0] Resolve constructor calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:49 +00:00
Victor Petukhov e66cc9a639 [FE 1.0] Resolve special construct calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:48 +00:00
Victor Petukhov bab8047bb3 [FE 1.0] Resolve this and super calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:48 +00:00
Dmitry Gridin afdf378b32 [light classes] move DebugTextUtil to frontend.common-psi
^KT-53097
2022-07-19 15:41:35 +00:00
Kristoffer Andersen 8d79fab109 Change BACKING_FIELD_REQUIRED from SetSlice 2022-07-18 23:50:35 +02:00