Commit Graph

91342 Commits

Author SHA1 Message Date
sebastian.sellmair 37ea991978 [KPM] Update kotlin-gradle-plugin-idea API reference
KT-51262
KT-51220
2022-02-17 20:19:22 +00:00
sebastian.sellmair abd21a6956 [KPM] kotlin-gradle-plugin-idea: bump minimalBackwardsCompatibleVersion
KT-51262
KT-51220
2022-02-17 20:19:22 +00:00
sebastian.sellmair 40cd480d90 [KPM] kotlin-gradle-plugin-idea: Implement ProxyUtil.kt
KT-51262
KT-51220
2022-02-17 20:19:21 +00:00
sebastian.sellmair bbd1176ca3 [KPM] KotlinExternalModelContainerImpl: Use carrier class for serialization
Without this carrier the `SerializedKotlinExternalModelContainer`
itself would fail serialization if values got accessed.

KT-51262
KT-51220
2022-02-17 20:19:21 +00:00
sebastian.sellmair 45d8ec4ad3 [KPM] kotlin-gradle-plugin-idea: Update api reference
KT-51262
KT-51220
2022-02-17 20:19:21 +00:00
sebastian.sellmair 956337ad87 [KPM] IdeaKotlinProjectModelSerializableTest compare by string representation
KT-51262
KT-51220
2022-02-17 20:19:20 +00:00
sebastian.sellmair fdcdd8e247 [KPM] Implement simple KotlinExternalModelContainerTest
KT-51262
KT-51220
2022-02-17 20:19:20 +00:00
sebastian.sellmair c88e122e94 [KPM] kotlin-gradle-plugin-idea: Update api reference
KT-51262
KT-51220
2022-02-17 20:19:19 +00:00
sebastian.sellmair 9e19e3efa7 [KPM] Implement test - attaching serializable models
KT-51262
KT-51220
2022-02-17 20:19:19 +00:00
sebastian.sellmair 1787d18faa [KPM] Make example androidDslKey public
KT-51262
KT-51220
2022-02-17 20:19:19 +00:00
sebastian.sellmair 5263212685 [KPM] KotlinExternalModelType: Use class.name over qualifiedName
KT-51262
KT-51220
2022-02-17 20:19:18 +00:00
sebastian.sellmair 2dfb3f61d8 [KPM] KotlinExternalModelContainer: Provide ids API
KT-51262
KT-51220
2022-02-17 20:19:18 +00:00
sebastian.sellmair cf1ffb9cf6 [KPM] :kotlin-gradle-plugin-idea: OptIn InternalKotlinGradlePluginApi
KT-51262
KT-51220
2022-02-17 20:19:17 +00:00
sebastian.sellmair 8f0b51dc14 [KPM] Update kotlin-gradle-plugin-idea API reference
KT-51262
KT-51220
2022-02-17 20:19:17 +00:00
sebastian.sellmair ee6957c9a0 [KPM] Only provide access to KotlinExternalModelContainer through ExternalVariantApi
KT-51262
KT-51220
2022-02-17 20:19:17 +00:00
sebastian.sellmair f1655e5f4e [KPM] Implement KotlinExternalModelContainer
KT-51262
KT-51220
2022-02-17 20:19:16 +00:00
sebastian.sellmair 55448943af [KPM] Implement BackwardsCompatibilityDeserializationTest
KT-51262
2022-02-17 20:19:16 +00:00
sebastian.sellmair 0460de870a [KPM] :kotlin-gradle-plugin-idea: serialVersionUID to 0L
^KT-51262
2022-02-17 20:19:15 +00:00
sebastian.sellmair 93dac93dbe [KPM] :kotlin-gradle-plugin-idea: Use gradle-plugin-common-configuration
^KT-51262
2022-02-17 20:19:15 +00:00
sebastian.sellmair 627cb0be3a [KPM] Exclude 'InternalKotlinGradlePluginApi' apis from binary validation
^KT-51262
2022-02-17 20:19:14 +00:00
sebastian.sellmair 113e363b22 [KPM] :kotlin-gradle-plugin-idea: Set language- and apiVersion to 1.4
^KT-51262
2022-02-17 20:19:14 +00:00
sebastian.sellmair 001fd373f2 [KPM] :kotlin-gradle-plugin-idea: Use kotlinStdlib() dependency
^KT-51262
2022-02-17 20:19:14 +00:00
sebastian.sellmair 5f8b8e144f [KPM] Implement simple KotlinIdeaProjectModelSerializableTest
^KT-51262
2022-02-17 20:19:13 +00:00
sebastian.sellmair 4294b4f20d [KPM] Add public API snapshot for :kotlin-gradle-plugin-idea
^KT-51262
2022-02-17 20:19:13 +00:00
sebastian.sellmair c124c86b0f [KPM] :kotlin-gradle-plugin-idea Make entities data classes
This is done to benefit from .equals and hashcode functions.
The goal is to keep .copy methods stable whereas using any
.component* function shall be avoided

