Commit Graph

101831 Commits

Author SHA1 Message Date
Ivan Kylchik 2129938ef2 [IR] Properly handle interpretation errors if inside annotation class
#KT-58923
2023-06-14 19:02:38 +00:00
Ivan Kylchik ec4cf40f6f [IR] Allow to fold IrGetField expressions
#KT-58923
2023-06-14 19:02:38 +00:00
vladislav.grechko b8b8b7fd3a [JVM_IR] Move variables out of IrInlinedFunctionBlock on MFVC lowering
Variables in `IrInlinedFunctionBlock` declared before the composite
blocks with arguments evaluation may lead to error on codegen while
processing `IrInlinedFunctionBlock`.

^KT-58779: Fixed
2023-06-14 17:34:14 +00:00
vladislav.grechko 4f1d181c88 [JVM_IR] Set correct origin for new variables on MFVC flattening.
Preserve information that variable is temporary while flattening.
Otherwise, unnecessary bytecode for them might be generated.
2023-06-14 17:34:14 +00:00
Alexander Korepanov fc898c7620 [JS IR] Use type upper bounds for calculating function signatures
^KT-59239 Fixed
2023-06-14 14:57:15 +00:00
Dmitry Savvinov a4d40498c7 [mpp] Remove KMM-related diagnostic functional tests
Functional tests do not run on Mac-hosts on CI. Adding a corresponding
integration will be handled as part of more general KGP/MPP tests
rework
2023-06-14 14:36:48 +02:00
Dmitry Savvinov 768e185280 [mpp] Ignore KMM-related diagnostic tests
Currently, CI runs on Linux agents which can not work with iOS targets
2023-06-14 14:36:48 +02:00
Dmitry Savvinov 66411a92f0 [Gradle] Cleanup: remove unused classes
- CompilationFreeArgsValidator got accidentally unused at some point,
and for now we don't see a reason to enable it back. A proper solution
includes exposing K/N linker options more explicitly via DSL, which
would address the initial problem of passing linker options to compiler
accidentally

- With ComplationFreeArgsValidator removal and migration of
DisabledNativeTargetsReporter to diagnostics infra, AggregateReporter
becomes unused so it can be removed as well
2023-06-14 14:36:48 +02:00
Dmitry Savvinov e74e6759ed [Gradle] Cleanup: remove SingleWarningPerBuild API
Instead, newer infrastructure for diagnostics should be used (see
'KotlinToolingDiagnosticsCollector')
2023-06-14 14:36:48 +02:00
Dmitry Savvinov 8a5433734b [Gradle] Migrate K2-usage warning 2023-06-14 14:36:48 +02:00
Dmitry Savvinov b6a90cfe7e [Gradle] Migrate warning about using pre-HMPP dependencies to new infra 2023-06-14 14:36:48 +02:00
Dmitry Savvinov 57b71b8ea6 [Gradle] Migrate warning about not chosen JS-environment 2023-06-14 14:36:48 +02:00
Dmitry Savvinov 76c37f359a [Gradle] Migrate warning about inconsistent JVM target 2023-06-14 14:36:48 +02:00
Dmitry Savvinov 5658991fe3 [Gradle] Migrate reporting of K/N targets disabled on current host 2023-06-14 14:36:48 +02:00
Dmitry Savvinov 5a9aa43aa5 [Gradle] Migrate disabled cinterops commonization warning 2023-06-14 14:36:47 +02:00
Dmitry Savvinov 63f61685c0 [Gradle] Migrate diagnostic about empty Kotlin targets in an MPP project
Also demote it from FATAL to ERROR, as FATAL leads to pretty disruptive
UX in IDE (import fails, and you don't get a broken project, which
makes it hard to fix the root cause and declare a target)
2023-06-14 14:36:47 +02:00
Dmitry Savvinov dcb51e64df [Gradle] Migrate warning about missing Android-target to new infra 2023-06-14 14:36:47 +02:00
Dmitry Savvinov 84fb045d8a [Gradle] Migrate warning about pre-1.3 MPP plugins 2023-06-14 14:36:47 +02:00
Dmitry Savvinov 4f309c0c8f [Gradle] Migrate unrecognized K/N distro warning 2023-06-14 14:36:47 +02:00
Dmitry Savvinov d9b7130f4b [Gradle] Migrate reporting of deprecated properties usage 2023-06-14 14:36:47 +02:00
Dmitry Savvinov 4bef185ccb [Gradle] Migrate checks for non-disambiguated targets 2023-06-14 14:36:47 +02:00
Dmitry Savvinov 1a5cbe1245 [Gradle] Improve diagnostics-related test assertions
- Allow matching substring for 'assertNoDiagnostic' as well
- Better handling of cases when multiple diagnostics with the same ID
are reported (properly look for one 'withSubstring' if provided)
2023-06-14 14:36:47 +02:00
Dmitry Savvinov 1ab1dccea1 [Gradle] Support rendering diagnostics reported in execution phase
- Introduce 'UsesKotlinDiagnostics' marker-interface for tasks that
want to report diagnostics during their execution

- Introduce 'transparent mode' to collector. When all projects are
evaluated, Collector switches to it and will render all received
diagnostics right away. This allows reporting and rendering diagnostics
that are reported not from tasks, but after evaluation phase (e.g.
diagnostics on resolved dependencies)

