Commit Graph

100386 Commits

Author SHA1 Message Date
Ivan Kylchik 0b70b7904d [K2] Create and add EvaluatedConstTracker in configuration 2023-04-19 13:52:43 +00:00
Ivan Kylchik 37c3dff0c5 [K2] Add new class to keep track of evaluated const by IrInterpreter 2023-04-19 13:52:42 +00:00
Ivan Kylchik 297b6ae64b [K2] Move ConstantValue from fir-serialization to compiler.common
This is needed to be able to save `ConstantValue` in map of
evaluated constants.
2023-04-19 13:52:42 +00:00
Ivan Kylchik fe989d0ba7 [K2] Add languageVersionSettings to Fir2IrConfiguration class 2023-04-19 13:52:42 +00:00
Ivan Kylchik e16231104e [K2] Add Fir2IrConfiguration class to store configuration parameters
One example of such parameter is `linkViaSignatures`. There is
`Psi2IrConfiguration` as an analog for K1.
2023-04-19 13:52:41 +00:00
Ivan Kylchik 525098dea6 [K2] Unbind fir:fir2ir:jvm-backend from other non jvm modules 2023-04-19 13:52:41 +00:00
Artem Kobzar 33c5068b79 [K/JS] Rework IR deserialization and lowering phases to consume less memory 2023-04-19 13:10:19 +00:00
Pavel Punegov 1ee2d0814c [K/N][test] Exclude test interop0
See ^KT-58099

Merge-request: KT-MR-9672
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2023-04-19 12:49:25 +00:00
Leonid Startsev ef9074e24d Correctly support nullability in type arguments for serializer<T>() intrinsic.
Nullability info should be added to TYPE_OF operation marker.

Fixes https://github.com/Kotlin/kotlinx.serialization/issues/2265
2023-04-19 12:31:19 +00:00
Ilya Chernikov 8cc9f911d5 FIR: temp: make klib symbol provider know parent packages
Current qualified access resolving algo rely (likely incorrectly,
see #KT-58037) on a providers' "knowledge" about parent packages.
This commit adds this "knowledge" to k-lib based provider.
#KT-57353 fixed
2023-04-19 11:42:03 +00:00
Sebastian Sellmair ed2b817409 [Gradle] KotlinNativeCompile: Only add -Xfragment{x} arguments for platform compilations
Shared Native compilations shall only use -Xcommon-sources
w/o setting any of the -Xfragment arguments in K2

^KT-57944 Verification Pending
2023-04-19 11:20:57 +00:00
Sebastian Sellmair 6c271eb24a [Gradle] Implement MppSharedNativeCompileIT for KT-57944
... covering shared native compilation for a simple Gradle project
2023-04-19 11:20:56 +00:00
Sebastian Sellmair 3b96ab195f [Gradle] Implement KotlinNativeCompileArgumentsTest for KT-57944
... covering K2 shared native compilations + sources
... covering K2 platform compilations + sources
2023-04-19 11:20:56 +00:00
Svyatoslav Scherbina 101c229335 Bump Kotlin/Native version to 1.9.0-dev-6050
This is the version where partial linkage is enabled by default
2023-04-19 10:28:29 +00:00
Ilya Gorbunov 36cb94c158 Update Dokka to 1.8.20-dev-213 2023-04-19 10:28:07 +00:00
Leonid Startsev fa8f38c2c8 Don't fail if there is no serializer for type parameters of contextual serializer
Return null instead.
Such behaviour is needed to support cachedChildSerializers logic.
Since this field creator doesn't provide genericGetter (because it's
static),
type param serializer can't be retrieved, and the whole contextual
serializer shouldn't be cached.

#KT-58067 Fixed
2023-04-19 10:09:06 +00:00
Ilya Goncharov bf757d3163 [Gradle, JS] Support custom attributes for public package json configuration
^KT-57985 fixed
^KT-57817 fixed
2023-04-19 09:50:19 +00:00
Vsevolod Tolstopyatov af9252aa96 Mark all Worker-related API as obsolete.
* Explain what obsolete means and why workers are obsolete
* Add some documentation to workers to explain its common pitfalls

^KT-54702


Merge-request: KT-MR-9563
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
2023-04-19 09:28:23 +00:00
Alexander.Likhachev ec4fab57a7 [Build] Add the kotlin- prefix to the build tools API modules names
KT-57396
2023-04-19 09:09:26 +00:00
Mikhail Glukhikh b6fdc2dbfc DiagnosticReporterByTrackingStrategy: replace TODO() with assertions/errors
#KT-55079 Fixed
2023-04-19 07:24:05 +00:00
Mikhail Glukhikh d4f81cf67f K1: remove unused resolution diagnostic
Related to KT-55079
2023-04-19 07:24:05 +00:00
Pavel Mikhailovskii 3bb66e8432 KT-57714 Fix remapping of signatures with reified type parameters 2023-04-19 07:20:51 +00:00
Vladimir Dolzhenko e10e821cd4 Fix onTheFlyDiagnosticsCallback
KtNamedFunction, KtClass etc are KtAnnotated.
Annotation recursion could happen within onTheFlyDiagnosticsCallback if
KtAnnotated has some annotations.

#KTIJ-25219

