Commit Graph

97689 Commits

Author SHA1 Message Date
Sergey Bogolepov 2f0bdfc5e2 [K/N] Add objcClassesIncludingCategories cinterop property
It allows to list Objective-C classes that should include
corresponding categories from the same file.
The current implementation is super-simple and slow, but
it is OK since it is not intended to be a general-purpose
solution for now.
2023-01-16 13:26:05 +00:00
Alexander.Likhachev ab205edeab [Gradle] Fix MppCompositeBuildIT.test - sample1 - ide dependencies
The test was trying to invoke a task from the root project prepending it with two colons, which became an error since 7.6
#KT-53811 In Progress
2023-01-16 11:43:24 +00:00
Alexander.Likhachev 46e45b8137 [Gradle] Simplify regexp for extracting task output in integration tests
Gradle has slightly changed logging since 7.6, so the old way stopped working
#KT-53811 In Progress
2023-01-16 11:43:24 +00:00
Alexander.Likhachev 4b1c7f1c11 Bump max Gradle version to 7.6 in integration tests 2023-01-16 11:43:24 +00:00
Abduqodiri Qurbonzoda ba2833b90f Mark Base64 API with ExperimentalEncodingApi 2023-01-16 11:24:50 +00:00
Abduqodiri Qurbonzoda 954ec1f63c Introduce @ExperimentalEncodingApi for binary-to-text encoding API 2023-01-16 11:24:50 +00:00
Abduqodiri Qurbonzoda dc03a03762 Introduce basic, url-safe and mime Base64 variants #KT-9823 2023-01-16 11:24:49 +00:00
Alexander Korepanov a5c8e30bb1 [JS IR] Use a copy of an original inline function for inlining
If inline function A calls another inline function B,
 we must use the original version of inline function A for inlining,
 which doesn’t have inlined function B. Because during the inlining
 process, we remap all occurrences of inline function A
 to a temporary copy of function A, and if the function B
 somehow uses function A (e.g. callable reference),
 the built IR will have a reference to the temporary function,
 not the original one. All these things lead to broken cross-module references.

 This patch saves the original versions of all inline functions
 before inlining and provides them during the inline process.

^KT-55930 Fixed
2023-01-16 11:01:03 +00:00
Artem Vasilev 82d934d873 [LL FIR] fix typo in LLFirModuleData.friendDependencies
^KTIJ-23347 Fixed
2023-01-16 10:48:38 +00:00
Pavel Kunyavskiy 6ab00a65dd [K/N] Support volatile intrinsics on globals
Also, make intrinsics signature more consistent with other intrinsics,
e.g. with isInitialized on lateinit field.

^KT-54944
2023-01-16 08:34:24 +00:00
Pavel Kunyavskiy 49d286e4e8 [K/N] Wrap volatile boolean to byte
^KT-54944
2023-01-16 08:34:23 +00:00
Pavel Kunyavskiy fc95b88eef [K/N] Tests for volatile
^KT-54944
2023-01-16 08:34:23 +00:00
Pavel Kunyavskiy a11f6fd9cb [K/N] Support of aligned fields
For now only alignment by at most 8 is supported for instance fields.

