Commit Graph

82996 Commits

Author SHA1 Message Date
Aleksei.Cherepanov 35c067b215 Fix import for JPS build of Kotlin repo
Changed link of configuration on TC for getting artifacts
from "Compiler Dist (202) and Maven Artifacts"
to "Kotlin / Kotlin Public / Aggregate"
2021-06-08 22:01:31 +03:00
Denis.Zharkov 2653565f56 FIR: Support exhaustive whens on subjects of intersection type 2021-06-08 18:59:48 +03:00
Anton Lakotka c8b9a3a6f0 Disallow unsafe reads of KPM PluginData from Compile Task 2021-06-08 15:49:05 +00:00
Anton Lakotka 52abecab43 Rename sensitive flag to isTransient and inverse logic, add file outputs
isTransient with default value as false makes it a bit more readable
Some Compiler Plugins can use file outputs properties to dump some data
there and gradle can support incremental build
with file outputs.
2021-06-08 15:49:05 +00:00
Anton Lakotka 70a2678bbc Add integration test for kpm compiler plugin sensitive options 2021-06-08 15:49:04 +00:00
Anton Lakotka c01be75f47 Reuse code in MetadataCompilationTasksConfigurator for native task 2021-06-08 15:49:03 +00:00
Anton Lakotka 28fe070a2f Track plugin options with indices 2021-06-08 15:49:02 +00:00
Anton Lakotka bc7ff04f1f Store sensitive plugin options in Task inputs 2021-06-08 15:49:01 +00:00
Anton Lakotka 9e084a7256 Fix overload call of project.files in abstractVariants.kt 2021-06-08 15:49:01 +00:00
Anton Lakotka 26a2509ebb Add basic test for Kotlin Project Model compiler plugins 2021-06-08 15:49:00 +00:00
Anton Lakotka a0fb5c31ea Don't configure runtimeDependencyFiles during variant instantiation 2021-06-08 15:48:59 +00:00
Anton Lakotka 5a58c1c437 [Kotlin Project Model] Add compiler plugin support 2021-06-08 15:48:58 +00:00
Nikita Bobko 16e6fe0e08 Fix compilation for some Kotlin plugin modules when IJ infra is attached to kotlin repo
For example it fixes compilation of `:kotlin-ide.kotlin.generators:testClasses`

This commit fixes that Gradle tries to find jars of 202 IDEA in ivy repo of 211 IDEA:
```
* What went wrong:
Execution failed for task ':kotlin-ide.kotlin.tests-common:compileTestKotlin'.
> Could not resolve all files for configuration ':kotlin-ide.kotlin.tests-common:testCompileClasspath'.
   > Could not find extensions-211.6693.111.jar (kotlin.build:ideaIC:211.6693.111).
     Searched in the following locations:
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/artifacts/lib/extensions.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/artifacts/extensions.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/intellij-core/211.6693.111/artifacts/extensions.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/artifacts/plugins/ideaIC/lib/extensions.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/sources/extensions-211.6693.111.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/extensions.jar
   > Could not find guava-29.0-jre-211.6693.111.jar (kotlin.build:ideaIC:211.6693.111).
     Searched in the following locations:
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/artifacts/lib/guava-29.0-jre.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/artifacts/guava-29.0-jre.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/intellij-core/211.6693.111/artifacts/guava-29.0-jre.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/artifacts/plugins/ideaIC/lib/guava-29.0-jre.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/sources/guava-29.0-jre-211.6693.111.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/guava-29.0-jre.jar
   > Could not find asm-all-8.0.1-211.6693.111.jar (kotlin.build:ideaIC:211.6693.111).
     Searched in the following locations:
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/artifacts/lib/asm-all-8.0.1.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/artifacts/asm-all-8.0.1.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/intellij-core/211.6693.111/artifacts/asm-all-8.0.1.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/artifacts/plugins/ideaIC/lib/asm-all-8.0.1.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/sources/asm-all-8.0.1-211.6693.111.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/asm-all-8.0.1.jar
   > Could not find streamex-0.7.2-211.6693.111.jar (kotlin.build:ideaIC:211.6693.111).
     Searched in the following locations:
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/artifacts/lib/streamex-0.7.2.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/artifacts/streamex-0.7.2.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/intellij-core/211.6693.111/artifacts/streamex-0.7.2.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/artifacts/plugins/ideaIC/lib/streamex-0.7.2.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/sources/streamex-0.7.2-211.6693.111.jar
         file:/home/bobko/.gradle/kotlin-build-dependencies/repo/kotlin.build/ideaIC/211.6693.111/streamex-0.7.2.jar
```
2021-06-08 17:18:35 +02:00
Nikita Bobko bf287c0b85 [imltogradle] Don't generate unnecessary tests-jar with real dependencies when a module doesn't have any source root
This helps to prevent "fake" circular dependencies when
module A depends on tests of module B but module B doesn't have test source roots

