Commit Graph

18120 Commits

Author SHA1 Message Date
Mikhail Glukhikh a77b758efa LV 2.0: drop reporting FIR_COMPILED_CLASS and relevant stuff
#KT-62056 Fixed
Related to KT-59171, KT-61951
2023-09-21 11:14:09 +00:00
Roman Efremov b232dbf484 [K2] Temporary mute ACTUAL_ANNOTATION_CONFLICTING_DEFAULT_ARGUMENT_VALUE
...until tests fixed. Mute on TC is not enough
because user projects compilation are affected.

^KT-62104
2023-09-21 09:05:51 +00:00
Nikolay Lunyak 2801db0e59 [FIR] Unwrap substitution overrides for multiple default values
Otherwise, duplicate diagnostics may be reported on
subtypes of the type that actually declares the
problematic override.
2023-09-21 07:48:31 +00:00
Nikolay Lunyak 76fa812949 [FIR] Ensure K2 reports redundant diagnostics for default values 2023-09-21 07:48:31 +00:00
Nikolay Lunyak 8755cf75ac [FIR] Improve the messages of the multiple defaults diagnostics
Mention the base functions where the default
values come from.
2023-09-21 07:48:30 +00:00
Kirill Rakhman 4e1dfcd2a8 [FIR] Improve readability of rendered types in diagnostics
#KT-61824 Fixed
#KT-61688 Fixed
2023-09-21 07:18:19 +00:00
Kirill Rakhman e996760e7e [FIR] Fix rendering of SUSPENSION_POINT_INSIDE_CRITICAL_SECTION
#KT-61826 Fixed
2023-09-21 07:18:19 +00:00
Kirill Rakhman ed4386a962 [FIR] Fix rendering of NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS 2023-09-21 07:18:19 +00:00
Dmitriy Dolovov 848c88b1a5 [KLIB] Lift up -Xmetadata-klib CLI key from Native to Common args
This is a precondition for obsoleting and finally removing
`-Xexpect-actual-linker` CLI key, which became useless since
the removal of ExpectActualTable.

^KT-61136
2023-09-20 22:26:36 +00:00
Ivan Kochurkin 3cd4f7c3aa [FIR] Consider @PlatformDependent annotation everywhere (including JS and Native)
^KT-57858 Fixed

Remove FirEmptyOverridesBackwardCompatibilityHelper since it's not used anymore

Remove overridesMemberWithPlatformDependent.kt test file since it becomes redundant
2023-09-20 17:12:52 +00:00
Mikhail Glukhikh 14bc20652e K2: process also arguments while calculating postponed atoms
#KT-61933 Fixed
2023-09-20 15:42:03 +00:00
Mikhail Glukhikh 0c287c9945 K2: reproduce KT-61933 2023-09-20 15:42:03 +00:00
Roman Efremov ad4d1a5ba8 [IR] Support ACTUAL_ANNOTATION_CONFLICTING_DEFAULT_ARGUMENT_VALUE in K2
It's implemented as IR checker because in K2 constant expressions are
evaluated on backend. FIR diagnostic removed because isn't needed.

"annotationViaActualTypeAlias" test has no `// FIR_IDENTICAL` because
diagnostic reported on entire typealias declaration instead of its name.
This is because in IR+LightTree we have only offsets, so can't navigate
to typealias name element.

^KT-59940 Fixed
2023-09-20 15:40:37 +00:00
Ivan Kochurkin 063835488f Revert "[FIR] Fix missing RETURN_TYPE_MISMATCH for labeled return statements"
This reverts commit 8e72f60996

Since some intellij tests are failing
2023-09-20 12:29:41 +02:00
Vladimir Sukharev e9d4de658d [FIR2IR] Don't emit empty body of while/do_while loop
Merge-request: KT-MR-12283
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-09-20 10:06:00 +00:00
Kirill Rakhman 5b4409e34c [FIR] Store abbreviated type in deserialized declarations as attribute
#KT-58542 Fixed
2023-09-20 09:31:29 +00:00
Ivan Kochurkin 8e72f60996 [FIR] Fix missing RETURN_TYPE_MISMATCH for labeled return statements
in lambda functions, ^KT-59907 Fixed
2023-09-20 09:06:37 +00:00
Kirill Rakhman 2e4d486131 [FIR] Use enhanced scope to guess array type in annotation loading
Otherwise, we return null for any java annotation because the
unenhanced scope doesn't contain any properties.

#KT-61856 Fixed
2023-09-20 08:02:37 +00:00
Dmitriy Dolovov 249106b23f [KLIB] Drop obsolete tests on serialization of expect IR declarations
These tests are muted for all KLIB-oriented platforms for a long time
and are no more relevant since the removal of ExpectActualTable.

