Commit Graph

105040 Commits

Author SHA1 Message Date
Roman Efremov faae5f9b38 [IR] Fix annotation arguments comparison when expression is expect enum
...actualized via typealias. This caused false-positive report of
`ACTUAL_ANNOTATION_CONFLICTING_DEFAULT_ARGUMENT_VALUE`.
In such case it's incorrect to compare signatures, because classes have
different `ClassId`s. Instead, classes could be compared using
`areCompatibleExpectActualTypes` which actualizes both types, and
then enum value names compared.

^KT-62104
^KT-59940
2023-10-04 11:38:15 +00:00
Roman Efremov 67a46eba9c [FIR2IR] Fix default value conversion in annotation classes
This fixes failing test
`FirOldFrontendMPPDiagnosticsWithPsiTestGenerated.DefaultArguments.testAnnotationsViaActualTypeAlias2`.

It started to fail after commit 4e08cafc78
"[FIR2IR] Get rid of IrSymbol.owner usages in Fir2IrLazyClass"
where in Fir2IrLazyClass `declarationStorage.getIrConstructorSymbol`
was changed to `declarationStorage.getOrCreateIrConstructor`.

Before change, value parameters were initialized in
`Fir2IrLazyConstructor#valueParameters` where
`forcedDefaultValueConversion` was passed.
After the change parameters via
`Fir2IrCallableDeclarationsGenerator.declareParameters` where
`forcedDefaultValueConversion` is not passed to method.

^KT-62104 Fixed
2023-10-04 11:38:15 +00:00
Roman Efremov 705b2e87fd Revert "[K2] Temporary mute ACTUAL_ANNOTATION_CONFLICTING_DEFAULT_ARGUMENT_VALUE"
This reverts commit b232dbf484.
2023-10-04 11:38:15 +00:00
Mikhail Glukhikh 8bd792792f K2: consider backing fields of vars as smartcast unstable
#KT-61974 Fixed
2023-10-04 10:12:57 +00:00
Mikhail Glukhikh 8e577e101e K2: reproduce KT-61974 2023-10-04 10:12:57 +00:00
Dmitry Savvinov 0d98995a8e [build] Fix regex in verification-metadata.xml for kotlin-native
Regex OR ('|') has weird precedence rules and previous version of regex
were essentially checking two alternatives:
- kotlin-native-prebuilt-.*-1\.9\.3[0-9](-.+)?
- 2\.0\.0(-.+)?

This is obviously incorrect, but it won't manifest on machines that
already downloaded that artifact to `.konan` via the build without
verification-metadata.xml
2023-10-04 10:04:07 +00:00
Timofey Solonin 8dc9307f9e Add iconv void * overloads for backwards compatibility
Since Xcode 15 the iconv APIs operate on an opaque type __tag_iconv_t* instead of
void*. This causes a runtime exception in older Ktor versions which
depended on iconv.

^KT-62286
2023-10-04 08:04:37 +02:00
Egor Kulikov 057973f4bb [FIR] Fix NPE on invalid gets with index
^KT-60342 fixed
2023-10-03 22:34:46 +00:00
Ivan Kochurkin 319fb967ec [FIR] Add TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCED diagnostics
Report TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCED instead of
WRONG_NUMBER_OF_TYPE_ARGUMENTS where it's appropriate

^KT-59393 Fixed

Simplify FirTypeResolverImpl
2023-10-03 19:49:56 +00:00
Ivan Kochurkin 8d27af5b0d [FIR] Fix reporting of TYPE_ARGUMENTS_NOT_ALLOWED instead of WRONG_NUMBER_OF_TYPE_ARGUMENTS 2023-10-03 19:49:56 +00:00
Ivan Kochurkin 42e5e43302 [FIR] Refactor FirTypeResolverImpl.resolveUserType
Fix IndexOutOfBoundsException on an attempt to cast an element

to inner class with type parameter