In particular this commit fixes when running `:kotlin-ide.kotlin.generators:testClasses` task:
```
Circular dependency between the following tasks:
:kotlin-ide.kotlin.gradle.gradle-tooling:compileTestJava
+--- :kotlin-ide.kotlin.gradle.gradle-tooling:compileTestKotlin
|    \--- :kotlin-ide.kotlin.test-framework:testJar
|         +--- :kotlin-ide.kotlin.test-framework:compileTestKotlin
|         |    +--- :kotlin-ide.kotlin.idea:testJar
|         |    |    +--- :kotlin-ide.kotlin.idea:compileTestKotlin
|         |    |    |    \--- :kotlin-ide.kotlin.gradle.gradle-tooling:testJar
|         |    |    |         +--- :kotlin-ide.kotlin.gradle.gradle-tooling:compileTestKotlin (*)
|         |    |    |         \--- :kotlin-ide.kotlin.gradle.gradle-tooling:testClasses
|         |    |    |              \--- :kotlin-ide.kotlin.gradle.gradle-tooling:compileTestJava (*)
|         |    |    \--- :kotlin-ide.kotlin.idea:testClasses
|         |    |         \--- :kotlin-ide.kotlin.idea:compileTestJava
|         |    |              +--- :kotlin-ide.kotlin.gradle.gradle-tooling:testJar (*)
|         |    |              \--- :kotlin-ide.kotlin.idea:compileTestKotlin (*)
|         |    \--- :kotlin-ide.kotlin.jvm:testJar
|         |         +--- :kotlin-ide.kotlin.jvm:compileTestKotlin
|         |         |    +--- :kotlin-ide.kotlin.gradle.gradle-tooling:testJar (*)
|         |         |    +--- :kotlin-ide.kotlin.idea:testJar (*)
|         |         |    \--- :kotlin-ide.kotlin.repl:testJar
|         |         |         +--- :kotlin-ide.kotlin.repl:compileTestKotlin
|         |         |         |    \--- :kotlin-ide.kotlin.idea:testJar (*)
|         |         |         \--- :kotlin-ide.kotlin.repl:testClasses
|         |         |              \--- :kotlin-ide.kotlin.repl:compileTestJava
|         |         |                   +--- :kotlin-ide.kotlin.idea:testJar (*)
|         |         |                   \--- :kotlin-ide.kotlin.repl:compileTestKotlin (*)
|         |         \--- :kotlin-ide.kotlin.jvm:testClasses
|         |              \--- :kotlin-ide.kotlin.jvm:compileTestJava
|         |                   +--- :kotlin-ide.kotlin.gradle.gradle-tooling:testJar (*)
|         |                   +--- :kotlin-ide.kotlin.idea:testJar (*)
|         |                   +--- :kotlin-ide.kotlin.jvm:compileTestKotlin (*)
|         |                   \--- :kotlin-ide.kotlin.repl:testJar (*)
|         \--- :kotlin-ide.kotlin.test-framework:testClasses
|              \--- :kotlin-ide.kotlin.test-framework:compileTestJava
|                   +--- :kotlin-ide.kotlin.idea:testJar (*)
|                   +--- :kotlin-ide.kotlin.jvm:testJar (*)
|                   \--- :kotlin-ide.kotlin.test-framework:compileTestKotlin (*)
\--- :kotlin-ide.kotlin.test-framework:testJar (*)
```
2021-06-08 17:15:17 +02:00
Sergey Bogolepov bcd28615a6 [Native] Add initial version of LLVM buildscript
Previously there was no determined way to build LLVM for Kotlin/Native.
This commits adds a Python script that allows to do so on all hosts.
2021-06-08 14:42:43 +00:00
Ilya Matveev 1530a0823f [K/N] Use finalization task to generate report for runtime tests
The approach with doLast doesn't work if the test binary failed.
This patch uses a finalization task instead to ensure that we
process the XML report regardless of whether the tests pass
or fail.
2021-06-08 12:44:14 +00:00
Ilya Matveev f08d473d3c [K/N][Runtime tests] Support << operator for thread states 2021-06-08 12:44:13 +00:00
Elena Lepilkina 7ed22360f9 [K/N] Use in array varargs optimized implementations of set operators without bound checks 2021-06-08 11:59:56 +00:00
Elena Lepilkina 2cb3a20733 [K/N] Added functions for set/get array operatorswithout bounds check 2021-06-08 11:59:56 +00:00
Leonid Startsev dd21326425 Create a copy of incorrectly deserialized parent's writeSelf function
To avoid problems during code generation when INVOKEDYNAMIC
is used instead of static

