Commit Graph

99618 Commits

Author SHA1 Message Date
Ilya Goncharov 723aa84ea7 [Gradle, JS] No error on default compiler
^KT-57480 fixed
2023-03-21 13:23:32 +00:00
Denis.Zharkov 38138bf079 K2: Fix bounds erasure for raw types
Basically, this commit reworks eraseToUpperBound* stuff
Instead of a bunch of vague flags, we introduce two modes
(rawTypes/intersection emptiness checker) which defined those flags.

Also, it makes choosing `eraseArgumentsDeeply` option always because
that how it works in K1 and also use invariant projection inside
`eraseArgumentsDeeply` for raw types for the same reason.

^KT-57198 Fixed
2023-03-21 12:38:22 +00:00
Anton Bannykh b0de442d76 JS IR: fix throwable descendants
^ KT-43490 fixed
2023-03-21 12:32:41 +00:00
Nikita Bobko 48ed6c4cc7 2/2 Implement deprecation for use-site '@get:' target
^KT-15470 Fixed
Review: https://jetbrains.team/p/kt/reviews/9250
2023-03-21 13:29:10 +01:00
Nikita Bobko 8cf5216555 1/2 Refactoring: split GetterAnnotations & PropertyAnnotations tests for K1 and K2
These tests won't be FIR_IDENTICAL after the next commit. That's why I
split them prematurely. This allows me to have a nicer diff in `2/2`
commit.

