Mark Punzalan
afb34d3193
Analysis API: Implement KtCallResolver.collectAllCandidates for FE 1.0.
2022-02-17 19:51:35 +01:00
Ilmir Usmanov
9060168542
Support generic underlying type of inline class
...
Use upper bound in JVM representation.
#KT-32162
2022-02-15 08:11:08 +01:00
Victor Petukhov
78f4b9f1cd
[FE 1.0] Fix mistakes in error messages for resolution ambiguity with stub types
...
^KT-51022 Fixed
2022-02-14 15:43:47 +03:00
Victor Petukhov
a54c9edaad
[FE 1.0] Report progressions resolve changing warning while calling Java methods which pass Collection
...
^KT-51062 Fixed
2022-02-14 15:43:43 +03:00
Dmitry Savvinov
ea466353fb
Dont store type refinement mode in analysis flags
...
Instead, check the refiner from the DI-container or refiner from
capability of a module descriptor.
The reason is because in the IDE there might be multiple
ResolutionFacades (-> multiple DI-containers -> multiple module
descriptors) for one and the same IDE module, with different refinement
settings.
However, due to how the code is written, it's hard to have
different LanguageVersionSettings for one and the same module.
After this commit the refinement settings are determined by the
moduleDescriptor capabilities, which is much easier to tweak
See usage of that change in Kotlin IDE Plugin (commit is linked to the
YT issue)
^KTIJ-20775
2022-02-14 13:08:50 +03:00
Dmitriy Novozhilov
0eb526a8b4
[FE 1.0] Report warning about conflict in inherited members from deserialized dependencies
...
^KT-51194
^KT-51223 Fixed
2022-02-09 19:35:56 +03:00
Alexander Udalov
7dfe1793c8
Remove obsolete code used to load module annotations
...
`CliModuleAnnotationsResolver.getAnnotationsOnContainingModule` took
0.5% of total compilation time on IntelliJ.
#KT-48233
2022-02-01 08:42:40 +01:00
Mikhail Glukhikh
c2f43dd98e
Revert OPT_IN_MARKER_ON_OVERRIDE limitation #KT-48890 Fixed
2022-01-28 13:40:35 +00:00
Mikhail Glukhikh
d3f6ba99cb
Add links to related issues to some deprecation warnings
2022-01-28 13:40:34 +00:00
Victor Petukhov
1a23cd8c45
[FE 1.0] Don't try to report specialized resolution ambiguity error for builder inference if the corresponding substitutor is empty
...
^KT-50989 Fixed
2022-01-27 15:30:16 +03:00
Mikhail Glukhikh
c255da815f
Change some names in source code from useExperimental to optIn
2022-01-27 11:48:21 +00:00
Anastasia.Shadrina
a86b4d767e
[FE] KT-50878 Prohibit using contextual declarations without -Xcontext-receivers
2022-01-21 17:21:59 +03:00
Pavel Kirpichenkov
b4c854429f
[MPP] Permit const actual properties for non-const expects
...
It's safe as not having const is more restrictive, therefore can be
allowed in common. Otherwise, it's not possible to declare an expect
declaration for a platform property with `const` modifier in common
KT-18856
2022-01-19 13:22:47 +03:00
Pavel Kirpichenkov
8ad06ef725
Minor: reformat
2022-01-19 13:22:47 +03:00
Denis.Zharkov
b2543b7a26
Fix false negative UPPER_BOUND_VIOLATED with typealiases in supertypes
...
^KT-50797 Fixed
^KT-50798 Open
2022-01-19 09:52:16 +03:00
Dmitriy Novozhilov
bc3157162d
[FE 1.0] Clarify some diagnostic messages
2022-01-18 12:47:55 +03:00
Dmitriy Novozhilov
534d84e3e5
[FE 1.0] Add links to committee YT tickets into diagnostic messages
...
^KT-39883 Fixed
^KT-44705 Fixed
^KT-44866 Fixed
^KT-47902 Fixed
^KT-49110 Fixed
2022-01-18 12:47:54 +03:00
Victor Petukhov
72a78eb423
Replace errors with warnings for type checker recursion on delegates
...
^KT-49477 Fixed
2022-01-17 21:27:14 +03:00
Victor Petukhov
a4a2f71fca
Introduce deprecation cycle for reporting errors on some illegal equality calls inside a builder inference call
...
^KT-43493 Fixed
2022-01-17 19:44:16 +03:00
Victor Petukhov
060af85a93
Extract checks on equality expressions into a separate checker
...
^KT-43493 Fixed
2022-01-17 19:44:16 +03:00
Mikhail Glukhikh
1274e2b90a
Deprecate ExtensionFunctionType on a non-function types
...
Related to KT-43527
2022-01-14 22:20:44 +03:00
Mikhail Glukhikh
d0fa3eb1d3
Forbid ExtensionFunctionType on functional types without parameters
...
#KT-43527 Fixed
2022-01-14 22:20:24 +03:00
Mikhail Glukhikh
a4f74f60d9
Fix apostrophes in error messages #KT-50183 Fixed
2022-01-14 22:20:23 +03:00
Mikhail Glukhikh
0f2f6334c2
Fix error message for SUPERTYPE_IS_SUSPEND_FUNCTION_TYPE
...
#KT-48907 Fixed
2022-01-14 22:20:22 +03:00
Mikhail Glukhikh
1402bb2d45
Fix error message about unsupported annotations on type parameters
...
#KT-48908 Fixed
2022-01-14 22:20:22 +03:00
Mikhail Glukhikh
230f210a2a
Fix error message for CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT
...
#KT-50182 Fixed
2022-01-14 22:20:22 +03:00
Mikhail Glukhikh
37c0cad827
Minor code cleanup: resolveSupertypesByMembers
2022-01-14 22:20:21 +03:00
Mikhail Glukhikh
fdf336042b
Provide migration of Any functions via super in abstract case
...
Related to KT-38078
2022-01-14 22:20:21 +03:00
Mikhail Glukhikh
390fa682b9
Forbid calls of Any functions via super if they are overridden as abstract
...
#KT-38078 Fixed
2022-01-14 22:20:21 +03:00
Mikhail Glukhikh
b689bbf5c7
Forbid usages of super if in fact it accesses an abstract member
...
#KT-49017 Fixed
2022-01-14 22:20:21 +03:00
Stanislav Erokhin
cd957ae774
Return some API and mark them as IDEAPluginsCompatibilityAPI
2022-01-14 16:13:27 +01:00
Evgeniy.Zhelenskiy
e97ca2ada4
[Psi2Ir, Fir2Ir] Generate toString, hashCode, equals methods for MF VC
2022-01-14 13:51:57 +00:00
Evgeniy.Zhelenskiy
c7edc353d3
[FIX, Frontend] Fix recursive check for multi-field value classes
2022-01-14 13:51:57 +00:00
Evgeniy.Zhelenskiy
7595f798e1
[JVM] Introduce MF Value Classes to frontend
2022-01-14 13:51:55 +00:00
Dmitriy Novozhilov
bb6c6dc45d
[FE 1.0] Fix reporting of UNINITIALIZED_ENUM_ENTRY on qualified enums
...
^KT-41124
^KT-50758 Fixed
2022-01-14 14:26:54 +03:00
Dmitriy Novozhilov
50f6825775
[FE 1.0] Cleanup code of ControlFlowProcessor
...
- Always pass not nullable language version settings
- Fix warnings and style
- Remove redundant pseudocode utils
2022-01-14 14:26:53 +03:00
Dmitriy Novozhilov
e9ac24dc33
[FE 1.0] Report errors on cycles in annotation parameter types
...
^KT-47932
^KT-50753 Fixed
2022-01-14 14:26:52 +03:00
Dmitriy Novozhilov
139a800ff7
[FE 1.0] Prohibit array literals inside nested objects of annotation classes
...
^KT-39041
^KT-50749 Fixed
2022-01-14 14:26:51 +03:00
Dmitriy Novozhilov
c1575edca4
[FE 1.0] Drop ArrayLiteralsInAnnotations feature
...
This feature was introduced in 1.2, so now it's stable part of language
and we can drop support of disabling it
2022-01-14 14:26:50 +03:00
Dmitriy Novozhilov
ff7eb79bb1
[FE 1.0] Prohibit call of constructor of functional supertype
...
^KT-46344
^KT-50730 Fixed
2022-01-14 14:26:50 +03:00
Dmitriy Novozhilov
ecc890efe8
[FE 1.0] Fix reporting of uninitialized parameter in default values of parameters
...
^KT-25694
^KT-50723 Fixed
2022-01-14 14:26:49 +03:00
Stanislav Erokhin
1326ca674e
Introduced IDEAPluginsCompatibilityAPI and returned some API
...
Please read the description of IDEAPluginsCompatibilityAPI.
Also, you may notice, that Deprecation annotation was removed.
That is because with level ERROR it isn't possible to opt-in
to such API in the legit cases. And with level WARNING it won't be
reported because We have diagnostic with level ERROR about OptIn marker.
Sadly, there is no way to add ReplaceWith to the OptIn marker
2022-01-13 18:03:07 +01:00
Denis.Zharkov
964cf937c3
Fix IllegalStateException in case of recursive T & Any upper bound
...
^KT-50542 Fixed
2022-01-13 12:54:47 +03:00
Dmitriy Novozhilov
b2b5f4a63a
[FE 1.0] Don't report deprecation diagnostics about enum on it's own entries
...
^KT-37975 Fixed
2022-01-12 19:11:28 +03:00
Victor Petukhov
455b3143e7
[FE 1.0] Introduce builder inference stub types checker which may report more precise and clear errors due to resolution ambiguity
...
^KT-49828 Fixed
2022-01-11 18:34:47 +03:00
Victor Petukhov
dcc42d66c3
[FE 1.0] Fix formatting in StubTypesBasedInferenceSession
2022-01-11 18:34:46 +03:00
Victor Petukhov
4dc9b291e5
[FE 1.0] Store builder inference session in the corresponding lambda argument
2022-01-11 18:34:46 +03:00
Victor Petukhov
74f294d849
[FE 1.0] Store constraint system in call resolution result instead of constraint storage
2022-01-11 18:34:45 +03:00
Victor Petukhov
cedd98148c
[FE 1.0] Rename the remaining coroutine inference stuff into builder inference
2022-01-11 18:34:45 +03:00
Victor Petukhov
27ed4a7dc2
[FE 1.0] Rename DelegatedPropertyInferenceSession to DelegateInferenceSession
2022-01-11 18:34:44 +03:00