Commit Graph

103617 Commits

Author SHA1 Message Date
Dmitrii Gridin 3947ba57da [LL FIR] support on-air resolve for scripts
We should reanalyze only statements and leave declarations as they are

^KT-61013 Fixed
2023-08-09 15:22:57 +00:00
Dmitrii Gridin 4c8399ae8c [LL FIR] KtToFirMapping: encapsulate recorder
We need this to avoid wrong recorders in on-air resolve

^KT-61013
2023-08-09 15:22:57 +00:00
Dmitrii Gridin d19a23aae5 [LL FIR] implement tests on dependent copy session analyze
^KT-60987
2023-08-09 15:22:57 +00:00
Dmitrii Krasnov 682cb991b8 Test for PartialLinkageMode resolving fix
#KT-60839 Fixed
2023-08-09 15:13:24 +00:00
Dmitrii Krasnov 1f61a195a9 Bump Kotlin/Native version in KGP to 1.9.20-dev-9320 2023-08-09 15:13:24 +00:00
Aleksei.Cherepanov c8c3565a24 Fix JPS import
Exclude kotlin-stdlib-js project for JPS build. Related to KT-56106

#KT-61059 Fixed


Merge-request: KT-MR-11527
Merged-by: Aleksei Cherepanov <aleksei.cherepanov@jetbrains.com>
2023-08-09 14:37:21 +00:00
Margarita Bobova affe0754bf Add ChangeLog for 1.9.0 and move ChangeLog for 1.8.X to a separate file 2023-08-09 12:26:03 +00:00
Dmitriy Dolovov da2e6d93ff [Native][tests] Don't use trove4j in K/N new test infra 2023-08-09 12:15:39 +00:00
Svyatoslav Scherbina ce9a45bf92 Native: enable HMPP in tests/samples
Remove `kotlin.mpp.hierarchicalStructureSupport=false`.
Disabling HMPP is not supported anymore.

^KT-59304
2023-08-09 12:14:13 +00:00
Ilya Goncharov 949e4be658 [Gradle, JS] Add test with cross modules with compose dependency 2023-08-09 11:45:58 +00:00
Simon Ogorodnik d6e760b477 [K2/K1 FP] Fix context-receivers flag passing in full-pipeline test
We should copy `-Xcontext-receivers` flag from the original arguments
during the setup of compiler arguments in the FP test

Otherwise, UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL diagnostic gets
triggered where it shouldn't be present
2023-08-09 10:25:12 +00:00
Leonid Startsev f450122d63 Refactor MetadataExtensions.kt to remove extension visitors
This helps to completely get rid of Visitors API during reading and writing
of the JVM metadata.

Note: Klib writers still use .accept and left for future refactorings.

See also #KT-59442
2023-08-09 10:16:27 +00:00
Leonid Startsev b8e4b44b04 Promote DeprecationLevel on Visitors API to ERROR
Rewrite Readers.kt and Writers.kt to avoid using
Visitors API

Align KotlinCommonMetadata/KotlinModuleMetadata API with
KotlinClassMetadata one (it is necessary for restructured reading/writing)

#KT-59442 In Progress
2023-08-09 10:16:27 +00:00
Dmitriy Novozhilov 4e3dbcada3 [FIR2IR] Always look for already generated fake overrides before creating them
This change covers the case where some f/o was generated in common module
  and it is referenced in platform code. But signature of this f/o may be
  different in different modules because of e.g. actualization of value
  parameters with actual typealias

^KT-60850 Fixed
2023-08-09 09:40:23 +00:00
Yahor Berdnikau 380062c511 [repo] Update the shadow version to 8.1.1 release
https://github.com/johnrengelman/shadow/releases/tag/8.1.1
2023-08-09 08:36:46 +00:00
Yahor Berdnikau c701677e45 [repo] Remove the shadow version from version.properties 2023-08-09 08:36:45 +00:00
Anton Lakotka c58eef8330 [stdlib-mpp] Update kotlin-stdlib.pom
It has now unnecessary duplicated dependencies on kotlin-stdlib-common.
They should be removed in followup changes.

^KT-61053 Verification Pending
2023-08-09 07:52:35 +00:00
Anton Lakotka 7c5dd7c451 [stdlib-mpp] Add dependency constraint on kotlin-stdlib-common for...
...other variants where it can be expected. Such as:

* commonMainMetadataElements (legacy metadata)
* metadataElements (klib metadata)
* nativeApiElements

This would prevent from leaking kotlin-stdlib-common dependencies of
older Kotlin versions. So every KGP configuration where
stdlib dependencies is configured automatically will enforce dependency
constraints on kotlin-stdlib-common.

^KT-61053 Verification Pending
2023-08-09 07:52:35 +00:00
Anna Kozlova b725cd3e6c [light classes] match property with getter or setter only
^ KTIJ-26536
2023-08-09 07:09:35 +00:00
Dmitrii Gridin b39286e6cb [LL FIR] fix script testdata
Conflict with 887dc18719
2023-08-09 06:58:41 +00:00
Roman Golyshev 71a4f36faf KTIJ-26576 [Analysis API] Add where clause to classHeaderParts in FirTowerDataContextAllElementsCollector
In `where` clause there are type constraints, and there are no
supertypes scopes at those positions

