Commit Graph

101805 Commits

Author SHA1 Message Date
Dmitry Savvinov eeb95f2feb [Gradle] Minor: compare against expected testData in tmpDir
This might become an issue if (when) the editable diff window will
be supported, but for now it doesn't make much difference against
which file we compare the actual output.
2023-06-14 14:36:46 +02:00
Dmitry Savvinov 896292cba1 [Gradle] Minor: remove unused parameter 2023-06-14 14:36:46 +02:00
Timofey Solonin 6d66eb4ac2 [MPP] Use two simulator targets in CocoaPodsIT
^KT-58822
2023-06-14 12:28:23 +00:00
Timofey Solonin 14bc02287b [MPP] Replace obsolete target in CommonizerHierarchicalIT.optimisticCommonization
^KT-58822
2023-06-14 12:10:00 +00:00
Artem Kobzar d2b64cd481 [K/JS] Generate .js files from .ts if they were not created, because of the incremental flag in tsconfig
The incremental option will prevent creating file if there is an incremental cache from TS compiler even if the file doesn't exist.
The situation could happen if `./gradlew clean` was executed (js file will be removed and ts incremental cache - not)

Merge-request: KT-MR-10229
Merged-by: Artem Kobzar <Artem.Kobzar@jetbrains.com>
2023-06-14 09:26:18 +00:00
Dmitrii Gridin 7631e90f12 [LL FIR, Java] fix resolve contract violation from java symbol provider from permits
To create a smart psi type pointer, IJ Platform uses resolve
We cannot use resolve from JavaSymbolProvider,
as it may lead to resolve contract violation

^KT-59243 Fixed
2023-06-14 09:25:26 +00:00
Timofey Solonin 5af8b9e819 [MPP] Remove obsolete targets from KlibBasedMppIT
^KT-58822
2023-06-14 08:50:53 +00:00
Kirill Rakhman 8ff67218f5 [FIR] Fix serialization of annotation vararg arguments
#KT-58937 Fixed
2023-06-14 08:41:27 +00:00
Abduqodiri Qurbonzoda fd4d4f516f Fix data class hashcode generation
It considers Boolean hashCode equal to 1/0 for true/false,
which is different from actual hashCode of the Boolean type.
2023-06-14 08:19:47 +00:00
Abduqodiri Qurbonzoda 36924775c8 Add a compiler box test for Boolean.hashCode() 2023-06-14 08:19:47 +00:00
Abduqodiri Qurbonzoda 193aa0f935 Align the Boolean.hashCode() value across platforms
Boolean.hashCode() should return 1231/1237 for true/false correspondingly.

As a part of efforts to stabilize Native stdlib.
2023-06-14 08:19:46 +00:00
Mikhail Glukhikh 668157eb41 FirClassAnySynthesizedMemberScope.kt: make it a declared member scope
Related to KT-54844, KT-58926
2023-06-14 07:09:16 +00:00
Mikhail Glukhikh 0ea0346ec1 FE MPP: add a test with expect value class B : interface with toString
Related to KT-54844
2023-06-14 07:09:16 +00:00
Pavel Kunyavskiy f67f8c393b K2: Added test for data class metadata
#KT-57622 Fixed
2023-06-14 07:09:16 +00:00
Mikhail Glukhikh f48142a6e6 FIR2IR: fix binding of data class generated members
Related to KT-54844
#KT-54952 Fixed
#KT-54887 Fixed
2023-06-14 07:09:15 +00:00
Mikhail Glukhikh 5304afb097 Fix AA/LC behavior accordingly to changes related to KT-54844 2023-06-14 07:09:15 +00:00
Mikhail Glukhikh 2a825f8df1 K2: implement FirClassAnySynthesizedMemberScope #KT-54844 Fixed 2023-06-14 07:09:15 +00:00
Mikhail Glukhikh c898b264ba FIR2IR: fix receiver of value classes method references
This commit fixes the receiver of these method in FIR2IR code
by removing a particular hack.
However, as the consequence of it 2 black box tests become broken in K2.
The reason is KT-54952 which is not yet fixed