^KT-61136
2023-09-20 07:54:36 +00:00
Ilmir Usmanov f7a2da8f82 Minor. Add regression test for KT-41997
#KT-41997 Fixed
2023-09-19 20:11:57 +00:00
Artem Kobzar 94eefba824 [K/Wasm] Optimize range checks 2023-09-19 17:04:41 +00:00
Mikhail Glukhikh 3e1f4c11dc LV 2.0: drop a duplicating CLI test 2023-09-19 15:46:30 +00:00
Mikhail Glukhikh 198aa675cc LV 2.0: add "not existing source path" test which uses K2 2023-09-19 15:46:30 +00:00
Mikhail Glukhikh e4b70e7788 LV 2.0: update some CLI tests with warnings to use DIVISION_BY_ZERO warning 2023-09-19 15:46:30 +00:00
Mikhail Glukhikh e5906a8a3a LV 2.0: remove CLI tests covering quite obsolete legacy 2023-09-19 15:46:30 +00:00
Ivan Kochurkin 30899e4bbf Remove CLI tests that become duplicated/unneeded after switching to 2.0 2023-09-19 15:46:30 +00:00
Mikhail Glukhikh db03cd8cd7 LV 2.0: update diagnostic message in MPP integration test 2023-09-19 15:46:30 +00:00
Mikhail Glukhikh 796b9287e2 LV 2.0: fix diagnostic text in CliTestGenerated$Jvm.testWrongAbiVersion 2023-09-19 15:46:29 +00:00
Mikhail Glukhikh 96ea0c2eb8 LV 2.0: move testStrictMetadataVersionSemanticsOldVersion to pure K2 tests 2023-09-19 15:46:29 +00:00
Mikhail Glukhikh 8ba2cab989 LV 2.0: fix test data in CompilerSmokeTest 2023-09-19 15:46:29 +00:00
Mikhail Glukhikh f6af5e6d03 LV 2.0: unmute/fix/delete some FirCompileKotlinAgainstCustomBinaries tests 2023-09-19 15:46:29 +00:00
Mikhail Glukhikh cc2be502f6 LV 2.0: mute two MPP integration tests 2023-09-19 15:46:28 +00:00
Ilya Chernikov 3dc1b26d83 Fix cli testdata for changed diagnostics in K2 2023-09-19 15:46:28 +00:00
Ilya Chernikov 7b49acb490 Fix ant testdata for changed diagnostics in K2 2023-09-19 15:46:28 +00:00
Ilya Chernikov 21b7945216 Fix ant testdata due to the newly added suppression warning 2023-09-19 15:46:28 +00:00
Ilya Chernikov effb2f801d Fix cli testdata for the newly added warning suppression tests 2023-09-19 15:46:28 +00:00
Ilya Chernikov 856e801cbc LV20: fix CompilerSmokeTest testdata for changed K2 error reporting 2023-09-19 15:46:28 +00:00
Denis.Zharkov ea0d0097ba Fix testSelfUpperBoundInference test in LV 2.0 branch
The test starts failing after switching to 2.0 because we don't support
TypeInferenceOnCallsWithSelfTypes though it's planned (see KT-59012).

This particular test was introduced in 1.5.x (see KT-48026) to check
if the flag -Xself-upper-bound-inference actually enables
the feature TypeInferenceOnCallsWithSelfTypes.

While the feature is enabled by default since 1.6, it doesn't make sense
to have it with earlier versions.
Another solution would be removing it at all, but that might require
removing related code as well (as we would have some dead code in CLI
arguments processing).

^KT-60885 Fixed
2023-09-19 15:46:28 +00:00
Ilya Chernikov 9fed50c03b LV20: fix CliTestGenerated testdata for changed K2 error reporting 2023-09-19 15:46:28 +00:00
Ilya Chernikov e29cd3d0b3 LV20: fix testdata for OldCompileKotlinAgainstCustomBinariesTest
fake future version changed
2023-09-19 15:46:27 +00:00
Ilya Chernikov e7ff1d4cd9 LV20: mute noStdLib test for K2 until the issue is resolved
K2 do not track builtins properly to provide appropriate
diagnostics yet
related to #KT-61033
2023-09-19 15:46:27 +00:00
Mikhail Glukhikh f1a297279d Fix Java LC test for LV 2.0 (see KT-60646) 2023-09-19 15:46:27 +00:00
Mikhail Glukhikh 876a0768e4 Mute a pair of intrinsic trim tests for old BE in LV 2.0
We muted tests in this commit because LV 2.0 shouldn't support old BE,
so this behavior is not important
2023-09-19 15:46:27 +00:00
Mikhail Glukhikh 101166c8a7 K2/CLI tests in LV 2.0: drop warnings related to KT-56989 2023-09-19 15:46:27 +00:00
Mikhail Glukhikh 0a498660cb Run K2 scripts in PSI mode 2023-09-19 15:46:27 +00:00
Dmitrii Gridin 11d86992c5 [SLC] update test data for 2.0 version
* disable compiled tests for scripts because they are not supported yet
* fix test data

^KT-60590 Fixed
2023-09-19 15:46:27 +00:00
Mikhail Glukhikh 2a8b655294 Update tests after switching to LV 2.0
Related to KT-59171
2023-09-19 15:46:27 +00:00
Nikita Bobko b15787bfa8 Fir incorrect usage of AbstractExpectActualCompatibilityChecker.getCallablesCompatibility API
^KT-62027 Fixed

`getCallablesCompatibility` requires parentSubstitutor as a parameter,
but we created a member-level substitutor

`getCallablesCompatibility` will create member-level substitutor itself,
no need to create member-level substitutor on the call site.

IndexOutOfBounds was happening in an attempt of creating member-level
substitutor

I will refactor the `createExpectActualTypeParameterSubstitutor` API in
the following commits later. It will help to avoid problems like that
2023-09-19 14:24:15 +00:00
Brian Norman 4b6c767704 [FIR] Report UNINITIALIZED_VARIABLE for top-level properties
When checking top-level properties, check with initialization enabled.
This makes sure the same errors are reported for member and top-level
properties.
2023-09-19 13:42:54 +00:00
Roman Efremov c88b4105c5 [K2] Correctly handle case when expect annotation is unresolved
Don't report if annotation has error type.

Review: KT-MR-12250

^KT-62026 Fixed
2023-09-19 10:19:08 +00:00