^KT-58353 Fixed
2023-06-14 14:36:47 +02:00
Dmitry Savvinov 37e791a7d3 [Gradle] Minor: drop deprecated kotlin.build.report.enable property 2023-06-14 14:36:47 +02:00
Dmitry Savvinov dc4bbbc333 [mpp] Minor: drop warning about deprecated K/N test binary access 2023-06-14 14:36:47 +02:00
Dmitry Savvinov 6e8493fa52 [mpp] Minor: drop support for "kotlin.native.restrictedDistribution" 2023-06-14 14:36:47 +02:00
Dmitry Savvinov eeb95f2feb [Gradle] Minor: compare against expected testData in tmpDir
This might become an issue if (when) the editable diff window will
be supported, but for now it doesn't make much difference against
which file we compare the actual output.
2023-06-14 14:36:46 +02:00
Dmitry Savvinov 896292cba1 [Gradle] Minor: remove unused parameter 2023-06-14 14:36:46 +02:00
Timofey Solonin 6d66eb4ac2 [MPP] Use two simulator targets in CocoaPodsIT
^KT-58822
2023-06-14 12:28:23 +00:00
Timofey Solonin 14bc02287b [MPP] Replace obsolete target in CommonizerHierarchicalIT.optimisticCommonization
^KT-58822
2023-06-14 12:10:00 +00:00
Artem Kobzar d2b64cd481 [K/JS] Generate .js files from .ts if they were not created, because of the incremental flag in tsconfig
The incremental option will prevent creating file if there is an incremental cache from TS compiler even if the file doesn't exist.
The situation could happen if `./gradlew clean` was executed (js file will be removed and ts incremental cache - not)

Merge-request: KT-MR-10229
Merged-by: Artem Kobzar <Artem.Kobzar@jetbrains.com>
2023-06-14 09:26:18 +00:00
Dmitrii Gridin 7631e90f12 [LL FIR, Java] fix resolve contract violation from java symbol provider from permits
To create a smart psi type pointer, IJ Platform uses resolve
We cannot use resolve from JavaSymbolProvider,
as it may lead to resolve contract violation

^KT-59243 Fixed
2023-06-14 09:25:26 +00:00
Timofey Solonin 5af8b9e819 [MPP] Remove obsolete targets from KlibBasedMppIT
^KT-58822
2023-06-14 08:50:53 +00:00
Kirill Rakhman 8ff67218f5 [FIR] Fix serialization of annotation vararg arguments
#KT-58937 Fixed
2023-06-14 08:41:27 +00:00
Abduqodiri Qurbonzoda fd4d4f516f Fix data class hashcode generation
It considers Boolean hashCode equal to 1/0 for true/false,
which is different from actual hashCode of the Boolean type.
2023-06-14 08:19:47 +00:00
Abduqodiri Qurbonzoda 36924775c8 Add a compiler box test for Boolean.hashCode() 2023-06-14 08:19:47 +00:00
Abduqodiri Qurbonzoda 193aa0f935 Align the Boolean.hashCode() value across platforms
Boolean.hashCode() should return 1231/1237 for true/false correspondingly.

As a part of efforts to stabilize Native stdlib.
2023-06-14 08:19:46 +00:00
Mikhail Glukhikh 668157eb41 FirClassAnySynthesizedMemberScope.kt: make it a declared member scope
Related to KT-54844, KT-58926
2023-06-14 07:09:16 +00:00
Mikhail Glukhikh 0ea0346ec1 FE MPP: add a test with expect value class B : interface with toString
Related to KT-54844
2023-06-14 07:09:16 +00:00
Pavel Kunyavskiy f67f8c393b K2: Added test for data class metadata
#KT-57622 Fixed
2023-06-14 07:09:16 +00:00
Mikhail Glukhikh f48142a6e6 FIR2IR: fix binding of data class generated members
Related to KT-54844
#KT-54952 Fixed
#KT-54887 Fixed
2023-06-14 07:09:15 +00:00
Mikhail Glukhikh 5304afb097 Fix AA/LC behavior accordingly to changes related to KT-54844 2023-06-14 07:09:15 +00:00
Mikhail Glukhikh 2a825f8df1 K2: implement FirClassAnySynthesizedMemberScope #KT-54844 Fixed 2023-06-14 07:09:15 +00:00
Mikhail Glukhikh c898b264ba FIR2IR: fix receiver of value classes method references
This commit fixes the receiver of these method in FIR2IR code
by removing a particular hack.
However, as the consequence of it 2 black box tests become broken in K2.
The reason is KT-54952 which is not yet fixed

Related to KT-54887
2023-06-14 07:09:15 +00:00
Anna Kozlova 95ec7ede66 [light classes] create enum references as PsiReferenceExpressions
Ensure that enum constants with special characters in their names are properly ignored
2023-06-13 20:09:54 +00:00
Timofey Solonin 2353424817 [MPP] Remove obsolete targets from CommonizerIT.commonizeNativeDistributionWithIosLinuxWindows
^KT-58822
2023-06-13 18:31:46 +00:00
Alexander Udalov 82af3dd6ae Tests: fix paths of Java sources in codegen tests
To help them run on the old infrastructure, which light analysis tests
are still using.
2023-06-13 17:48:23 +00:00
Alexander Udalov 23fb96378e Tests: remove duplicate LANGUAGE test directives
To help them run on the old infrastructure, which light analysis tests
are still using.
2023-06-13 17:48:23 +00:00
Alexander Udalov be4df35867 Tests: add FILE directives to some multimodule tests
To help them run on the old infrastructure, which light analysis tests
are still using.
2023-06-13 17:48:23 +00:00
Leonid Startsev 29b6595cfc Start file names with a capital letter according to codestyle
No ABI changes are introduced because file facades are automatically capitalized anyway.
2023-06-13 16:44:13 +00:00