Commit Graph

108137 Commits

Author SHA1 Message Date
Igor Chevdar 978bf3d38d [IR] Refactored a bit InlineFunctionResolver 2024-01-22 09:34:42 +00:00
Igor Chevdar f3a807c507 [IR] Fixed a problem in FunctionInlining
#KT-64868 Fixed
2024-01-22 09:34:42 +00:00
Mark Mann bef0946ab7 [K/N] Reduce file reads in cache libraries
#KT-64249 Fixed
2024-01-20 08:25:50 +00:00
Vladimir Sukharev d2b810c373 [K/N][Tests] Polish sharing_with_weak.kt
^KT-61259
2024-01-19 18:37:43 +01:00
Vladimir Sukharev 39e2187d31 [K/N][Tests] Split filecheck part from test direct.kt
^KT-61259
2024-01-19 18:31:25 +01:00
Vladimir Sukharev 833e125450 [K/N][Tests] Polish test sharing_with_weak.kt
^KT-61259
2024-01-19 18:22:22 +01:00
Vladimir Sukharev 4aa8774c6e [K/N][Tests] Migrate test direct.kt
^KT-61259
2024-01-19 18:22:22 +01:00
Vladimir Sukharev e59a80bd69 [K/N][Tests] Migrate test overridabilityCondition.kt
^KT-61259
2024-01-19 18:22:21 +01:00
Vladimir Sukharev 2d0009ff99 [K/N][Tests] Migrate test illegal_sharing_with_weak.kt
^KT-61259
2024-01-19 18:22:21 +01:00
Vladimir Sukharev 647a907204 [K/N][Tests] Migrate kt48816 tests
^KT-61259
2024-01-19 18:22:21 +01:00
Vladimir Sukharev 447c0fb618 [K/N][Tests] Migrate kt56048 test
^KT-61259
2024-01-19 18:22:21 +01:00
Vladimir Sukharev cc13888dd0 [K/N][Tests] Migrate second ObjC test with framework
^KT-61259
2024-01-19 18:22:21 +01:00
Vladimir Sukharev 1b18f4ed1e [K/N][Tests] Migrate first ObjC test with framework
^KT-61259
2024-01-19 18:22:20 +01:00
Vladimir Sukharev 6e2df0e086 [K/N][Tests] Migrate first Apple-specific test
^KT-61259
2024-01-19 18:22:20 +01:00
Jinseong Jeon e91e5db0ce AA FIR: build argument mapping for SAM conversion node
^KT-64910 fixed
2024-01-19 17:05:06 +00:00
Ilya Chernikov d6c9a492ad K2 Scripting: disable K2 lightTree-based script tests
they were enabled by mistake and do not work properly until
LT parsing is implemented
depends on #KT-60127
2024-01-19 15:54:54 +00:00
Ilya Chernikov a5c2eb66a2 K2 Scripting: add missing contracts resolving in scripts
#KT-64074 fixed
2024-01-19 15:54:53 +00:00
Ilya Chernikov 3b70b3d92d K2 Scripting: restore some codegen scripting tests for K2 2024-01-19 15:54:53 +00:00
Mikhail Glukhikh a83d2b7a67 FirJavaElementFinder: return packages with true isValid()
#KT-65111 Fixed
2024-01-19 15:52:14 +00:00
Mikhail Glukhikh ae6aef3a63 K2: reproduce KT-65111 2024-01-19 15:52:14 +00:00
Ilya Kirillov dd4b1abc6a Fix multiple allocations of empty PersistentMap in PersistentSetMultimap
The `persistentMapOf` overload without arguments should be used there.

The needed overload is not available in the version of `kotlinx.immmutable 0.3.2`,
so the library is updated to the latest version.

This commit also removes the dependency on the `kotlinx-collections-immutable-metadata`
as it's not published anymore for new versions of `kotlinx-collections-immutable`.

^KT-64987 fixed
2024-01-19 15:19:41 +00:00
Yahor Berdnikau 0e98eb5bb4 [Gradle] Add test checking '.attribute(key, attr)' method is not used
We want to prevent usages of 'AttributeContainer.attribute(key, attr)'
method in our codebase.

^KT-60664 Verification Pending
2024-01-19 14:58:23 +00:00
Yahor Berdnikau dbd77fc785 [Gradle] Fix eager task realization due to attributes querying
Gradle 8.3+ starts triggering JVM eager tasks creating via eagerly
configured attributes that we copy over from the Gradle JVM plugin for
Kotlin compilation. The fix is to migrate to '.attributeProvider()' API
to configure the attribute.

^KT-60664 In Progress
2024-01-19 14:58:23 +00:00
Alexander Shabalin 2da6946ac2 [K/N] Debug output for HostExecutor on windows ^KT-65113 2024-01-19 14:35:57 +00:00
Yahor Berdnikau facc9cdb58 [Gradle] Add compiler options DSL for Kotlin targets
Restore compiler options DSL for all Kotlin targets. 'KotlinTarget'
interface does not provide any common way to configuring options - this
is the responsibility of related plugin extensions.

From the hierarchical standpoint of view target DSL overrides options
configured in the extension.

^KT-57292 In Progress
2024-01-19 14:16:11 +00:00
Yahor Berdnikau e527781772 [Gradle] Introduce HasConfigurableCompilerOptions DSL interface
This interface should be attached to the KGP DSL entities that want to
provide an ability to configure Kotlin compiler options.

^KT-60733 In Progress
2024-01-19 14:16:11 +00:00
Nikolay Krasko 58fd558308 Remove flaky Kapt4ToolIntegrationTestGenerated test
The test is now very flaky and leads to java.lang.OutOfMemoryError

