Commit Graph

102490 Commits

Author SHA1 Message Date
Artem Daugel-Dauge 9bbfdb708c [Gradle] Log reason why podInstall task is skipped
^KT-60050 Verification Pending
2023-07-06 14:57:40 +00:00
Alexander Korepanov 2cb28b6be1 [JS IR] Add an explicit toString() call for concatenating Char values
^KT-59718 Fixed
2023-07-06 14:40:06 +00:00
Artem Daugel-Dauge b381752074 [Gradle] Fix cocoapods' cinterops UTD
^KT-60112 Verification Pending
2023-07-06 13:53:52 +00:00
Anton Lakotka 344dbcbd23 [Gradle] Update apiDump after removing relatedConfigurationNames
^KT-58225 Verification Pending
2023-07-06 13:23:16 +00:00
Anton Lakotka a171d0d88e [Gradle] Fix PomDependenciesRewriter to check Android-specific configurations
Initially it was implemented via "relatedConfigurations", but these
relatedConfigurations didn't contain outgoing configurations for default
base compilations, but for KotlinJvmAndroid did. There is no reason to
check incoming configurations for dependency rewriter. So for
KotlinJvmAndroidCompilation it is enough to check their variant-specific
outgoing configurations.

^KT-58225 Verification Pending
2023-07-06 13:23:16 +00:00
Anton Lakotka a5250839fa [Gradle] Include users attributes to host-specific metadata configuration
^KT-60134 Verification Pending
2023-07-06 13:23:16 +00:00
Anton Lakotka 24ff1c6285 [Gradle] Fix test compilation after removing relatedConfigurations
^KT-58225 Verification Pending
2023-07-06 13:23:16 +00:00
Anton Lakotka eb238c0da7 [Gradle] Remove maybeRegister in favor of getOrCreate
It had a little use and even this use was causing a problem. Since
inside `maybeRegister {  }` this block Gradle forbids creation of
other entities. Because this block is part of "entity configuration".

So it is recommended to replace with either
* `getOrCreate("foo", invokeWhenCreated = {})`
* or just getOrCreate("foo").apply {}
2023-07-06 13:23:16 +00:00
Anton Lakotka 001bdc411d [Gradle] Remove relatedConfigurationNames
It was public api which has not much use outside KGP.
Moreover, this api has a little use so it is ok list configuration names
in place.

^KT-58225 Verification Pending
2023-07-06 13:23:16 +00:00
Dmitriy Dolovov 8aacdb471b [K/N] Fix: Ignore bridge functions in FunctionReferenceLowering
^KT-59858
2023-07-06 12:39:46 +00:00
Leonid Startsev f3833fdcf8 Add serializer(vararg KSerializer<*>) override from SerializerFactory when necessary
SerializerFactory is an implementation detail for Kotlin/JS and Native:
it should be added as a supertype to a companion object of certain serializable classes
and `serializer(vararg KSerializer<*>)` function from it should be implemented.
Existing implementation added the supertype, but did not add proper override to FirClass
of a companion, which led to various warnings and errors like 'Abstract function 'serializer' is not implemented in non-abstract companion object'.

Also implemented the addition of SerializerFactory supertype to user-defined companions within @Serializable and @MetaSerializable when necessary.

Also set up proper box tests for FIR+Kotlin/JS combination.

#KT-58501 Fixed
#KT-59768 Fixed
2023-07-06 11:38:51 +00:00
Yahor Berdnikau 351e9c7592 [repo] Update Dokka to 1.8.20 version
This release also fixes some problems with KGP-api documentation
publication.
2023-07-06 11:07:48 +00:00
Dmitriy Novozhilov 037572ee9f [FIR] Create FirExtensionSyntheticFunctionInterfaceProvider only once for all sessions
This is needed to avoid duplication of symbols for the same classIds

^KT-58539 Fixed
2023-07-06 11:00:38 +00:00
Dmitriy Novozhilov 32891edc3e [Test] Register DisableLazyResolveChecksAfterAnalysisChecker as first failures suppressor
It's important to filter out failures from lazy resolve before calling other
  suppressors like BlackBoxCodegenSuppressor. Otherwise other suppressors
  can filter out every failure from test and keep it as ignored even if
  the only problem in lazy resolve contracts, which disables with special directive
2023-07-06 11:00:38 +00:00
Dmitriy Novozhilov d46f697cf8 [Test] Reproduce KT-58539 2023-07-06 11:00:38 +00:00
Dmitriy Novozhilov 1212128f04 [FIR plugin] Replace composable functions with regular kotlin functions 2023-07-06 11:00:38 +00:00
Ivan Kylchik 31e75cc603 [JS_IR] Forbid to inline constants during const lowering 2023-07-06 11:00:14 +00:00
Ivan Kylchik d3d28783c5 [IR] Support const optimizations for JS backend 2023-07-06 11:00:14 +00:00
Ivan Kylchik abbafc0b2a [IR] Move some inline utils from backend.common into ir.util 2023-07-06 11:00:14 +00:00
Sergei Kharitontcev-Beglov 55bfd3efcb KT-52178: Argument propagation into IR backend & lowering dump action 2023-07-06 10:55:26 +00:00
Timofey Solonin 5026778cd1 [MPP] Inject CInteropCommonizerTask from outside instead of using a
future

