Commit Graph

98732 Commits

Author SHA1 Message Date
Sebastian Sellmair 0a2b873415 [Gradle] GranularMetadataTransformation: Support dependency constraints
^KT-56431 Verification Pending
^KT-56461 Verification Pending
2023-02-14 15:15:10 +00:00
Sebastian Sellmair 380ca95661 [Gradle] resolvableMetadataConfiguration: Ensure consistent resolution across all compile dependencies
^KT-56461 Verification Pending
^KT-56431 Verification Pending
2023-02-14 15:15:10 +00:00
Anton Lakotka 5ec153822a [Gradle] Replace provider by lazy in ProjectData 2023-02-14 15:15:09 +00:00
Anton Lakotka 0bee621b21 [Gradle] Minor: optimize imports 2023-02-14 15:15:09 +00:00
Anton Lakotka 737afcb343 [Gradle] Move creation of GranularMetadataTransformation to source set
Now it is encapsulated to DefaultKotlinSourceSet and is lazily created
upon demand during project import

But metadata configurations still should be created during metadata
target configuration.

^KT-56431 Verification Pending
2023-02-14 15:15:09 +00:00
Anton Lakotka db6c6c736a [Gradle] Cache data that collected from all projects in rootProject 2023-02-14 15:15:08 +00:00
Vladimir Sukharev babd52e27a [K2/N] Fix test on Windows: remove \r from compared strings
Address reviewer's comment

Fix test on Windows: remove \r from compared strings

Merge-request: KT-MR-8799
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-02-14 14:46:27 +00:00
Yunir Salimzyanov ee32fddbfe KT-55700: fix IDEA import with JPS build enabled 2023-02-14 13:43:58 +00:00
Leonid Startsev 80ad6a4cd7 Support plugin intrinsics for serializer() function in K2.
- Add IrPluginContext to JvmBackendContext, so plugin intrinsics can
reference external functions properly.

- Do not use module.findClassAcrossModuleDependencies as Descriptor API does not work for FIR.

- Add asm listing tests in serialization plugin for K2

- Remove Delegated.kt asm listing test as we have similar test in boxIr group.

#KT-56553 Fixed
2023-02-14 13:43:09 +00:00
Alexander Korepanov 121c920099 [JS IR IC] Load only top level signatures for function type interfaces
The dependency signature may refer to function type interface properties
 (e.g. name) or methods. It is impossible to detect (without hacks)
 which binary symbol for loading is required. However, when loading
 a property or a method the entire function type interface is loaded.
 And vice versa, a loading of function type interface loads
 properties and methods as well. Therefore, load the top level signature only,
 it must be the signature of function type interface.