#KT-47161 Fixed
2021-06-08 11:53:47 +00:00
Vladimir Ivanov 7c7905b55c [Native] Disable unaligned float test (not supported yet) (#4434) 2021-06-08 13:18:58 +03:00
Dmitriy Novozhilov 773fc25587 Fix compilation after 3572a96b 2021-06-08 12:16:03 +03:00
Sergey Bogolepov 1ae8e01b32 [Native][MIPS] Add stddef.h to platform.posix on linux
For some reason, ptrdiff_t is missing in platform.posix on MIPS,
yet referenced from platform.linux.__morecore. Fixed by adding parent
header.
This fix is ABI for MIPS targets breaking because some declarations move
from platform.linux to platform.posix package.

^KT-46957 Fixed
2021-06-08 09:02:49 +00:00
Mikhail Glukhikh 0e63484738 Fix OptIn marker usages in code according to new limitation 2021-06-08 11:37:35 +03:00
Mikhail Glukhikh 63bc3f9708 Forbid experimental markers on various targets #KT-45845 Fixed
In this commit we forbid experimental markers on:
- local variables
- value parameters
- fields, including delegate fields
- property getters
2021-06-08 11:37:34 +03:00
Mikhail Glukhikh eb9c658c1c OptIn: handle usages via type aliases properly 2021-06-08 11:37:33 +03:00
Mikhail Glukhikh b4ee116de7 Experimental checkers: simplify visiting code a bit 2021-06-08 11:37:32 +03:00
Mikhail Glukhikh 702d839c66 Forbid TYPE and TYPE_PARAMETER as possible OptIn targets 2021-06-08 11:37:31 +03:00
Mikhail Glukhikh 603afe89a2 Forbid using experimental markers on override declarations
#KT-45844 Fixed
2021-06-08 11:37:30 +03:00
Mikhail Glukhikh bb9efab3c4 Forbid experimental markers on getter #KT-45845 Fixed 2021-06-08 11:37:29 +03:00
Mikhail Glukhikh 0a670bf055 Report EXPERIMENTAL_API diagnostics on various implicit usages
#KT-32443 Fixed
#KT-22852 Fixed
2021-06-08 11:37:28 +03:00
Mikhail Glukhikh d8d38862d9 Introduce EXPERIMENTAL_ANNOTATION_WITH_WRONG_RETENTION diagnostic
#KT-22941 Fixed
2021-06-08 11:37:27 +03:00
Mikhail Glukhikh 7393465696 Don't report EXPERIMENTAL_OVERRIDE_ERROR on annotated local functions
#KT-31728 Fixed
2021-06-08 11:37:26 +03:00
Mikhail Glukhikh cb232725f0 FoldConstantLowering: drop unnecessary experimental annotation 2021-06-08 11:37:25 +03:00
Mikhail Glukhikh fa307a5f75 Drop LocalCallableIdConstructor OptIn-annotation 2021-06-08 11:37:24 +03:00
Andrey Zinovyev 3572a96bb9 [FIR] Lookup in local sources in default imports based on the flag
Reuse ALLOW_KOTLIN_PACKAGE for that
2021-06-08 08:23:25 +00:00
Andrey Zinovyev 3eeddf7077 [FIR] Use member scope to look up function/property by name 2021-06-08 08:18:57 +00:00
Andrey Zinovyev c507d1c938 [FIR] Implement OPERATOR_RENAMED_ON_IMPORT diagnostic 2021-06-08 08:18:56 +00:00
Andrey Zinovyev 7c669b65c3 [FIR] Implement CONFLICTING_IMPORT diagnostic 2021-06-08 08:18:55 +00:00
Andrey Zinovyev 14789cb9e5 [FIR] Implement CANNOT_BE_IMPORTED diagnostic 2021-06-08 08:18:54 +00:00
Andrey Zinovyev bf153ab0f0 [FIR] Implement CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON diagnostic 2021-06-08 08:18:54 +00:00
Abduqodiri Qurbonzoda fdd9287836 Get rid of platform differences in Regex.split() doc 2021-06-08 00:32:33 +00:00
Abduqodiri Qurbonzoda 0b521b5183 Get rid of platform differences in Regex.findAll() doc 2021-06-08 00:32:32 +00:00
Abduqodiri Qurbonzoda 53b6c25533 Get rid of platform differences in Grouping<T, K>.eachCount() doc 2021-06-08 00:32:31 +00:00
Abduqodiri Qurbonzoda 91d1baf3b5 Get rid of platform differences in Array.orEmpty() doc 2021-06-08 00:32:30 +00:00
Abduqodiri Qurbonzoda cc3c33b8ae Get rid of platform differences in Collection<T>.toTypedArray() doc 2021-06-08 00:32:29 +00:00
Abduqodiri Qurbonzoda c64592665b Get rid of platform differences in MutableList.sortWith() doc 2021-06-08 00:32:29 +00:00
Abduqodiri Qurbonzoda a9946b01e6 Get rid of platform differences in MutableList.sort() doc 2021-06-08 00:32:28 +00:00
Abduqodiri Qurbonzoda 225be54c61 Get rid of platform differences in Regex.find doc 2021-06-08 00:32:27 +00:00
Abduqodiri Qurbonzoda 7fdd1154ee Add default value for K/N actual functions #KT-46183 2021-06-08 00:32:26 +00:00