Related to KT-54887
2023-06-14 07:09:15 +00:00
Anna Kozlova 95ec7ede66 [light classes] create enum references as PsiReferenceExpressions
Ensure that enum constants with special characters in their names are properly ignored
2023-06-13 20:09:54 +00:00
Timofey Solonin 2353424817 [MPP] Remove obsolete targets from CommonizerIT.commonizeNativeDistributionWithIosLinuxWindows
^KT-58822
2023-06-13 18:31:46 +00:00
Alexander Udalov 82af3dd6ae Tests: fix paths of Java sources in codegen tests
To help them run on the old infrastructure, which light analysis tests
are still using.
2023-06-13 17:48:23 +00:00
Alexander Udalov 23fb96378e Tests: remove duplicate LANGUAGE test directives
To help them run on the old infrastructure, which light analysis tests
are still using.
2023-06-13 17:48:23 +00:00
Alexander Udalov be4df35867 Tests: add FILE directives to some multimodule tests
To help them run on the old infrastructure, which light analysis tests
are still using.
2023-06-13 17:48:23 +00:00
Leonid Startsev 29b6595cfc Start file names with a capital letter according to codestyle
No ABI changes are introduced because file facades are automatically capitalized anyway.
2023-06-13 16:44:13 +00:00
Alexander Udalov 70e9245867 Revert "tmp: implement a hack to fix LA test"
This reverts commit 0387ce0365.

This change was not needed because the 'IGNORE_BACKEND_K1: JVM'
directive makes the test generated as ignored, in this case it is the
method named `ignoreSignedToUnsignedConversions` which is not even
recognized as a test.
2023-06-13 16:19:53 +00:00
Timofey Solonin d7a2e11011 [MPP] Remove obsolete targets from CommonizerHierarchicalIT.commonizeHierarchicallyMultiModule
^KT-58822
2023-06-13 16:04:38 +00:00
Svyatoslav Kuzmich 1dc0b054ed Deprecate PlatformDiagnosticSuppressors::shouldReportUnusedParameter with one parameter 2023-06-13 15:37:54 +00:00
Svyatoslav Kuzmich dc4aa8c15e [Wasm] Restore binary compatibility of PlatformDiagnosticSuppressor
Keep the original shouldReportUnusedParameter method without
 BindingContext parameter

^KT-58188 Fixed
2023-06-13 15:37:53 +00:00
Timofey Solonin e39d9c2c35 [MPP] Remove mingwx86 from CommonizerIT.commonizeMultipleCInteropsWithTests
^KT-58822
2023-06-13 14:53:38 +00:00
Pavel Mikhailovskii 89c8392255 Make it possible to instantiate StandaloneAnalysisAPISession with a custom clasloader 2023-06-13 13:34:11 +00:00
Leonid Startsev 98f7ac044c Add Dokka configuration to kotlinx-metadata-jvm 2023-06-13 12:56:03 +00:00
Leonid Startsev 654874e30f Enhance kotlinx-metadata-jvm KDoc: add missing documentation, apply Grazie suggestions 2023-06-13 12:56:03 +00:00
Leonid Startsev 5088c9370d Add missing deprecation for KmExtensionType and experimentality for KmConstantValue 2023-06-13 12:56:03 +00:00
Anna Kozlova 57f429206c [light classes] Improve isEquivalence checks
^KTIJ-25412

Update equivalence checks for light accessor methods and light fields
 to make them equivalent if they share the same underlying property.
 Follow the `kotlinOrigin` declaration:
 even if there is a property accessor,
 use property declaration.