^KT-60921 Fixed
2023-10-03 19:49:56 +00:00
Ivan Kochurkin 5cd9afbf73 [FIR] Don't use @OptIn(LookupTagInternals::class) in DeclarationUtils 2023-10-03 19:49:56 +00:00
Svyatoslav Scherbina 8d82e7285d Bump Kotlin/Native version in KGP to 2.0.0-dev-4323 2023-10-03 17:49:16 +00:00
Dmitry Savvinov 23dbe5ed3e [mpp, tests] Minor: fix incorrect testdata
It was missed on rr/CI because those tests run only on macs, and
currrently CI has some troubles with that
2023-10-03 15:55:37 +00:00
Svyatoslav Scherbina 5be76eb57c Native: disable K2 for tests/samples/uikit
Currently it fails with K2 because of ^KT-62262
Disable K2 in this test in order to mute the failure.
2023-10-03 14:53:58 +00:00
Svyatoslav Scherbina 096edd8937 Native: enable K2 for benchmarksAnalyzer
benchmarksAnalyzer is built with bootstrap KGP and snapshot compiler.
Currently the former is K1, while the latter is K2. As a result, the
build fails because K2 compiler needs -Xfragment-sources argument,
while K1 uses -Xcommon-sources. So KGP passes the latter, while the
compiler expects the former.

Fix this by forcing KGP to use K2 for benchmarksAnalyzer.
2023-10-03 14:53:58 +00:00
Ilya Goncharov 68b55181fe [Gradle, JS] Fix muted JS gradle integration tests 2023-10-03 12:40:27 +00:00
Vsevolod Tolstopyatov f9d117cc9e Add Filipp Z. to CODEOWNERS Libraries Team
Add Seva and Simon to CODEOWNERS of the contribution guide

Merge-request: KT-MR-12336
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
2023-10-03 12:37:46 +00:00
Sebastian Sellmair 750ae2c850 [Gradle][KMP] IdeJvmAndAndroidPlatformDependencyResolver: Do not filter ProjectDependencies
as this will result in losing transitive dependencies from said
project dependency.

KT-59020 is now fixed by detecting this case
before creating the 'IdeaKotlinUnresolvedBinaryDependency'

Caused by: KT-59020
^KT-62029 Verification Pending
2023-10-03 11:59:50 +00:00
Ilya Goncharov 7e52aa7b00 [Gradle, JS] Not depends on kotlin npm package 2023-10-03 10:40:21 +00:00
Alexander Udalov 41f736a665 IR: remove dependency of IrTypeSubstitutor on IrBuiltIns
It was only used in one place incorrectly anyway.
2023-10-03 10:18:54 +00:00
Alejandro Serrano Mena c2dfe415f3 [Test] Operator ambiguity check with 'set'
When using `x[y] += z` the spec mandates attempting all possible combinations.

^KT-62138 Fixed
2023-10-03 08:23:29 +00:00
Nataliya.Valtman 5b7b159d64 Fix unstable TryK2IT.smokeTestForNativeTasks test
fix test fails with unexpected task execution order for Linux
2023-10-03 07:05:34 +00:00
Mikhail Glukhikh 9cf1d36e5e K2: don't use outer class type parameters during nested class TP resolve
Before this commit, we allowed access to outer class type parameters
during resolve of type parameter bounds of a nested class.
In fact, outer type parameters are accessible in this situation
only if it's an inner class (or a local class).
This commit forbids such a usage. In the earlier fix of KT-57209
the same was done for regular type reference resolve.

#KT-61459 Fixed
#KT-61959 Fixed
2023-10-03 06:34:02 +00:00
Mikhail Glukhikh cdc197c723 K2: reproduce KT-61959 2023-10-03 06:34:01 +00:00
Mikhail Glukhikh 92470484bf K2: reproduce KT-61459 2023-10-03 06:34:01 +00:00
Alejandro Serrano Mena 310e89f100 [FIR] Report type-aliased 'Nothing' as return type
This warning was issued in K1, but lost in K2

^KT-59420 Fixed
^KT-59429 Fixed
2023-10-03 06:22:35 +00:00
Ilya Gulya f6b2c642c2 Support kotlinx.collections.immutable in kotlin-parcelize plugin
#KT-57685 Fixed

