Commit Graph

92180 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 4e4c4c8d39 [FE] Make ContextReceivers feature not unstable
It's already impossible to use declarations with context receivers
  if this feature is not enabled, so there is no need to additionally
  poison binaries with prerelease flag if this feature is enabled
2022-04-19 10:49:45 +00:00
Ilya Kirillov 9a562a0293 [analysis api] optimize search for declarations in IDE 2022-04-19 12:37:49 +02:00
Ilya Kirillov 9088da7b33 [fir] use correct session for supertype symbol search
During supertype resolution we may encount a supeclass came from other source session.
In this case, we should search for it containing FirFile inside that session
2022-04-19 12:37:49 +02:00
Ilya Kirillov 7420933bff [low level api] remove unused code 2022-04-19 12:37:48 +02:00
Ilya Kirillov 9a18598606 [low level api] rework components structure, add ScopeSession caches 2022-04-19 12:37:47 +02:00
Alexander Likhachev 079400796a [Build] Validate Gradle plugins on install 2022-04-19 00:39:25 +03:00
Alexander Likhachev eda759ba31 [Build] Avoid buildscript root capture into task action
#KT-44611 In Progress
2022-04-19 00:39:24 +03:00
Alexander Likhachev 64aae756d1 [Build] Avoid project usages in jdk6 tests
#KT-44611 In Progress
2022-04-19 00:39:24 +03:00
Alexander Likhachev 20560d6101 [Build] Update test-distribution-plugin to 2.2.3
#KT-44611 In Progress
2022-04-19 00:39:23 +03:00
Alexander Likhachev be48035917 [Build] Avoid project usage in DexMethodCountStats
#KT-44611 In Progress
2022-04-19 00:39:23 +03:00
Alexander Likhachev 899964ba30 [Build] Update gradle-node-plugin to 3.2.1
#KT-44611 In Progress
2022-04-19 00:39:21 +03:00
Alexander Likhachev e42bed07fa [Build] Temporary disable hmpp metadata tasks with CoCa
Should be reverted when KT-49933 is resolved
#KT-44611 In Progress
2022-04-19 00:35:35 +03:00
Alexander Likhachev df55745b61 [Build] Do not use project at execution time in jar tasks
#KT-44611 In Progress
2022-04-19 00:35:35 +03:00
Alexander Likhachev 6d654a4b10 [Build] Add workaround for KGP builds metrics reports
#KT-44611 In Progress
2022-04-19 00:35:34 +03:00
Alexander Likhachev 610e9ac77a [Build] Setup org.gradle.java.installations.fromEnv in buildSrc to workaround configuration cache invalidation problem
#KT-44611 In Progress
2022-04-19 00:35:34 +03:00
Alexander Likhachev 2f39a65679 [Build] Add workarounds for https://github.com/gradle/gradle/issues/17936
#KT-44611 In Progress
2022-04-19 00:33:36 +03:00
Alexander Likhachev 44e92a6134 [Build] Fix configuration cache problem with embeddable task
#KT-44611 In Progress
2022-04-19 00:33:35 +03:00
Alexander Likhachev aa3b653847 [Build] dependencies-maven-all: use ArchiveOperations service
`normalizeComponentsXmlEndings` task was using `zipTree` method of `project`. The `ArchiveOperations` method should be used to work properly with configuration cache.
#KT-44611 In Progress
2022-04-19 00:33:34 +03:00
Alexander Likhachev f4b17ff78f [Build] kotlin-test: cross-project task dependencies -> artifacts sharing for combinedSourcesJar
It's recommended way to work with such setups, and the former way itn't work properly with Gradle configuration cache
#KT-44611 In Progress
2022-04-19 00:33:33 +03:00
Florian Kistner 8a59ed6bc0 KMA-413 Publish AC KMM's backend.native dependency with Kotlin-for-IDE
AppCode KMM uses parts of `backend.native` for its Kotlin-ObjC
cross-resolve. Thus, this IDE dependency needs to be kept up-to-date
with the other Kotlin compiler for IDE artifacts. This commit integrates
a stripped down version into the existing `ide-plugin-dependencies`
build infrastructure to make it easier to keep them in sync.

Implementation details:
* Proguard-based removal of code irrelevant for IDE for smaller jar size
* Publication of non-stripped-down sources for better IDE experience
2022-04-18 20:15:05 +00:00
Svyatoslav Scherbina 6fb4640575 Improve "Debugging K/N compiler" section in kotlin-native/HACKING.md
Describe how to debug the compiler when it runs in Gradle.
Also polish everything else.
2022-04-18 16:22:54 +00:00
Ivan Kochurkin 3b8183a736 [FIR] Support of importing optional annotation classes (JS/Native), ^KT-51757 Fixed 2022-04-18 15:36:21 +00:00
Ivan Kochurkin 73e7b99e05 [FIR] LightTree builder: get rid of unwanted asText calls 2022-04-18 15:36:20 +00:00
Ivan Kochurkin 541fba1531 [FIR] Type argument instead of unexpected type parameter for TypeMismatch error
^KT-49035
^KT-51201 Fixed
2022-04-18 15:36:20 +00:00
Ivan Kochurkin 8c7fad9a5e [FIR] Support of type arguments in annotations ^KT-48444 Fixed 2022-04-18 15:36:19 +00:00
Ivan Kochurkin 05bed8f751 [FIR] Hide local type for return type of single expression function ^KT-51418 Fixed 2022-04-18 15:36:18 +00:00
Mikhail Glukhikh 0ecba0ad0b FIR: don't create incorrect constraints in CallableReferenceResolution
#KT-50994 Fixed
Related to KT-49477
2022-04-18 14:27:42 +00:00
Aleksei.Cherepanov bdf229bc5c [JPS] Ignore classpath from facets to exclude jars from gradle build
Reimport after `./gradlew build` adds jars from gradle's `build/libs` to facet's classpath. That causes problems with JPS build, because it doesn't see changes in out folder, but see unchanged jar, so changes don't apply.