^KT-58712
2023-07-06 10:20:04 +00:00
Ilya Goncharov 9ef5ce2af4 [JS] Migrate JsVersionRequirementTest 2023-07-06 08:08:56 +00:00
Ilya Goncharov 3bdb8b6d11 [JS] Migrate multiplatform integration compiler test 2023-07-06 08:08:55 +00:00
Ilya Goncharov a6d461dbe8 [JS] Fix compile kotlin against custom binaries 2023-07-06 08:08:55 +00:00
Ilya Goncharov b6803b2400 [JS] Migrate web demo examples 2023-07-06 08:08:55 +00:00
Ilya Goncharov b5a7b9c661 [JS] Migrate multi module order test 2023-07-06 08:08:55 +00:00
Ilya Goncharov 08c04af5b5 [JS] Remove legacy line numbers test 2023-07-06 08:08:55 +00:00
Yahor Berdnikau 82fa02f71e [Gradle] Remove unused resources in Gradle integration tests 2023-07-06 07:39:18 +00:00
Yan Zhulanow 8f798119cc [FIR] Build raw FIR for code fragments 2023-07-06 15:58:30 +09:00
Yan Zhulanow b7921a401b [FIR] Make 'resolveIfJavaType()' accessible from LL API
This is needed for providing types for '_DebugLabel' variables in
code fragments. Originally, there come a JVM type descriptor, so there
it's converted to a FirResolvedTypeRef reference through FirJavaTypeRef.
2023-07-06 15:58:30 +09:00
Yan Zhulanow 8ffb329741 [FIR] Add 'buildCodeFragmentCopy()' and 'replaceBlock()' for IDE analysis 2023-07-06 15:58:30 +09:00
Yan Zhulanow 0fe527bb65 [FIR] Pass context data flow on code fragment analysis 2023-07-06 15:58:30 +09:00
Yan Zhulanow 7e075ec64a [FIR] Pass the whole body context to the resolve context collector
Collector for the 'FirCodeFragment' analysis needs to capture also
data-flow information.
2023-07-06 15:58:30 +09:00
Yan Zhulanow b43fcae708 [FIR] Collect logical expression context for smart cast preservation 2023-07-06 15:58:29 +09:00
Yan Zhulanow 92198ee016 [FIR] Use both context and code fragment imports 2023-07-06 15:58:29 +09:00
Vasily Levchenko 33abe75a74 [FIR] Add FirCodeFragment 2023-07-06 15:58:29 +09:00
Timofey Solonin 2760a25e2c [MPP] Assert that the coroutine block actually runs
^KT-58712
2023-07-06 05:51:21 +00:00
Dmitriy Novozhilov 3ac009ea38 Advance bootstrap to 1.9.20-dev-5788 2023-07-05 20:24:06 +00:00
Ilya Chernikov b1b1eab35b K2 Scripting: fix testdata for scripts diagnostics tests 2023-07-05 19:46:04 +00:00
Ilya Chernikov 5e3f7184d1 IR Scripting: fix capturing of the script parameter in a fun 2023-07-05 19:46:04 +00:00
Ilya Chernikov bf3a6f7678 K2 Scripting: support script top-level destructuring declarations 2023-07-05 19:46:04 +00:00
Ilya Chernikov 02e2438d37 K2 Scripting: fix script this receiver handling in IR
also fix accessor lowering
2023-07-05 19:46:04 +00:00
Ilya Chernikov 07df03dbec K2 Scripting: fix capturing in scripts created from Fir 2023-07-05 19:46:04 +00:00
Ilya Chernikov 00211a5fc9 K2 Scripting: turn on implicit body resolve for scripts 2023-07-05 19:46:04 +00:00
Ilya Chernikov 1a735b0842 K2 scripting: support script-level typealiases 2023-07-05 19:46:04 +00:00
Ilya Chernikov 70d2fcd9c4 K2 Scripting: deprecate top level script inner classes
no LT support yet
2023-07-05 19:46:03 +00:00
Ilya Chernikov 7484ccb9ee K2 Scripting: allow script top level inline functions 2023-07-05 19:46:03 +00:00
Ilya Chernikov 86b3e65d19 K2 Scripting: enable script processing in diagnostics collector
and add scripts to containing decls in checker context te be able to
check for containing script in checkers
2023-07-05 19:46:03 +00:00
Ilya Chernikov f79f715590 Fir2Ir: remove error reporting on no receiver
this error is not valid for scripts, where some receivers are set
later in the lowering, and it looks like in other cases this problem
will be detected later in lowering or codegen anyway.
2023-07-05 19:46:03 +00:00
Ilya Chernikov 7866c63e49 Fir2Ir: add fake overrides binding for script top level classes 2023-07-05 19:46:03 +00:00