Co-authored-by: Ilya Gulya <ilyagulya@gmail.com>
2023-10-02 23:29:43 +00:00
Dmitriy Dolovov e8853fd40b [IR] Drop obsolete o.j.k.backend.common.serialization.signature.IdSignatureSerializer
It has been renamed to IdSignatureFactory. We have to keep
IdSignatureSerializer as a typealias for a while to keep the source
compatibility with the Compose compiler plugin.
2023-10-02 22:37:54 +00:00
Dmitrii Krasnov e63e4b17b7 [Gradle IT] Fixed regex for extracting task log on Windows
#KT-51553 Ready for Review
2023-10-02 20:28:55 +00:00
Alexander.Likhachev a2b688eb31 [Build] Preserve original jar with unshaded postfix in subplugin example
Otherwise we have two tasks writing output to the same file. That behavior confuses Gradle.
2023-10-02 18:02:47 +00:00
Alexander.Likhachev f6eae38d6c [Build] Update com.gradle.plugin-publish to 1.2.1
The old one appeared to be non-compatible with Gradle 8
2023-10-02 18:02:47 +00:00
Dmitriy Dolovov 78a962f6d2 [KLIB] Deprecate -Xexpect-actual-linker CLI argument
This argument has been finally superseded by `-Xmetadata-klib`.

^KT-61136
2023-10-02 16:21:17 +00:00
Dmitriy Dolovov 620c9434ca [Gradle] Use -Xmetadata-klib CLI arg to produce metadate KLIBs
The `-Xexpect-actual-linker` CLI argument is deprecated and replaced by
`-Xmetadata-klib` CLI argument.

^KT-61136
2023-10-02 16:21:17 +00:00
Dmitriy Dolovov 4d80e0f08d [Native] Respect local.properties in build config 2023-10-02 16:14:59 +00:00
Roman Efremov 81fd9a679d [FIR] Prohibit expect class members with default values actualized
...by fake-override.
It is error without deprecation cycle because `expect` and `actual`
classes are still in Beta and expected impact of change is negligible.

^KT-62036 Fixed
2023-10-02 15:50:37 +00:00
Roman Efremov 02680442a0 [Test] Add tests for expect class default arguments which actualized
...by fake-override.

^KT-62036
2023-10-02 15:50:37 +00:00
Roman Efremov 7ad23aeb73 [Test] Drop forgotten TODO
^KT-62036
2023-10-02 15:50:37 +00:00
Roman Efremov 16ffdb6cb7 [FIR] Refactor: extract checker of DEFAULT_ARGUMENTS_IN_EXPECT_WITH_ACTUAL_TYPEALIAS
...to separate object. This is to simplify overloaded with logic
`FirExpectActualDeclarationChecker`.

^KT-62036
2023-10-02 15:50:37 +00:00
Roman Efremov 2d51bb233d [FIR] Refactor: extract function which returns single compatible expect
...symbol for actual symbol. It will be reused in next commit.

^KT-62036
2023-10-02 15:50:37 +00:00
Alexander Udalov 9943c7078c JVM: add more flags to JvmBackendConfig
And use them instead of CompilerConfiguration, to reduce dependencies of
backend on the whole compiler (as opposed to just backend)
configuration.
2023-10-02 14:58:24 +00:00
Alexander Udalov 72b5123fc8 JVM: reduce usages of GenerationState in favor of JvmBackendConfig
To help in decoupling JVM IR from the old JVM backend.
2023-10-02 14:58:23 +00:00
Egor Kulikov c3010dd599 [FIR] Fix NPE on empty throws
^KT-60325 fixed
2023-10-02 14:37:00 +00:00
Vladimir Sukharev 3894e719b3 [FIR] Fix disappeared CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON
^KT-59965 Fixed
2023-10-02 11:59:33 +00:00
Timofey Solonin f3bc8677c5 Increase execution timeout due to slower Rosetta agents
^KT-61369
2023-10-02 10:13:57 +00:00
Timofey Solonin 7973d898d2 Remove __clear_cache builtin and SparseGetInertia from the targets where
these functions are unlinkable

^KT-61369
2023-10-02 10:13:57 +00:00
Timofey Solonin 35de28d1aa Make NSBezierPathElement an enum
and move NSImage and NSProgessIndicator APIs from categories back to the types

^KT-61369
2023-10-02 10:13:57 +00:00
Timofey Solonin e7dbb9c9a8 Return APIs hidden by __CCT_ENABLE_USER_SPACE
^KT-61369
2023-10-02 10:13:56 +00:00
Timofey Solonin 33a4958c4c Move CloudKit changes from a category to the type
^KT-61369
2023-10-02 10:13:56 +00:00
Timofey Solonin 94f86d6ef9 Update def files for Xcode 15
^KT-61369
2023-10-02 10:13:56 +00:00