^KT-54944
2023-01-16 08:34:21 +00:00
Pavel Kunyavskiy 6da66649e7 [K/N] Hack for make 64-bit atomics working on mips
^KT-54944
2023-01-16 08:34:21 +00:00
Pavel Kunyavskiy 9dea349752 [K/N] Support of @Volatile annotation
^KT-54944
2023-01-16 08:34:20 +00:00
Ilya Chernikov a29c418b63 Add missing platform core hack to use nio2, avoids warning on Windows
add the hack to project environment creation, instead of compliation
call sites, covers missing scenarions with maven scripting and K@ now
and should help to avoid problems in the future.
#KT-54461 fixed
2023-01-15 20:11:57 +01:00
Ilya Chernikov ea255135a4 Scripting: avoid CME in maven resolving in IDE scenarios
combination of laziness in AetherResolveSession and possibly
async-modifiable repos collection in MavenDependenciesResolver
may lead to the CME.
#KT-54733 fixed
2023-01-15 20:11:56 +01:00
Ilya Chernikov 6c035bb5f4 Scripting: support scripts starting with UTF-8 BOM
#KT-54705 fixed
2023-01-15 20:11:56 +01:00
Ilya Chernikov 989c1ec64d Scripting: allow slf4j relocation
#KT-53283 fixed
2023-01-15 20:11:56 +01:00
Ilya Chernikov 80c80ad4e0 Scripting: replace slf4j-nop binding with -simple one in main-kts
will allow to see aether loging in case of resolving problems and may
simplify some problems similar to #KT-54819
2023-01-15 20:11:56 +01:00
Ilya Chernikov 400762635a Scripting: update version of maven resolver dependencies 2023-01-15 20:11:56 +01:00
Ilya Chernikov d8650d9b04 Scripting: support compiler plugins in hosted script compiler
Now the plugin-related compiler arguments are respected then used in
the compiler configuration (only in the static part, not supported
if set in a refinement callback)
Note that the "embeddable" version of the plugin should be used if
embeddable compiler is used.
#KT-54095 fixed
2023-01-15 11:14:41 +01:00
Ilya Chernikov d82f8b11f7 minor: bump k-x-serialization version in a main-kts test 2023-01-15 11:14:41 +01:00
Svyatoslav Scherbina 623e7317bb K2: fix signature computation for Objective-C constructors 2023-01-14 10:12:31 +00:00
Svyatoslav Scherbina 676d65e71c K2: fix fake override IR serialization for subclasses of Obj-C classes 2023-01-14 10:12:31 +00:00
Ilya Kirillov a5082e5d94 [LL FIR] do not rethrow exceptions from caches
Previously, the exceptions from ValueWithPostCompute was saved in cache and rethrown.
This was needed to avoid multiple heavy calculation which will be still uncecessfull.
Currently we do not have much of such exceptions and such thing may break perf test
by throwing exceptions from old test invocation
2023-01-14 08:39:58 +00:00
Anna Kozlova 06074e5e2d fix compilation after merge 2023-01-13 23:35:07 +01:00
Svyatoslav Kuzmich d14d4c8510 [Wasm] Support JsModule and JsQualifier 2023-01-13 21:58:34 +00:00
Svyatoslav Kuzmich 75d3ae4466 [Wasm] Don't try to lazy-initialize properties with 'definedExternally'
NFC for K/JS since externals live in a separate place
2023-01-13 21:58:33 +00:00
Svyatoslav Kuzmich fd67464d14 [Wasm] Test infra: support _commonFiles and additional .mjs
Use custom `evalToBoolean` as `eval` and `unsafeCast` are not
 available in Wasm stdlib
2023-01-13 21:58:33 +00:00
Svyatoslav Kuzmich 80e07d628b [Wasm] Use ModuleKind.ES
As the only JS-interop module kind Wasm supports
2023-01-13 21:58:32 +00:00
Vladimir Dolzhenko ca31307941 [AA] Add expectForActual
#KT-54864

Merge-request: KT-MR-8222
Merged-by: Vladimir Dolzhenko <Vladimir.Dolzhenko@jetbrains.com>
2023-01-13 21:36:04 +00:00
Ilya Kirillov 3afb93ca31 [FIR] fix resolve contract violation from ConeTypeContext.getValueClassProperties
^KT-54890
2023-01-13 21:32:52 +00:00
Ilya Kirillov 6204e43f3f [FIR] fix resolve contract violation from FirTypeParameter.eraseToUpperBound
^KT-54890
2023-01-13 21:32:52 +00:00
Ilya Kirillov 1bbcae5ed2 [FIR] fix resolve contract violation from scopes
We cannot call lazy resolve to STATUS phase from scopes as scopes may be accessed on a STATUS phase or earlier