^KT-56582 Fixed
2023-02-14 13:25:19 +00:00
Alexander Korepanov f367541393 [JS IR] Rename functionalInterface -> functonTypeInterface 2023-02-14 13:25:19 +00:00
Pavel Kunyavskiy 00c900cb49 [K/N] Optimize code generation for function references
In before, each function reference created 5 functions needed only
for equals/hashcode properties. It contributed arround 3.5% of code size
on several sample projects. This is now replaced by passing constant
object to base class constructor.
2023-02-14 13:00:47 +00:00
Mikhail Glukhikh 7d8a1e9c1c Delay EnhanceNullabilityOfPrimitiveArrays to version 2.0
See KT-54521
2023-02-14 11:52:00 +00:00
Nikolay Krasko 2ad567e14c Revert "[K/N][build] Cleanup obsolete build tasks"
This reverts commit a9cae3fe87.
2023-02-14 11:30:17 +00:00
Aleksei.Cherepanov 0470a9568d [Maven] Fix flaky test-plugins
Logging in maven has been slightly changed, so it no longer matches the old patterns. It was flaky because sometimes it loaded the plexus artifact (and sometimes it didn't) and such event was shown in the log with different log message
2023-02-14 10:09:52 +00:00
Igor Chevdar ba172358d8 [K/N] Option to specify IR validation severity 2023-02-14 07:30:47 +00:00
Igor Chevdar 4fd063bd4b [K/N][driver] Some tweaks in IrValidator setup 2023-02-14 07:30:46 +00:00
Igor Chevdar 95c4ded9d0 [K/N][IR] Fixed wrong IrCall type (to fix IR validation) 2023-02-14 07:30:46 +00:00
Igor Chevdar 0655b02097 [IR] Proper error message for IR validation 2023-02-14 07:30:46 +00:00
Igor Chevdar 1e8cd91e0f [IR] Fixed wrong IrCall type (to fix IR validation) 2023-02-14 07:30:45 +00:00
Igor Chevdar 18e213426c [IR] Fixed wrong IrConst type (to fix IR validation) 2023-02-14 07:30:45 +00:00
Igor Chevdar 3dad0cfb05 [IR] Fixed wrong IrCall type (to fix IR validation) 2023-02-14 07:30:45 +00:00
Igor Chevdar 5e6aa649ed [IR] Extracted implicitCastIfNeeded to common utils 2023-02-14 07:30:44 +00:00
Igor Chevdar 750bb5c8c4 [K/N][IR] Added proper parent 2023-02-14 07:30:44 +00:00
Igor Chevdar ea2ce2b52e [IR] Fixed wrong parents 2023-02-14 07:30:44 +00:00
Denis.Zharkov 427b221eaf K2: Get rid of redundant parameter of ConeCallConflictResolver methods
discriminateGenerics was only set to false in recursive calls of
ConeOverloadConflictResolver
2023-02-14 07:14:10 +00:00
Ilya Gorbunov 61e9f98b9f Load JDK 8 platform implementations class without reflection
Also remove search for other platform implementation classes because
now the first match should be found in the same jar

Helps to avoid GraalVM related reflection problems in KT-51579
2023-02-13 20:25:30 +00:00
Yunir Salimzyanov 3cb0d489bf KT-55700: fix kotlin-test-sources.jar in compiler lib
to contain both jvm and common parts
as it is made for maven artifacts distribution
2023-02-13 17:42:27 +00:00
Dmitrii Gridin 607b8f6b61 Revert "[SLC] Support generics and ignore whitespace in KtSuperTypeList.findEntry"
This reverts commit e77f5c7764.
2023-02-13 17:28:35 +01:00
Dmitrii Gridin 761553ea75 [LC] reduce memory consumption from SLC and DLC
The main change is drop `LightClassesLazyCreator`

KtLightClassForDecompiledDeclaration:
* fixed a few captured fields

^KT-56561 Fixed
2023-02-13 16:08:17 +00:00
Dmitrii Gridin a8e8fc1f11 [LC] add ClassInnerStuffCache
^KT-56561
2023-02-13 16:08:16 +00:00
Dmitrii Gridin f501259cd4 [ULC] KtLightClassBase: do not override myInnersCache
^KT-56561
2023-02-13 16:08:16 +00:00
Konstantin Tskhovrebov aae0cf9e30 Restore a Kotlin facet version to keep serialized settings compatibility
And add a fallback for ExternalSystemTestRunTask serialization.
2023-02-13 16:07:56 +00:00
Pavel Mikhailovskii e77f5c7764 [SLC] Support generics and ignore whitespace in KtSuperTypeList.findEntry 2023-02-13 14:47:45 +00:00
Pavel Punegov a9cae3fe87 [K/N][build] Cleanup obsolete build tasks
* Remove obsolete reporting
* Remove old build tasks: BuildPusher and CollisionDetector
* Gradle build file cleanup
* Remove old wrappers

Merge-request: KT-MR-8788
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2023-02-13 14:02:28 +00:00
Svyatoslav Kuzmich 26c1098a4f [Wasm] Fix inliner issues (KT-56584)
* Fix objects in inline functions and lambdas:
  * Add common lowerings used in K/JS and K/Native
* Fix inline lambda call detection logic in presence of additional casts


Merge-request: KT-MR-8791
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com>
2023-02-13 13:14:43 +00:00
Yahor Berdnikau 1b5210b870 Exclude generated Kotlin-DSL from copyrights test
This DSL is generated by Gradle and not end up in published artifacts.
2023-02-13 12:58:32 +00:00
Yahor Berdnikau db9c440e90 Drop leftovers usages 'forUseAtConfigurationTime' 2023-02-13 12:58:32 +00:00
Yahor Berdnikau 7819e2bf54 Add settings convention for JVM toolchain provider 2023-02-13 12:58:31 +00:00
Yahor Berdnikau 30d218827a Align Gradle enterprise version in KGP 2023-02-13 12:58:31 +00:00
Yahor Berdnikau 920f76b9ef Add settings convention for Gradle enterprise 2023-02-13 12:58:30 +00:00
Yahor Berdnikau b7f50aeaf2 Introduce repo settings conventions
First convention is to configure Gradle build cache.
2023-02-13 12:58:30 +00:00
Mikhail Glukhikh 2405f28e64 K2: add test confirming successful work of KT-56261 2023-02-13 12:21:42 +00:00
Kirill Rakhman 314784f435 [FIR] Introduce FirDeclarationStatus.hasStableParameterNames
This flag is true by default but is set to false for

- Java methods and constructors
- interface delegation methods that delegate to Java

The NAMED_ARGUMENTS_NOT_ALLOWED logic is mostly refactored to use the
new flag though some custom logic remains for determining the correct
message and to work around a corner case with fake overrides.

The flag is (de)serialized from/to metadata. For backward compatibility
with K1, delegated methods to Java types are deserialized as stable.

^KT-40480 Fixed
2023-02-13 12:09:39 +00:00
Kirill Rakhman 152e63b198 [FIR] Remove redundant setting of DeclarationStatus properties 2023-02-13 12:09:39 +00:00
Kirill Rakhman d204d65174 [FIR] Reformat FirElementSerializer 2023-02-13 12:09:39 +00:00
Marco Pennekamp fb43e53ca3 [LL FIR] KTIJ-24574 Fix containing declaration finder for init blocks
- KTIJ-24574 occurred because a local destructuring declaration was
  erroneously returned as the non-local containing declaration of an
  element by `getNonLocalContainingOrThisDeclaration`. This occurred in
  `init` blocks.

KTIJ-24574 fixed
2023-02-13 10:38:26 +00:00
Ilya Kirillov 769fb835f9 [Analysis API] introduce a KotlinResolutionScopeProvider to optimize the resolutions scope in the IDE 2023-02-13 11:35:24 +01:00
Konstantin Tskhovrebov bb0ddcbeba Add kotlin platform ID to imported gradle run tasks
It is necessary to determine a platform for the run tasks, for example, to hide run configurations for a some specific target.
2023-02-13 10:20:41 +00:00
Svyatoslav Scherbina f78ffcb300 [K2/N] Unignore three tests fixed by basic forward declarations support
These tests got fixed by b19058c.

^KT-56028
2023-02-13 10:01:12 +00:00