2023-06-13 12:39:51 +00:00
Dmitrii Krasnov 0252f7c586 Improved kdoc for OsCondition annotation 2023-06-13 12:37:38 +00:00
Roman Golyshev 9f819b4c57 KTIJ-25823 [Analysis API][FIR] Filter reanalysed parts by type in FirBodyReanalyzingVisitorVoid
There are SOE exceptions caused by the fact that `getOrBuildFir` can
return a FIR declaration for the parent PSI. I wasn't able to reproduce
it locally, but this commit should prevent such problems by using
`getOrBuildFirSafe` with explicit type specification
2023-06-13 12:33:06 +00:00
Timofey Solonin 0c464450a9 Remove extraneous checks 2023-06-13 12:32:41 +00:00
Timofey Solonin 76eef2adb1 [MPP] Remove obsolete targets from MppCInteropDependencyTransformationIT.ComplexProject
^KT-58822
2023-06-13 12:32:41 +00:00
Alexander Shabalin da1fde2477 [K/N] Enable custom allocator by default ^KT-55364 2023-06-13 10:22:04 +00:00
Ivan Kochurkin 1e09e8663c [FIR] Add compatibleOnly parameter to getSingleCompatibleExpectForActualOrNull
Rename `getSingleCompatibleExpectForActualOrNull` to `getSingleExpectForActualOrNull`
2023-06-13 10:12:44 +00:00
vladislav.grechko d600d768a6 Do not assert existence of metadata for local delegated properties
Local delegated property may origin from a body of inlined function.
In that case, they contain no metatada - which is ok, as the original
local delegated properties contain it and will be serialized.

^KT-58780: Fixed
2023-06-13 10:04:28 +00:00
Kirill Rakhman 4b85776405 [FIR] Fix completion of FirDelegatedConstructorCall
Before this fix, changes that were made to the arguments list by calling
argumentList.transformArguments() were overriden by replaceArgumentList.
This fixes reverses the order in which these calls are made.
This also aligns the logic between the completion of qualified accesses
and delegated constructor calls.

#KT-59102 Fixed
2023-06-13 09:47:58 +00:00
Dmitrii Krasnov 267068546f migrated git connected cocoapods test to new test dsl (junit 5 and gradle test kit)
#KT-51553 In Progress
2023-06-13 06:34:33 +00:00
Mikhail Glukhikh 35b475f9f7 K2: Fix processing inference lower bound NullableType <: T & Any
This commit is a follow-up to 0d070f8ba9.
Here we remove accidentally returning "Not a sub-type" for a constraint
like TypeVariable <: DNN type

#KT-59241 Fixed
2023-06-12 22:36:02 +00:00
Mikhail Glukhikh ab1d634ad3 K2: add test for KT-59241 2023-06-12 22:36:02 +00:00
Brian Norman a71437335b [FIR] Unwrap definitely not-null types in type parameter cycle checks
#KT-58944 Fixed
2023-06-12 20:05:23 +00:00
Dmitrii Gridin 2bbf57c15e JavaElementCollectionFromPsiArrayUtil: cleanup code 2023-06-12 16:41:26 +00:00
Dmitrii Gridin 6992a707dc [LL FIR, Java] fix resolve contract violation from java symbol provider from supertypes
To create a smart psi type pointer, IJ Platform uses resolve
We cannot use resolve from JavaSymbolProvider,
as it may lead to resolve contract violation

^KT-59240 Fixed
2023-06-12 16:41:26 +00:00
Anton Lakotka 67d933185a [Gradle] Apply Language Settings in the correct Lifecycle Stages
After introduction of KGP Lifecycle stages the application of
Language Settings to Targets and Compilation (from source set level)
wasn't synchronized. Which led to data flow race. Delaying this
application to correct stages solves the data flow race.

^KT-59063
2023-06-12 13:19:52 +00:00
Anton Lakotka b097292ddf [Gradle] Update setupGeneralKotlinExtensionParameters to work correctly
with KGP lifecycles. It is unknown whether given source set is in main
compilation or not until certain lifecycle stage (AfterFinaliseRefinesEdges)

Therefore, configuring kotlin extension parameters that should
be delayed.

^KT-59063
2023-06-12 13:19:52 +00:00