Merge-request: KT-MR-9652
Merged-by: Vladimir Dolzhenko <Vladimir.Dolzhenko@jetbrains.com>
2023-04-18 19:44:00 +00:00
Dmitriy Dolovov cd9924dafe [PL] Disable PL for GradleIT that check linkage error messages 2023-04-18 19:11:13 +00:00
Zalim Bashorov 4f76827ea9 [Wasm] Tune Binaryen options and add some notes about 112 2023-04-18 20:40:17 +02:00
Alexander.Likhachev 1e0eccba35 [Gradle] Move KGP configurations name declaration, make them all internal 2023-04-18 18:19:25 +00:00
Alexander.Likhachev 0727ee5a4f [Gradle] Use custom classloader and ServiceLoader to load bt-api implementation
#KT-57397 Fixed
2023-04-18 18:19:25 +00:00
Alexander.Likhachev 5699cf6784 [Gradle] Add ClassLoadersCachingBuildService
#KT-57397 In Progress
2023-04-18 18:19:25 +00:00
Alexander.Likhachev bb635d1bdb [Gradle] Add useCompilerVersion to Kotlin extension
It allows to override default Kotlin compiler version that is used to run compilation via the build tools api
#KT-57397 In Progress
2023-04-18 18:19:24 +00:00
Alexander.Likhachev 22720f62f6 [Build] Add build-tools-api to KGP install dependencies
#KT-57397 In Progress
2023-04-18 18:19:24 +00:00
Alexander.Likhachev 3b69a4c770 [Gradle] Add GradleBuildToolsApiCompilerRunner
It could be enabled via the `kotlin.compiler.runViaBuildToolsApi` Gradle property globally or the `AbstractKotlinCompileTool.runViaBuildToolsApi` task property for a particular task
#KT-57397 In Progress
2023-04-18 18:19:24 +00:00
Alexander.Likhachev 9127919e01 [Build] Enable explicit API mode for build-tools-api
#KT-57396 Fixed
2023-04-18 18:19:23 +00:00
Alexander.Likhachev 7d29d34bf9 [Build] Configure binary-compatibility-validator for build-tools-api
#KT-57396 In Progress
2023-04-18 18:19:23 +00:00
Alexander.Likhachev 3a8d7c0839 [Build] Add build-tools-api and build-tools-impl modules
#KT-57396 In Progress
2023-04-18 18:19:23 +00:00
Nataliya.Valtman 3ab057b5e8 Fix BuildFusStatisticsIT flaky test 2023-04-18 17:55:36 +00:00
Abduqodiri Qurbonzoda f14f88b7ff [K/N] Inline Array constructor
As a part of efforts to stabilize Native stdlib.

Merge-request: KT-MR-9643
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
2023-04-18 17:30:53 +00:00
Mikhail Glukhikh 9374202ebc FirCallResolve: disable property resolve optimization in builder inference
#KT-57889 Fixed
2023-04-18 17:05:01 +00:00
Mikhail Glukhikh f9a7a7fda2 K2: reproduce KT-57889 2023-04-18 17:05:00 +00:00
Zalim Bashorov 34f8851ac1 [psi2ir] Ignore private members when creating fake overrides from descriptors
The behavior is unified with the IR deserializer.
See `isOverridableMemberOrAccessor` in IrOverridingUtil.kt

Without this change, if we add a private member to the Any in wasm stdlib,
the compiler starts crashing with a linker error.

It's hard to write a relevant, self-contained box test for that since it requires
adding a private member to Any and affects **only** "virtual" FunctionN interfaces.
2023-04-18 18:44:47 +02:00
Ilya Gorbunov 0c1afcac67 KT-58046 Wrap hrtime array reading into a class
To achieve nice toString and proper equals/hashCode semantics of ValueTimeMark
2023-04-18 15:25:31 +00:00
Ilya Gorbunov 1014434475 KT-58046 Use saturated math in LongTimeMark implementation
- keep offset in range (-1..+1) of time source units
- when adding big or infinite offset, saturate startedAt instead
- displace initial reading to zero, similar to MonotonicTimeSource
- fix the zero reading in TestTimeSource by calling markNow in constructor
- use more precise reading adjustment in TestTimeSource for big durations
- add a note about comparable time marks for AbstractLongTimeSource and TestTimeSource
2023-04-18 15:25:31 +00:00
Ilya Gorbunov 7a6947ad35 KT-58046 Generalize saturating duration math to arbitrary units 2023-04-18 15:25:31 +00:00
Ilya Gorbunov 17d977977c KT-58058 Duration truncation internal helper function 2023-04-18 15:25:30 +00:00
Yahor Berdnikau b3decace6b Add KotlinApiPlugin in Gradle plugin variants
This plugin should apply specific implementations for variant Gradle
version including project isolation one.

^KT-55624 Fixed
2023-04-18 15:21:43 +00:00
Yahor Berdnikau cc1aaf4ba8 Add api compatible way to get if project isolation is enabled
Gradle 8.0 internal API has changed returned type. To fix incorrect KGP
behaviour has to add additional Gradle 8.0 plugin variant and provide
project isolation start parameter accessor implementation for older
Gradle versions.

^KT-55624 In Progress
2023-04-18 15:21:43 +00:00
Yahor Berdnikau 19b0ffd85c Bump Gradle API to 8.0
^KT-55624 Fixed
2023-04-18 15:21:43 +00:00
Yahor Berdnikau 8d02a415b2 Remove 'classifier' method usages in tests
^KT-55624 In Progress
2023-04-18 15:21:42 +00:00
Yahor Berdnikau 7f4c65fe10 Update AGP versions in tests
^KT-55624 In Progress
2023-04-18 15:21:42 +00:00
Yahor Berdnikau 7216a8bd95 Update Gradle versions in tests
^KT-55624 In Progress
2023-04-18 15:21:42 +00:00
Svyatoslav Scherbina f559533545 Bump Kotlin/Native version to 1.9.0-dev-5836
Also, fix KGP IT for linkage error messages:
the message text in the presence of compiler caches was changed because
of ab89203, and this commit effectively reverts expected message changes
made in ebaa09a.
2023-04-18 14:57:38 +00:00