KTI-1559
2024-01-19 14:01:02 +00:00
Sergej Jaskiewicz bc5810ee67 [FIR2IR] Don't use descriptor manglers in FIR2IR
They don't do anything, only complicate the initial configuration.

KT-64990
2024-01-19 13:36:00 +00:00
Sergej Jaskiewicz 8b4cc050eb [FIR2IR] Remove linkViaSignatures from Fir2IrConfiguration
^KT-64809 Fixed
2024-01-19 13:36:00 +00:00
Sergej Jaskiewicz e8aa05928d [FIR2IR] Unconditionally disable linkViaSignatures on JVM
It was an experimental compilation mode that we don't need anymore.

KT-64809
2024-01-19 13:35:59 +00:00
Artem Kobzar 7568ee5a79 [K/JS] Add VOID optimization on object properties + align with the optimization the JS Plain Object plugin 2024-01-19 13:03:06 +00:00
Alexander Udalov b2c30921e4 JVM: support JVM-specific primitive/wrapper type overridability check
#KT-62045 Fixed
2024-01-19 12:30:48 +00:00
Alexander Udalov 39327a37cb IR: pass also unsubstituted member to external conditions
In the future version of JavaIncompatibilityRulesOverridabilityCondition
for IR, we need to compute the original JVM signature of a declaration.
In descriptors, it's possible simply by using `original`.
2024-01-19 12:30:48 +00:00
Ivan Kylchik e15894e98e [FIR] Properly check when expression in FirConstCheckVisitor
Added proper checks for `FirWhenSubjectExpression` and
`FirElseIfTrueCondition`
2024-01-19 11:40:39 +00:00
Ivan Kylchik 6c3aa6568e [FIR] Properly check constructor call in FirConstCheckVisitor 2024-01-19 11:40:39 +00:00
Ivan Kylchik 1423576d1a [FIR] Properly check FirIntegerLiteralOperatorCall in FirConstCheckVisitor 2024-01-19 11:40:39 +00:00
Ivan Kylchik c51d68e227 [FIR] Mark error expressions as valid consts in FirConstCheckVisitor 2024-01-19 11:40:39 +00:00
Ivan Kylchik 521306e5e9 [FIR] Move most property checks in corresponding fun in FirConstCheckVisitor
Basically moved property check code from
`visitQualifiedAccessExpression` into
`visitPropertyAccessExpression`
2024-01-19 11:40:39 +00:00
Ivan Kylchik 76268c941a [FIR] Properly check FirPropertyAccessExpression in FirConstCheckVisitor 2024-01-19 11:40:39 +00:00
Ivan Kylchik 10c687fa32 [FIR] Move most of the expression's checks into FirConstCheckVisitor
The only ones left are checking expression's symbol instead
of the expression itself.
2024-01-19 11:40:39 +00:00
Ivan Kylchik 2657cafa7b [FIR] Add session property to the FirConstCheckVisitor 2024-01-19 11:40:39 +00:00
Ivan Kylchik 7c9e5a1a4b [FIR] Move const check utils functions into FirConstCheckVisitor
This is the first step of moving all const check code into
a visitor class.
2024-01-19 11:40:39 +00:00
Ivan Kylchik 4e8adc6693 [FIR] Add new VALID_CONST entry to the ConstantArgumentKind 2024-01-19 11:40:38 +00:00
Ivan Kylchik c661f654ee [FIR] Drop useless check cast to FirCall in FirConstChecks 2024-01-19 11:40:38 +00:00
Adam Semenenko a6524be97a !fixup [Gradle] refactor Gradle task assertion utils for clarity
- Rename/update to differentiate between 'executed' tasks vs tasks
  that are not in the task graph
- de-duplicate assertTasksNotExecuted() / assertTasksAreNotInTaskGraph()
  they both did the same thing
- re-use code for verifying all tasks have a specific outcome
- add a more helpful failed assertion message if the task isn't found
- rename 'tasks' to 'taskPaths' for clarity
2024-01-19 11:21:27 +00:00
Adam Semenenko 1661957166 !fixup [Gradle] refactor Gradle task assertion utils for clarity
- Rename/update to differentiate between 'executed' tasks vs tasks
  that are not in the task graph
- de-duplicate assertTasksNotExecuted() / assertTasksAreNotInTaskGraph()
  they both did the same thing
- re-use code for verifying all tasks have a specific outcome
- add a more helpful failed assertion message if the task isn't found
- rename 'tasks' to 'taskPaths' for clarity
2024-01-19 11:21:27 +00:00
Adam Semenenko ad8341df9b [Gradle] refactor Gradle task assertion utils for clarity
- Rename/update to differentiate between 'executed' tasks vs tasks
  that are not in the task graph
- de-duplicate assertTasksNotExecuted() / assertTasksAreNotInTaskGraph()
  they both did the same thing
- re-use code for verifying all tasks have a specific outcome
- add a more helpful failed assertion message if the task isn't found
- rename 'tasks' to 'taskPaths' for clarity
2024-01-19 11:21:26 +00:00
Adam Semenenko 4b48f15d0f [Gradle] skip CheckKotlinGradlePluginConfigurationErrors if no errors
- Add an `onlyIf {}` check so CheckKotlinGradlePluginConfigurationErrors
  won't run unless there are errors,
which helps writing integration tests and preventing IJ warnings.
- remove unnecessary sequence when fetching DiagnosticsForProject
- update test assertions relating to
  CheckKotlinGradlePluginConfigurationErrors

^KT-61943 Fixed
2024-01-19 11:21:26 +00:00
Ilmir Usmanov 19283048a8 Replace bytecode text test with a stepping test
#KT-62965
2024-01-19 10:52:39 +00:00
Xin Wang 2e32e13466 JVM Codegen: Mark line number before calling of indy in SAM Conversion
Fixes: KT-62965
2024-01-19 10:52:39 +00:00