Commit Graph

103488 Commits

Author SHA1 Message Date
Nikolay Lunyak 61448531cb [FIR] Support MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES
^KT-59408 Fixed
2023-08-04 11:20:39 +00:00
Nikolay Lunyak 9850987415 [FIR] Fix mutant extension function types
Consider the following example from
`extensionLambdasAndArrow.kt`:

```
val x4: String.() -> String = if (true) {
    { str: String -> "this" }
} else {
    { str: String -> "this" }
}
```

Because of
`coerceFirstParameterToExtensionReceiver`
the given lambdas must be of the type
`String.() -> String`, but because of a bug
they are `String.(String) -> String`. At the
same time, during inference their expected
types are, indeed, calculated correctly as
`String.() -> String`.

^KT-59394 Declined
(no more compiler crashes, #potential-feature)
2023-08-04 11:20:39 +00:00
Nikolay Lunyak bca44e5d8c [FIR] Prepend type variables with '+' rather than '_'
'++' is easier to notice than '__'.
'++++++' is easier to count than '######'.
2023-08-04 11:20:39 +00:00
Nikolay Lunyak a41273b966 [FIR] Properly add the outer type parameters
Looks like a type.

^KT-59393 Fixed
(because other differences are related to
nested typealiases)
2023-08-04 11:20:39 +00:00
Nikolay Lunyak 4bba93f633 [FIR] Implement PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALL
^KT-59382 Fixed
2023-08-04 11:20:39 +00:00
Dmitriy Dolovov 00fb927624 [KLIB] ABI reader: Update ReadMe.md
^KT-54402
2023-08-04 10:56:21 +00:00
Dmitriy Dolovov 18f9ada676 [KLIB] ABI reader: More verbose KDocs
^KT-54402
2023-08-04 10:56:21 +00:00
Bogdan Mukvich a20db23b1f Do not generate SBOM for gradle test plugins
^KTI-1129
2023-08-04 10:14:08 +00:00
Nikolay Lunyak 882b7fc9ca [FIR] Expand typealiases in extractNonFatalDiagnostics
^KT-59901 Fixed
2023-08-04 10:11:57 +00:00
Nikolay Lunyak c392b0c477 [FIR] Expand typealiases when resolving to companions
^KT-59901 Fixed
2023-08-04 10:11:57 +00:00
Nikolay Lunyak 4a9ba1c9ac [FIR] Expand typealiases when checking deprecations
^KT-59901 Fixed
2023-08-04 10:11:57 +00:00
Alexander Udalov 03fdba5aa7 Tests: minor, remove obsolete suppressions about enumEntries
The `enumEntries` intrinsic has been made public in 64c8ce18a0.
2023-08-04 09:57:34 +00:00
Timofey Solonin 65649673a7 [MPP] Only add test framework dependency once per configuration
^KT-56828
2023-08-04 09:50:35 +00:00
Timofey Solonin 256d9da24c [MPP] Emit a warning when kotlin-test testing framework couldn't be inferred
^KT-56828
2023-08-04 09:50:35 +00:00
Dmitrii Gridin 3b9b9327a4 [FIR] add debug info to CME from bounds
^KT-59007
^KT-60324
2023-08-04 08:12:50 +00:00
Sebastian Sellmair 2ab2f408f3 [Gradle] PomDependenciesRewriter: Fix missing 'component' in configuration cache
^KT-60159 Verification Pending
2023-08-04 07:22:20 +00:00
Sebastian Sellmair b9a520b593 [Gradle] createMavenPublications: Defensively defer adding gradleComponents to 'AfterFinaliseCompilations'
... as the code previously states that this code might race
with actually adding variants from configurations

^KT-60159 Verification Pending
2023-08-04 07:22:20 +00:00
Sebastian Sellmair 84eacd5cde [Gradle] KotlinProjectStructureMetadata: Use name from KotlinUsageContext by: 'kotlinVariantNameFromPublishedVariantName'
^KT-60159 Verification Pending
2023-08-04 07:22:20 +00:00
Sebastian Sellmair fd50b80aa1 [Gradle][Minor] Handle 'isSourcesPublishable' more lazily
... as the value is allowed to change until 'finaliseDsl'

^KT-60159 Verification Pending
2023-08-04 07:22:20 +00:00
Sebastian Sellmair 9f2c2b7265 [Gradle] Implement tests for External target publications
^KT-60159 Verification Pending
2023-08-04 07:22:20 +00:00
Sebastian Sellmair 06d5d2522c [Gradle] Multiplatform publishing: Support external targets
...by only requiring InternalKotlinTarget instead of AbstractKotlinTarget

KT-60159
2023-08-04 07:22:20 +00:00
Sebastian Sellmair 3d593f0ee9 [Gradle] ExternalKotlinTargetComponent: Implement 'usages' as 'KotlinUsageContext'
... to support multiplatform publication components as
re-writing pom dependencies and project structure metadata

KT-60159
2023-08-04 07:22:20 +00:00
Sebastian Sellmair 93f8e21e9e [Gradle][Minor] Add assertion on KotlinAndroidTarget checking components do not get created to early
KT-60159
2023-08-04 07:22:20 +00:00
Sebastian Sellmair 2734207b52 [Gradle][Minor] Make Future<T> covariant Future<out T>
KT-60159
2023-08-04 07:22:20 +00:00
Sebastian Sellmair 29d15235bb [Gradle][Minor] Add Property.awaitFinalValueOrThrow util function
KT-60159
2023-08-04 07:22:20 +00:00
Alexander Zakharenko ce38699dfa [K/N] Fix of NaN normalization for arm64 2023-08-04 06:58:05 +00:00
Roman Efremov 05cead2ab5 Fix implementation doesn't match name of property
Currently, property `hasSourceAnnotationsErased` returns the opposite
to what is stated in name. Invert it both in implementation and on
call site.

^KT-58551
2023-08-03 17:07:08 +00:00
Roman Efremov a1a1049aa8 Remove unused method
^KT-58551
2023-08-03 17:07:08 +00:00
Roman Efremov 991a016405 Remove obsolete TODO about repeatable annotations
^KT-60670
2023-08-03 17:07:08 +00:00
Igor Yakovlev 69c97688c0 [Wasi] Add default wasi ejs runner (for nodejs) 2023-08-03 16:38:05 +00:00
Aleksei.Glushko f1efeff21b [K/N] GC: parallel mark with work balancing ^KT-57771
Merge-request: KT-MR-11460
Merged-by: Alexey Glushko <aleksei.glushko@jetbrains.com>
2023-08-03 16:25:19 +00:00
Mads Ager f0f1dc15c3 [K/N] Reduce frame size by removing unused arena field. 2023-08-03 15:32:08 +00:00
Ilya Gorbunov 171d156688 [stdlib-mpp] Disable/ignore failing tests in Kotlin Dev
KT-60901, KT-59000, KT-56106
2023-08-03 14:47:21 +00:00
Ilya Gorbunov d72631a773 [stdlib-mpp] Workarounds for opt-in problems caused by languageSettings DSL rework
KT-56106
2023-08-03 14:47:21 +00:00
Yahor Berdnikau 73e8fc6183 [Gradle] Always add kotlin-stdlib-wasm
Published kotlin-stdlib with Gradle metadata does not yet include
kotlin-stdlib-wasm variant, so KGP should always add it separately even
if kotlin-stdlib was added into a common source set.

^KT-59000
2023-08-03 14:47:21 +00:00
Yahor Berdnikau 94013b1ff2 [Gradle] Updated logic to add stdlib default dependency published with Gradle metadata
Since Kotlin 1.9.20, Kotlin stdlib is published with Gradle metadata,
which allows Gradle itself to select proper dependency subtypes. Now
stdlib in MPP projects is only added to common dependencies.

The default artifact for JVM was changed from 'kotlin-stdlib-jdk8' to
'kotlin-stdlib'.

^KT-59000 Fixed
2023-08-03 14:47:21 +00:00
Yahor Berdnikau 8154f7ab37 [Gradle] Remove adding stdlib to KPM modules
KPM is deprecated and scheduled for removal

^KT-59000 In Progress
2023-08-03 14:47:21 +00:00
Ilya Gorbunov 21565c6128 [stdlib-mpp] Add dependency constraints to JVM variant, KT-55297 2023-08-03 14:47:21 +00:00
Ilya Gorbunov b0106de209 [stdlib-mpp] Mute legacy kotlin.platform.js plugin integration tests
That plugin is not prepared to distinguish several variants of JS in kotlin-stdlib-js dependency.
2023-08-03 14:47:21 +00:00
Ilya Gorbunov 671451fb67 [stdlib-mpp] publish legacy MPP common metadata additionally in a variant under 'common' classifier 2023-08-03 14:47:21 +00:00
Ilya Gorbunov ff1dbab290 [stdlib-mpp] Extract separate variants of kotlin-test for jsIR and jsV1
Otherwise stdlib-js dependency can't be resolved by spdx plugin
 because stdlib has different variants for legacy and IR JS.

KT-56106
2023-08-03 14:47:21 +00:00
Ilya Gorbunov a9bc8fa402 [stdlib-mpp] Exclude kotlin-stdlib-js/js-ir projects and use kotlin-stdlib instead
- Specify disambiguating attributes in kotlin-dom-api-compat
  compile dependency configurations
  because it uses the flag that removes JS compiler type attribute
  from all configurations and variants

  KT-56106
2023-08-03 14:47:21 +00:00
Ilya Gorbunov a4c75338f3 [stdlib-mpp] js artifacts for dist
KT-56106
2023-08-03 14:47:21 +00:00
Ilya Gorbunov 8e78a433e7 [stdlib-mpp] Suppress warnings to please the Kotlin compiler in Gradle DSL
KT-56106
2023-08-03 14:47:21 +00:00
Ilya Gorbunov b3707807b6 [stdlib-mpp] Do not depend on kotlin-stdlib-common in kotlin-test-common
KT-56106
2023-08-03 14:47:21 +00:00
Ilya Gorbunov 8172bbcb3a [stdlib-mpp] Update expected poms of the standard library
KT-56106
2023-08-03 14:47:21 +00:00
Ilya Gorbunov 9390afa749 [stdlib-mpp] Remove workaround for building kotlin-test-js as a modern K/JS project
KT-56106
2023-08-03 14:47:21 +00:00
Ilya Gorbunov 19cbd4dd3e [stdlib-mpp] Disable js-v1 test execution and compilation and remove the corresponding workarounds
KT-56106
2023-08-03 14:47:20 +00:00
Ilya Gorbunov 09bb0b5566 Draft: change stdlib autoconfiguration and import expectations for mpp stdlib
#KT-59000
2023-08-03 14:47:20 +00:00
Ilya Gorbunov d5fd6937ce Fix HierarchicalMppIT: kotlin-stdlib now contains composite metadata artifact
KT-56106
2023-08-03 14:47:20 +00:00