^KT-54890
^KTIJ-23587 fixed
2023-01-13 21:32:51 +00:00
Artem Daugel-Dauge 0d1e7e83b5 [K/N, CLI] Pass through errors from Gradle to Xcode
^KT-55650

Merge-request: KT-MR-8245
Merged-by: Artem Daugel-Dauge <Artem.Daugel-Dauge@jetbrains.com>
2023-01-13 20:54:05 +00:00
Yahor Berdnikau a7cb58418b Bump max AGP version in tests to 7.4.0 2023-01-13 20:38:17 +00:00
Anna Kozlova 86cc57ac39 [AA] allow navigation from '==' to the equals method of lhs 2023-01-13 20:14:30 +00:00
Ilya Kirillov 825432074f [LL FIR] add checkCanceled check to the LLFirSessionFactory.createSourcesSession
^KTIJ-24012
2023-01-13 17:52:48 +00:00
Ilya Kirillov 729e2971ae [LL FIR] do not create project module under non-cancelable section
It seems to be safe as we modify the caches atomically by updating LLFirSessionsCache.mappings.
So, PCE during project structure creation, should not break the caches

^KTIJ-24012 fixed
2023-01-13 17:52:47 +00:00
Pavel Kunyavskiy 5674722742 [K/N] Fix crash on exporting cached suspend function
^KT-55736
2023-01-13 16:28:53 +00:00
Alexander.Likhachev 25fb641da7 [Gradle, MPP] Slightly rework testAndroidMultiplatformPublicationAGPCompatibility
Each AGP version has its own compatible Gradle versions range. This commit adds additional version requirements for tests to respect AGP limitations
#KT-52998 In Progress
2023-01-13 16:28:00 +00:00
Alexander.Likhachev 16bf37b3f5 [Gradle, MPP] Add Gradle version requirements for AGP tests with version limits
Each AGP version has its own compatible Gradle versions range. This commit adds additional version requirements for tests to respect AGP limitations
#KT-52998 In Progress
2023-01-13 16:27:59 +00:00
Alexander.Likhachev 0574421117 [Gradle] Fix KotlinSpecificDependenciesIT.testRemoveKotlinTestDependency
It looks like we are doing hacky things in the test, but perhaps that's fine for test code
#KT-52998 In Progress
2023-01-13 16:27:59 +00:00
Alexander.Likhachev e7fb07ff15 [Gradle, MPP] Adapt tests to the 7.5+ dependencyInsight task output format
#KT-52998 In Progress
2023-01-13 16:27:58 +00:00
Alexander.Likhachev 1e102d3e00 [Gradle, MPP] Suppress deprecation warnings for old AGP in AndroidAndJavaConsumeMppLibIT
There are deprecation warnings coming from AGP which have fixed since 7.3.0
#KT-52998 In Progress
2023-01-13 16:27:58 +00:00
Yahor Berdnikau 822c12c892 Bump max Gradle version to 7.5.1 in integration tests
#KT-52998 In Progress
2023-01-13 16:27:58 +00:00
Yahor Berdnikau f90b447c7f Add task to generate Kotlinlang reference
Based on the template from
https://github.com/JetBrains/kotlin-web-site/tree/master/dokka-templates.
Template itself is updated frequently and should be added by CI
configuration.

Generated reference has versioning support. Older generated references
should put into:
<project_dir>/<build_dir>/dokka/kotlinlangDocumentationOld

^KT-55520 Fixed
2023-01-13 16:16:09 +00:00
Yahor Berdnikau d3ecb9a75f Allow to reference Gradle API javadoc in generated documentation
^KT-55520 In Progress
2023-01-13 16:16:09 +00:00
Yahor Berdnikau 4de60879f0 Explicitly enable Dokka javadocs generation
Actually we don't need javadoc generation for our internal stuff like
':kotlin-gradle-plugin'. But ':kotlin-gradle-plugin-api' is a public api
 and should have properly generated javadocs.

^KT-55520 In Progress
2023-01-13 16:16:08 +00:00