^KTIJ-26576 Fixed
2023-08-09 06:49:48 +00:00
Alexander Udalov 5b0c075c8d Rework list of dependencies of kotlin-annotation-processing 2023-08-09 01:17:21 +00:00
Pavel Mikhailovskii 2002542ad2 Stub generation infrastructure (except for metadata generation) for KAPT+K2
This commit includes the basic Java stubs generation infrastructure and
the corresponding tests. The main entry point is called
Kapt4StubGenerator. Calls to it from production code will be added in a
separate commit.

 #KT-51982
2023-08-09 01:17:21 +00:00
marat.akhin ae4fab8483 [KMP] Allow matching expect ctorless final classes to objects
both directly and via typealias.

This is a possible fix to KT-59747
2023-08-08 23:18:35 +00:00
marat.akhin 6df9ce23f7 [FIR2IR] Configure Unit built-in to have kotlin.Any as a supertype
Without this change, the Unit type does not have Any members declared
in its scope which breaks the expect/actual mapping
(aka we cannot find actual `toString` for expect one).
2023-08-08 23:18:35 +00:00
Alexander Udalov e87bccd5c7 K2: fix reporting of NO_REFLECTION_IN_CLASS_PATH on implicit invoke
#KT-61054 Fixed
2023-08-08 20:19:11 +00:00
Igor Yakovlev 87ab88957d [Wasm] Fix wasm-target compiler key in gradle plugin 2023-08-08 18:35:31 +00:00
Ilya Goncharov a3aa1f6121 [Gradle, Wasm] Add wasm wasi stdlib by default 2023-08-08 18:35:31 +00:00
Dmitrii Krasnov b1a611e2b2 Fixed PartialLinkageMode resolving
#KT-60839
2023-08-08 18:28:32 +00:00
Yan Zhulanow 6fac185f14 [LL API] Add backend-computed code fragment mappings 2023-08-08 17:26:39 +00:00
Yan Zhulanow 5a67b0d7dc [LL API] Correct used IR symbols in code fragments
As 'FirCodeFragments' are converted to IR independently of its context,
in some cases duplicate (and not quite correct) symbols for local
classes and functions are created.

Until properly fixed in fir2ir, here we replace such duplicates with
original symbols.
2023-08-08 17:26:39 +00:00
Yan Zhulanow ee7e6b0fce [LL API] Ignore local functions in 'CodeFragmentDeclarationCollector'
In the old JVM backend, local functions were compiled as JVM classes,
so there were an instance to pass around. Today, they are compiled to
static functions in the containing class/facade, and calls to them
compile natively.
2023-08-08 17:26:38 +00:00
Nikolay Lunyak 921db9f8d4 [FIR] Report UNSUPPORTED_SUSPEND_TEST
^KT-60002 Fixed
2023-08-08 16:48:02 +00:00
Igor Yakovlev 223e590dcd [Wasm] Temporary task to provide wasm stdlib tests 2023-08-08 18:10:20 +02:00
Igor Yakovlev a13e16cb77 [Wasm] Unmute passing tests 2023-08-08 18:10:20 +02:00
Igor Yakovlev 5d7781c40a [Wasm] Update node.js version to 20.2.0 2023-08-08 18:10:20 +02:00
Igor Yakovlev 983991d46c [Wasm] Add box and stdlib tests in wasi mode 2023-08-08 18:10:19 +02:00
Igor Yakovlev f42d0b1ed4 [Wasm] Add wasi kotlin.test target gradle buildscript 2023-08-08 18:10:19 +02:00
Igor Yakovlev d1c7caf15c [Wasm] Add wasi stdlib target gradle buildscript
KT-56608
2023-08-08 18:10:19 +02:00
Igor Yakovlev 18a9c1916e [Wasm] Wasi kotlin.test implementation 2023-08-08 18:10:19 +02:00
Igor Yakovlev 8cc0660693 [Wasm] Wasi stdlib implementation
KT-56608
2023-08-08 18:10:19 +02:00
Igor Yakovlev 090f393f97 [Wasm] Make std internal functions have a bodies 2023-08-08 18:10:19 +02:00
Igor Yakovlev 60d35200f6 [Wasm] Wasi frontend diagnostics 2023-08-08 18:10:19 +02:00
Igor Yakovlev 98329f30f8 [Wasm] Rename wasm initialize function 2023-08-08 18:10:19 +02:00
Artem Kobzar a29fa428b3 [K/JS] Add warning for ES-modules on the klibgen stage on the uniqueness of the exported names from the module 2023-08-08 15:45:02 +00:00
Dmitrii Gridin 734a3e5716 [LL FIR] do not create lazy bodies during on-air resolve in scripts
We assume that on-air resolve already has normal bodies,
so depending on this fact, we can omit some redundant work

^KT-61026 Fixed
2023-08-08 15:40:48 +00:00
Dmitrii Gridin 601ffb2db4 [LL FIR] transform script body properly
Problem: transformSingle for expressions can return another expression,
and we should replace the original one with such new expression

^KT-61011 Fixed
^KT-61009 Fixed
2023-08-08 15:40:47 +00:00
Aleksei.Glushko 0a09d1e140 [K/N] Use ptr-sized types in objc_firendly_dealloc tests
Merge-request: KT-MR-11525
Merged-by: Alexey Glushko <aleksei.glushko@jetbrains.com>
2023-08-08 15:38:36 +00:00
Ilya Gorbunov 0072189fb1 [stdlib-mpp] Configure SBOM for published artifacts KT-53791 2023-08-08 12:32:18 +00:00
Dmitrii Gridin 2688398361 [FIR] FirTypeUtils: add debug info 2023-08-08 12:04:46 +00:00