Commit Graph

10769 Commits

Author SHA1 Message Date
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
Kristoffer Andersen f0bc021b5e Change VARIABLE_REASSIGNMENT slice so it composes properly 2022-07-18 23:50:35 +02:00
Pavel Kirpichenkov 3051c36780 [MPP] add extension for non-HMPP common KLIBs
Add an analysis parameter that can be used to create a
package fragment provider for a common KLIB library
when composite analysis aka HMPP support in IDE is disabled.
Such KLIBs can appear since 1.6.20, when hierarchical
project structure was enabled by default. This means, that even
if HMPP is explicitly disabled in KGP via the Gradle property,
common code is still represented by KLIBs and not by
.kotlin_metadata as it used to be. IDE can't resolve
agains common KLIB dependencies without a corresponding
package fragment provider that can read KLIB libraries.

KT-53164
2022-07-15 12:37:50 +00:00
Denis.Zharkov 9f84e7651b Add issue link to deprecation warning message
^KT-29168 Fixed
2022-07-14 13:04:35 +00:00
Mikhail Glukhikh 475e40b3e4 K1: report warning for inline virtual member in enum #KT-53148 Fixed
Related to KT-34372
2022-07-14 07:59:33 +00:00
Victor Petukhov 2057deb91b [FE 1.0] Create DONT_CARE type only for callable references with no expected type
Otherwise, it can be resolved safety

^KT-52270 Fixed
2022-07-11 12:44:06 +00:00
Dmitriy Novozhilov 509ed69d28 [K1] Get rid of CONSERVATIVE_SET_INCLUSION_SEMANTICS rewrite policy
This policy didn't work in IDE, because trace in IDE always allow rewrites
  to slices

^KT-53072 Fixed
2022-07-05 17:44:25 +00:00
Ilya Kirillov 2f822ab4d9 [k1] add information about context receiver labels to ContextClassReceiver/ContextReceiver 2022-07-05 10:34:28 +02:00
Victor Petukhov 5b5da025f4 [FE 1.0] Don't throw empty intersection exception, return empty intersection type instead 2022-07-04 12:05:56 +00:00
Mikhail Glukhikh 4aed9511f6 FIR/FE10: fix false positives described in KT-24643 2022-07-03 19:10:02 +00:00
Ilmir Usmanov 09c9641e23 FE: Use safe call when searching for suspend modifier
The modifier does not exist, when the parameter type is typealias.

 #KT-35187 Fixed
2022-06-29 06:12:44 +02:00
Pavel Mikhailovskii c3c09aa95a KT-4107 Data objects 2022-06-28 16:58:20 +02:00
Mikhael Bogdanov 42a465efe2 Remove deprecated methods 2022-06-28 14:11:49 +02:00
Stanislav Erokhin 3f99e2391b Minor: make some util functions public
I'm going to use it in Fe10Binding to create descriptors for special
constructions
2022-06-27 19:32:44 +00:00
Ilya Chernikov c2316ca305 Scripting: avoid definitions discovery when compiling regular kotlin
If only regular kotlin .kt (and .java) files are compiled, do not
register file extensions that may come from discovered script
definitions. Since the discovery is lazy by itself, this should
skip jars processing for regular compilation scenarios without scripts.
#KT-47816 fixed
2022-06-16 21:28:07 +00:00
Ilya Chernikov 855059b93c Scripting: update scripts in source roots handling
#KT-52525 fixed
related to #KT-52735
2022-06-16 21:28:06 +00:00
Mikhail Glukhikh d44f180aa9 FE 1.0: deprecate resolve to property when enum entry is at same level
See also KT-52802
#KT-49200 Fixed
2022-06-15 17:19:59 +00:00
Dmitriy Novozhilov 12ce433bc2 [FE] Don't report cycle on annotation parameters if argument is vararg or array
^KT-52742 Fixed
^KT-47932
2022-06-15 09:55:27 +00:00
Denis.Zharkov 9caa60d389 Revert "KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing"
This reverts commit ba5c85d6

^KT-52684 Related
2022-06-09 15:44:36 +00:00
Mikhail Glukhikh 6fc27c22f4 K1:report warning on OptIn usages inside SAM constructor #KT-47708 Fixed 2022-06-02 15:36:58 +00:00
Mikhail Glukhikh 075605a371 Restore ExperimentalMarkerDeclarationAnnotationChecker for IDE 2022-06-02 15:36:57 +00:00