#KT-51873 Fixed

Merge-request: KT-MR-6018
Merged-by: Aleksei Cherepanov <aleksei.cherepanov@jetbrains.com>
2022-04-18 11:20:40 +00:00
Aleksei.Cherepanov e0029b14ee Rebuild module on plugin classpaths change
Add another one reason for rebuild: if pluginClasspaths was changed or even its jar content, module will be marked for rebuild

Merge-request: KT-MR-5839
Merged-by: Aleksei Cherepanov <aleksei.cherepanov@jetbrains.com>
2022-04-18 11:06:15 +00:00
Anton Bannykh 281e381223 JS IR: materialize Unit in lambdas
^KT-52010 fixed
2022-04-16 09:59:51 +03:00
Dmitry Gridin bc3514feae [jps][tests] AbstractLookupTrackerTest.kt: cleanup code
^KTIJ-20456
2022-04-15 22:00:20 +07:00
Dmitry Gridin e737015d5f [jps][tests] remove hardcoded dist path
^KTIJ-20456
2022-04-15 22:00:19 +07:00
Denis.Zharkov 9c7fea24d1 Fix exception when reporting WRONG_TYPE_PARAMETER_NULLABILITY_FOR_JAVA_OVERRIDE
^KT-51979 Fixed
2022-04-15 12:36:05 +00:00
Dmitriy Dolovov c599a620eb [Native][tests] testMultipleFrameworksStatic: fix custom exit status expectation 2022-04-15 15:11:42 +03:00
Dmitriy Dolovov ae60170e81 [Native][tests] More fine-grained condition to disable filecheck tests 2022-04-15 15:11:42 +03:00
Dmitriy Dolovov b33e525d1a [Native][tests] Old test infra: fail immediately if static cache not supported for the tested target 2022-04-15 15:11:41 +03:00
Dmitriy Dolovov 59a136574a [Native][tests] New test infra: fail immediately if static cache for libs from the distribution is required but there is no such cache 2022-04-15 15:11:41 +03:00
Dmitriy Dolovov 3b3dab3d43 [Native][tests] Forbid using thread state checker with cache 2022-04-15 15:11:41 +03:00
Denis.Zharkov b8ea48fdc2 Fix exception happening while parsing an incorrect file
^KTIJ-21546 Fixed
2022-04-15 09:10:09 +00:00
Dmitriy Novozhilov 989cef6c3c [FE 1.0] Don't report OVERRIDE_DEPRECATION on default accessors of deprecated properties
^KT-51893 Fixed
2022-04-15 08:30:05 +00:00
Alexander Shabalin 3f93f2796d [K/N] Add ComplexArraysBenchmark
Merge-request: KT-MR-6082
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-04-15 07:40:10 +00:00
Anton Bannykh 90ee8662da rra/ilgonmic/kt-51973
[JS IR] Add non overridden property and method insode exported class

[JS IR] Add method into exported interface in test

[JS IR] Add interface properties cases to all file export test

[JS IR] Fix usage of isExported inside IrJsUtils


Co-authored-by: Anton Bannykh <Anton.Bannykh@jetbrains.com>

Merge-request: KT-MR-6087
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>

^KT-51973 fixed
2022-04-14 16:59:54 +00:00
Ilya Gorbunov a03999fe81 Rename DefaultTimeMark to TimeSource.Monotonic.ValueTimeMark 2022-04-14 16:54:32 +00:00
Ilya Gorbunov 4ab0f7deeb Provide specialized TimeSource.Monotonic for Native
KT-46132
2022-04-14 16:54:32 +00:00
Ilya Gorbunov 77cf41c189 Saturate overflowing values when adjusting time marks
KT-46132
2022-04-14 16:54:31 +00:00
Ilya Gorbunov f32e0f3cba Provide specialized TimeSource.Monotonic for wasm
KT-46132
2022-04-14 16:54:30 +00:00
Ilya Gorbunov fede70d0d5 Make TimeMark returned by TimeSource.Monotonic a value class
This value class wraps Long on JVM and Native thus reducing allocations
in time measurement scenarios when the default monotonic time source is
statically known.

KT-46132
2022-04-14 16:54:30 +00:00
Yahor Berdnikau 5b45ea9bc9 Introduce KotlinBasePlugin
This interface is a top-level interface for all Kotlin plugins.
Additionally it provides 'pluginVersion' property allowing to get
current applied plugin version

^KT-50869 Fixed
^KT-48008 Fixed
2022-04-14 16:15:42 +00:00
Ivan Gavrilovic ca193a89d2 [Gradle] Add APIs that allow AGP to configure Kotlin compilation
Add APIs that describe tasks, so that AGP can configure them. This
change all adds support to *Config objects to support configuring
tasks when there is no access to internal KGP objects.

^KT-50869 In Progress
2022-04-14 16:15:42 +00:00
Ivan Gavrilovic 46cb4902e1 [Gradle] Move more task inputs to properties
... move more configuration logic to TaskConfigAction classes. This is
to avoid directly accessing tasks to configure them. The TaskConfigAction
objects should eventually have access to all information that is required
to configure the task, and they should compute the final values of
all properties.

This will also allow 3P plugins to configure Kotlin tasks, without
the need to create KGP internal objects.

^KT-50869 In Progress
2022-04-14 16:15:41 +00:00