In scope of KT-15470
Review: https://jetbrains.team/p/kt/reviews/9250
2023-03-21 13:28:55 +01:00
hungvietnguyen 4f3244fb78 IC: Compute symbols impacted by classpath changes (#5111)
IC: Compute symbols impacted by classpath changes

Incremental compilation has 4 key steps:
  1. Compile changed/impacted files
  2. Detect symbols that have changed after compiling
  3. Detect symbols that are impacted by the changed symbols
  4. Based on the changed-or-impacted symbols, identify files that need
     to be recompiled. Go back to step 1.

Normally, step 2 and 3 are done together when the changed symbols
and impacted symbols are in the same module.

However, if the changed symbols and impacted symbols are in different
modules (e.g., a `Subclass` in lib1 extends a `Superclass` in lib2),
we currently do not compute symbols in the current module that are
impacted by changes in another module (step 3 above).

This is the case for both the new IC and the old IC.

In this commit, we will compute impacted symbols for the new IC. We can
fix the old IC later if necessary (they can't be fixed together easily).

Test: Added BaseIncrementalCompilationMultiProjectIT.testChangeInterfaceInLib
^KT-56197 Fixed
2023-03-21 13:12:15 +01:00
Ilya Goncharov bb09395952 [Gradle, JS] Unique name for NPM projects based on project path
^KT-56025 fixed
^KT-32209 fixed
2023-03-21 11:43:37 +00:00
Ilya Goncharov 5ce3132f9f [Gradle, JS] No format-util in gradle plugin dependencies 2023-03-21 10:18:42 +00:00
Kirill Rakhman a434b73fc8 [FIR] Refactor transform*UsingSmartcastInfo 2023-03-21 08:48:38 +00:00
Kirill Rakhman 45d2424ad8 [FIR] Let prefix inc/dec call getter twice for compatibility with K1
#KT-57179 Fixed
2023-03-21 08:48:38 +00:00
Ilya Chernikov fea344faa4 Test infra: fix regexes relying on \n line endings 2023-03-21 07:53:13 +00:00
Ilya Chernikov b2b2914da1 Switch git checkout to eol=auto on testdata
so the tests on windows run on files with crlf line endings
2023-03-21 07:53:13 +00:00
Pavel Kunyavskiy 3afdce3168 [K/N] Fix volatile intrinsics tests on K2
^KT-55904
2023-03-21 06:28:51 +00:00
Ivan Kylchik 7cf70e7b15 [JVM IR] Fix performance issue caused by support of IR Inliner 2023-03-20 23:36:33 +00:00
aleksandrina-streltsova e8272fa02e [Analysis API] Move testdata for scope provider 2023-03-20 22:04:48 +00:00
aleksandrina-streltsova 4b7164a557 [Analysis API] Allow handling scopes from KtScopeContext separately
^KT-55527
2023-03-20 22:04:48 +00:00
aleksandrina-streltsova d89d774411 [AA] Consider context receivers in FirTowerDataElement.getAvailableScope 2023-03-20 22:04:48 +00:00
Vyacheslav Gerasimov 5996b41443 Build: Workaround deadlock in Gradle
Sometimes Gradle hangs during relocation of compiler plugins because
`compilerDummyJar` configuration is resolved inside ShadowJar's exclude
https://github.com/gradle/gradle/issues/24317
2023-03-20 20:46:58 +01:00
Vyacheslav Gerasimov 3dcac61f7c Build: Update org.gradle.crypto.checksum to 1.4.0 2023-03-20 19:45:40 +00:00
Vyacheslav Gerasimov 98cadcdaaf Build: Update org.jetbrains.kotlinx.benchmark to 0.4.6 2023-03-20 19:45:40 +00:00
Vyacheslav Gerasimov 76c54a8ff3 Build: Fix usages of apis deprecated in Gradle 8 2023-03-20 19:45:39 +00:00
Vyacheslav Gerasimov bd9f096cfd Build: Replace configuration dependencies with extends
Configuration dependencies on configuration are not allowed in Gradle 8
2023-03-20 19:45:38 +00:00
Dmitrii Gridin fae4cbb415 [LL FIR] fix test naming
^KT-55750
2023-03-20 20:25:46 +01:00
Dmitrii Gridin bdada30bd9 [tests] simplify tmp dir name in case of long name
even non-Windows systems don't want to process very long names

^KT-55750
2023-03-20 20:19:22 +01:00
Dmitrii Gridin b3cb47e8a1 [tests] add new custom extension 'reversed' for tests
the new test will be introduced in the next commits

^KT-55750
2023-03-20 20:17:51 +01:00
Dmitrii Gridin 7891b025a5 [LL FIR] FirLazyAnnotationTransformer: add missing compiler annotation
^KT-57424
2023-03-20 18:45:09 +00:00
Leonid Startsev 6ee20574e1 Correctly handle @Repeatable @SerialInfo annotations on classes
that were affected by deduplication of inherited serial info annotations.

Prohibit combination of @InheritableSerialInfo and @Repeatable.

Fixes https://github.com/Kotlin/kotlinx.serialization/issues/2099
2023-03-20 18:15:09 +00:00
Nikolay Krasko 8b12b3f18d Minor: remove code from top-level and move to task configurations 2023-03-20 17:58:15 +00:00
Nikolay Krasko 78b339a52b Fix configuration cache for Test Generation tasks
It's not allowed `project` during the execution. But removing
project doesn't change the result anyway.

KTI-1092
2023-03-20 17:58:15 +00:00
Svyatoslav Kuzmich 1b7c63bd49 [Wasm] Fix js interop closure signature
Before we used IrType.render() which is not unique.
This changes adds a proper serialization of adapter signature to string.
2023-03-20 15:16:00 +00:00
Mikhail Glukhikh e99b453816 Restore binary compatibility of BinaryVersion #KT-56119 Fixed 2023-03-20 14:50:15 +00:00
Dmitrii Gridin 0863e9c589 [Test] Add testdata of LL Fir tests to Test Helper plugin path 2023-03-20 15:06:15 +01:00
Pavel Punegov 56cd550e27 [K/N][test] Remove old lldb tests that were replaced in the new infra
These tests were replaced by the 842a66c3 and now located
in :native:native.tests project

Merge-request: KT-MR-9256
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2023-03-20 13:56:42 +00:00
Svyatoslav Scherbina 2233164296 Bump Kotlin/Native version to 1.9.0-dev-3826 2023-03-20 13:14:27 +00:00
Sebastian Sellmair 4039ccbb05 [Tests] Use custom test tasks instead of gradle test suites for kgp functionalTests
^KT-57380 Verification Pending
2023-03-20 12:29:51 +00:00
Pavel Punegov 40270a9c72 [K/N][test] Update LLDB tests with function references
After the fixes to function inlining tests revealed the problem with
debug info generated for inlined lambdas. See the ^KT-57365

Merge-request: KT-MR-9252
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2023-03-20 12:03:43 +00:00
Ilya Chernikov 0e77b67170 K2: implement correct check for ctors mapped from java
so the check is functionally the same as in K1.
#KT-57064 fixed
#KT-57065 fixed
One of the tests introduced here (javaMappedCtors) revealed an
additional issue, filed as KT-57368
2023-03-20 11:33:34 +00:00
nataliya.valtman 730502638a Dont call GC for every task 2023-03-20 11:33:03 +00:00
Mikhail Glukhikh a43a16b25b Delay ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound to 2.0
#KT-57395 Fixed
Related to KT-47986
2023-03-20 11:11:41 +00:00
Vladimir Sukharev 5ef62c8760 [K2/N] Replace K2 prefixes for test classes with Fir
Merge-request: KT-MR-9248
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-03-20 10:55:57 +00:00
Vsevolod Tolstopyatov 33d13474c5 Make EnumEntries implementation eager
* Addresses the recent design changes of the corresponding language feature
* Also rework JS/Wasm enumEntries implementation with the function that accepts array instead of fabric function


^KT-57318


Co-authored-by: Artem Kobzar <Artem.Kobzar@jetbrains.com>

Merge-request: KT-MR-9204
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
2023-03-20 10:18:28 +00:00
Artem Kobzar 7a79de6d16 [K/JS] Move JS IR box tests setup into separated function 2023-03-19 22:53:05 +00:00
Dmitriy Novozhilov d3200b2c65 Fix line breaks in utility script for bootstrap update 2023-03-18 00:45:32 +02:00
Dmitriy Novozhilov 7a25e885b1 Advance bootstrap to 1.9.0-dev-3768 2023-03-18 00:44:36 +02:00
Dmitriy Novozhilov 16a46fbc0b [FIR] Reformat RawFirBuilder.kt 2023-03-17 18:51:48 +00:00
Dmitriy Novozhilov 16872f7a74 [FIR] Create this reference for getValue calls in delegates with proper type
^KT-57288 Fixed
2023-03-17 18:51:47 +00:00
Denis.Zharkov 823c60a7dc K2: Fix false-positive UNSAFE_CALL on safe call with flexible type alias
The idea of the fix is just unwrapping flexible version of type alias,
before creating a not-nullable version for safe-call subject.

Otherwise, it was remained to be JsExpressionResult after applying
makeConeTypeDefinitelyNotNullOrNotNull (and the type is still nullable)

^KT-57190 Fixed
2023-03-17 16:27:29 +00:00
Yan Zhulanow bf977d4262 [LL API] Don't invalidate 'LLFirResolvableResolveSession' on OOBs 2023-03-17 15:27:06 +00:00
Mikhail Glukhikh e8232a7572 FE: add one more test related to KT-56511 with the relevant feature ON 2023-03-17 14:57:41 +00:00
Mikhail Glukhikh 41c868445c K1: introduce smartcast deprecation for a public API property in invisible class
#KT-56511 Fixed
Related to KT-57290
2023-03-17 14:57:40 +00:00