Commit Graph

103510 Commits

Author SHA1 Message Date
Sebastian Sellmair 6c6200a9c5 [Gradle][Minor] Deprecate 'KotlinCompilation.associateWith' property...
... in favor of associateCompilations and allAssociateCompilations

^KT-60937 Verification Pending
2023-08-07 13:40:32 +00:00
Sebastian Sellmair 8ce820d944 [Gradle][Minor] KotlinJsIrSourceSetProcessor: Access runtimeDependencyFiles safely
As it might happen, that the configure code could be triggered
too early, capturing the state of 'runtimeDependencyFiles' to early as well.

^KT-60937 Verification Pending
2023-08-07 13:40:32 +00:00
Sebastian Sellmair ba270fc7df [Gradle][Minor] KotlinCompilationAssociator: Use listProperty util function
^KT-60937 Verification Pending
2023-08-07 13:40:32 +00:00
Sebastian Sellmair d978640c42 [Gradle] Remove KotlinOutputDependency
The IdeBinaryDependencyResolver will filter respective
files by using a simpler check: testing if the files
do reside within the build dir of the current project.

^KT-60937 Verification Pending
2023-08-07 13:40:32 +00:00
Igor Chevdar aa0f0c8cb4 [K/N] Do not use '=' in file names
#KT-60986 Fixed
2023-08-07 12:57:17 +00:00
Dmitrii Gridin 1182a156e8 [LL FIR] add debug info to exception 2023-08-07 13:26:39 +02:00
Sergey Bogolepov 8df18c6395 [K/N] Update osVersionMin for arm ios and tvos simulators
While it was working before, it is not correct to use OS
version <= 13.0 for these targets, so let's make our code a bit more
robust.
2023-08-07 09:07:31 +00:00
Sergey Bogolepov 7e288483b3 [K/N] Update minimum iOS and tvOS versions
The new ld from Xcode 15 incorrectly parses a simulator
target version if it is below the minimum supported version.
It is unclear if this is intentional or not, but we have to play
by Apple's rules. Anyway, 9.0 is quite obsolete, so this change
should be pretty safe.

^KT-60758
2023-08-07 09:07:31 +00:00
Roman Golyshev d46be70933 KT-60940 [Analysis API] Properly handle vararg types in KtFirReferenceShortener
^KT-60940 Fixed
^KTIJ-26518 Fixed
2023-08-07 08:35:49 +00:00
Roman Golyshev 68774609f9 KT-60940 [Analysis API] Small refactoring of KtFirReferenceShortener
Instead of unwrapping `partiallyResolvedTypeRef` in `processTypeRef`,
just visit it with the visitor
2023-08-07 08:35:48 +00:00
Nikolay Krasko a1250e838b Ignore compose experimental modules during artifacts check
The check can be improved in the future, so not only parent directory
is checked.
2023-08-07 08:18:19 +00:00
Brian Norman 887dc18719 [LL FIR] Support transforming FirFile in all LL resolvers
In preparation for KT-58531, LL FIR resolvers need to support resolving
FirFiles. This change has a very large impact on test data, so it is
being made separately.
2023-08-04 16:26:58 +00:00
Ilya Gorbunov 1a8cb02a43 [stdlib-mpp] Fix implicit signing task dependency on shared javadoc artifact
By not using shared javadoc artifact for all publications.
See the commit e6df34805f for details.
2023-08-04 16:11:56 +00:00
Ilya Gorbunov 28992b1302 [stdlib-mpp] Move KGP obsolete property suppress closer to usage
Also remove no-op property enableGranularSourceSetsMetadata
2023-08-04 16:11:56 +00:00
Roman Golyshev ab8726cff1 KT-60954 [Analysis API] Unwrap variable assignments in KtFirReferenceShortener
To get to the proper qualified expression, we need to unwrap the outer
`FirVariableAssignment` if we deal with the property access inside of
assignment expressions

^KT-60954 Fixed
2023-08-04 15:26:34 +00:00
Nikolay Lunyak 7151e6a41c [FIR] Report UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL
^KT-59969 Fixed
2023-08-04 15:17:21 +00:00
Alexander Shabalin 906c27736f [K/N] CustomAllocator do not lose finalizer queue 2023-08-04 12:16:17 +00:00
Sebastian Sellmair d510c93241 [Commonizer] Support generic/simple annotation commonization (to support kotlinx.cinterop.* annotations)
^KT-59302 Verification Pending
2023-08-04 11:29:23 +00:00
Nikolay Lunyak c2ad475153 [FIR] Render outer type parameters differently 2023-08-04 11:20:40 +00:00
Nikolay Lunyak e4246e8f51 [FIR] Support ENUM_CLASS_CONSTRUCTOR_CALL
^KT-59411 Fixed
2023-08-04 11:20:40 +00:00
Nikolay Lunyak f4ffd479cc [FIR] Support TYPEALIAS_EXPANDED_TO_MALFORMED_TYPE
^KT-59410 Fixed
2023-08-04 11:20:40 +00:00
Nikolay Lunyak 97b00793b4 [FIR] Prevent duplicate direct overridden-s from substitution overrides
This change prevents going up the scopes once we find a
substitution override. Whatever we'd find by going further is not
going to be a direct overridden anymore, so it would lead to incorrect
results when collecting direct overridden-s. Without this change, we get
error modules in FT intellij.
2023-08-04 11:20:40 +00:00
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