^KT-51262
2022-02-17 20:19:12 +00:00
sebastian.sellmair e91785ba39 [KPM] Implement initial IdeaKotlinProjectModelBuilder
- Introduce `kotlin-gradle-plugin-idea` module that allows
to share models between the IDE and KGP

- Add `kotlin-gradle-plugin-idea` to the RuntimePublicAPITest to
ensure binary compatibility

^KT-51262
2022-02-17 20:19:12 +00:00
Nikolay Krasko faf0cbea5d Revert "Revert "Support common metadata in kotlinx-metadata""
This reverts commit 03cb9942e6.
2022-02-17 22:41:57 +03:00
Mark Punzalan afb34d3193 Analysis API: Implement KtCallResolver.collectAllCandidates for FE 1.0. 2022-02-17 19:51:35 +01:00
Yahor Berdnikau 81a66258fa Fix kapt compile classpath was using wrong JRE classes
Kapt worker compile classpath was using JRE classes from 'java.home'
instead of toolchain one. This was leading to invocation errors
when build is running on latest JDK releases, but Kotlin jvm target
is set to "1.8".

^KT-48402 Fixed
2022-02-17 16:35:59 +01:00
Mikhail Glukhikh c1925885fe Extract ConeTypeSubstitutorByTypeConstructor 2022-02-17 15:04:37 +00:00
Mikhail Glukhikh 6e53dd1a4b FIR: implement FE1.0-matching ILT approximation during inference
#KT-51357 Fixed
2022-02-17 15:04:37 +00:00
Mikhail Glukhikh 6506d35aa6 FIR: add forgotten ConeIntegerLiteralIntersector (relates to KT-51357) 2022-02-17 15:04:36 +00:00
Mikhail Glukhikh 4902e517d3 FIR: add test for KT-51357 2022-02-17 15:04:36 +00:00
Artem Kobzar acc467594f chore: remove unused protobuf message. 2022-02-17 11:54:37 +00:00
Mikhael Bogdanov ccbecbaccb KAPT+IR: Update tests 2022-02-17 12:26:42 +01:00
Mikhael Bogdanov 7b767aaa1c KAPT+IR: Don't clear binding context if KAPT is used 2022-02-17 12:26:42 +01:00
Mikhael Bogdanov f05c72d48f KAPT+IR: Properly process annotations and backing field annotations 2022-02-17 12:26:42 +01:00
Mikhael Bogdanov ea2bf3c867 KAPT+IR: Support -Xjvm-default modes 2022-02-17 12:26:41 +01:00
Mikhael Bogdanov 00f2b83b84 KAPT+IR: Support @JvmOverloads annotation 2022-02-17 12:26:41 +01:00
Mikhael Bogdanov 7ec19d015c KAPT+IR: Properly process repeatable annotation
~review fix
2022-02-17 12:26:41 +01:00
Mikhael Bogdanov d810d93578 IR: Keep annotations in enum constructor during lowering 2022-02-17 12:26:40 +01:00
nataliya.valtman aea0a38377 Advance bootstrap to 1.7.0-dev-1984 2022-02-17 14:19:41 +03:00
Sergey Bogolepov 50cc4f301d [K/N] Manually add the rest of hosts to the dependency in KT-51302 2022-02-17 11:12:58 +00:00
Sergey Bogolepov a22dcc0f14 [K/N] Test case for KT-51302
There is no infrastructure for testing klib ABI compatibility yet.
As a workaround, we store klib directly in repo.
2022-02-17 11:12:57 +00:00
Sergey Bogolepov 2f46a45bfd [IR] Deserialize annotation classes as open
Compiler backend relies on the fact that all annotation classes have
OPEN modality. This is not the case for libraries that were compiled
before 1.6.20. 948dc4f3 fixes compatibility for Lazy IR, here we do the
same for IR deserializer.

^KT-51302 fixed
2022-02-17 11:12:57 +00:00
Svyatoslav Scherbina 1fdb86d517 Native: fix loading libllvmstubs.dylib on macOS 12.3 Beta
Link libllvmstubs.dylib to `$sysroot/usr/lib/libc++.1.dylib`
instead of `$llvm/lib/libc++.1.dylib`.
The latter has `@rpath/libc++.1.dylib` as install name, so
the dynamic linker was unable to find it when loading
libllvmstubs.dylib on macOS 12.3.

^KT-51359 Fixed
2022-02-17 11:07:26 +00:00
Yahor Berdnikau 4143df1c8f Remove 'KotlinGradleSubplugin'
^KT-48831 Fixed
2022-02-17 10:40:03 +00:00
Dmitry Gridin 85d949a04a [light classes] simplify hashCode functions
^KTIJ-21151
2022-02-17 10:31:48 +00:00
Pavel Kirpichenkov 6674c3f482 [MPP] Apply @UnsafeNumber to functions and properties
KT-51224
KT-51215
2022-02-17 13:17:13 +03:00
Pavel Kirpichenkov f8a1395a03 [MPP] allow function and property targets for @UnsafeNumber annotation
KT-51224
KT-51215
2022-02-17 13:17:13 +03:00