Commit Graph

97703 Commits

Author SHA1 Message Date
Sebastian Sellmair d0bb804e85 [Gradle] kgp-idea-proto: Add public API for extras serialisation
KT-55926
2023-01-16 14:56:46 +00:00
Sebastian Sellmair 54db04e0f4 [Gradle] ExternalTargetApiExtensions: Add extension for KotlinCompilation.extras
KT-55926
2023-01-16 14:56:46 +00:00
Sebastian Sellmair 16835469a4 [Gradle] Let InternalKotlinTarget implement HasMutableExtras
KT-55926
2023-01-16 14:56:45 +00:00
Dmitrii Gridin 3eabb3038d [SLC] SymbolLightMethod: drop accidentally added isOverride 2023-01-16 15:36:14 +01:00
Alexander.Likhachev 75c9fd3032 [Gradle, MPP] Suppress deprecation warnings for tests with an old AGP
#KT-52998 In Progress
2023-01-16 13:42:57 +00:00
Sergey Bogolepov 8120025076 [K/N] Add a test for KT-55653 2023-01-16 13:26:09 +00:00
Sergey Bogolepov c3a250e57a [K/N] Fix KT-55653 2023-01-16 13:26:09 +00:00
Sergey Bogolepov 3ade4fbedc [K/N] Add backend.native test for objcClassesIncludingCategories 2023-01-16 13:26:08 +00:00
Sergey Bogolepov 4ffb43c5bd [K/N] Cover objcClassesIncludingCategories with smoke tests 2023-01-16 13:26:08 +00:00
Sergey Bogolepov a9d13338bd [K/N] Make AbstractNativeCInteropTest a bit more flexible
It probably requires a bit more thoughful refactoring, but before that
we need to collect more test-cases.
2023-01-16 13:26:07 +00:00
Sergey Bogolepov 72637f19dc [K/N][cinterop] Generate members of included categories as class members
This way inheritors of such class would be able to override category
members the same way they can in Objective-C. Also, API surface of
interop libraries should become a little more stable.
2023-01-16 13:26:07 +00:00
Sergey Bogolepov 898dd02d29 [K/N][cinterop] Indexer unit-tests of objcClassesIncludingCategories 2023-01-16 13:26:07 +00:00
Sergey Bogolepov eded880225 [K/N][cinterop] Add location to ObjCCategory
To avoid adding unnecessary included categories to index, we need
to track their location. Also, we can't just implement TypeDeclaration
interface because category is not a type. Thus, we extract `location`
property from TypeDeclaration to LocatableDeclaration and implement it
in ObjCCategory.
2023-01-16 13:26:06 +00:00
Sergey Bogolepov fe8e18cb33 [K/N][cinterop] Improve Imports interface
Extracting `isImported(headerId: HeaderId): Boolean` method allows
mocking this interface in tests
2023-01-16 13:26:06 +00:00
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