Commit Graph

101292 Commits

Author SHA1 Message Date
Dmitriy Novozhilov b19116d3af [FIR] Provide implementation of ExpectActualMatchingContext for FIR
^KT-58578
2023-05-19 10:19:17 +00:00
Dmitriy Novozhilov 8338370fbd [FE 1.0] Provide implementation of ExpectActualMatchingContext for FE 1.0
^KT-58578
2023-05-19 10:19:17 +00:00
Dmitriy Novozhilov b26b649d4e [FE] Introduce commonized version of expect/actual compatibility calculator
This is needed to use the same code for those checks between
  both frontends and backend

^KT-58578
2023-05-19 10:19:17 +00:00
Dmitriy Novozhilov 2c2f12d9ac [FIR] Slightly reformat FirFunctionSymbol.kt 2023-05-19 10:19:17 +00:00
Michael Knudson 067456c052 Clarify error message for abstract property in primary constructor 2023-05-19 09:40:49 +00:00
Dmitrii Gridin 16214e01d1 [LL FIR] do not process member declarations during expect-actual phase
^KT-56551
2023-05-19 09:26:43 +00:00
Dmitrii Gridin 76b9cc6a04 [LL FIR] add lazy resolve test on expect-actual phase
^KT-56551
2023-05-19 09:26:43 +00:00
Dmitrii Gridin 14b28ba99b [LL FIR] drop redundant lazy resolve to imports phase
Also, createTowerDataContext now uses cache

^KT-56551
2023-05-19 09:22:22 +00:00
Dmitrii Gridin 81ff3916e6 [LL FIR] resolve file to import phase only under lock
^KT-56551
2023-05-19 09:22:21 +00:00
Dmitrii Krasnov 8e3469f220 added mpp platform values into AllowedListAnonymizer for statistics
#KT-58104 InProgress
2023-05-19 06:41:52 +00:00
Ivan Kylchik e0e1d57120 [IR] Check object init was called in case of name interpretation
#KT-58717 Fixed
2023-05-18 18:16:54 +00:00
Ivan Kylchik e5c45a4e51 [IR] Move extension val property into Utils for interpreter 2023-05-18 18:16:54 +00:00
Ivan Kylchik 70560fc3eb [IR] Handle each interpreter checker one by one
This wy we can interpret all expressions like `A::a.name` at first and
after that evaluate all complex expressions like
`A::a.name + A::b.name`.
2023-05-18 18:16:54 +00:00
Ivan Kylchik e58e20fc7b [IR] Add special preprocessors for ir interpreter
These preprocessors allow us to modify IR at first and only after that
try to evaluate. With this we can drop `KCallableNamePropertyLowering`.
2023-05-18 18:16:54 +00:00
Ivan Kylchik c8371a339f [IR] Create common interface for all interpreter checkers 2023-05-18 18:16:54 +00:00
Ivan Kylchik 82a111250b [IR] Drop excess containingDeclaration parameter from IR checker 2023-05-18 18:16:54 +00:00
Ivan Kylchik 1fd8ef801e [IR] Create special checker that will analyze name methods
We can insert all this logic into `IrCompileTimeChecker` but it is
a little bit specific and looks like it is nicer to just extract it.
2023-05-18 18:16:54 +00:00
Ivan Kylchik 104ac4bd69 [IR] Move IR interpreter transformers into separate package 2023-05-18 18:16:53 +00:00
Ivan Kylchik b779dc5d27 [IR] Drop all explicit usages of EvaluationMode from interpreter checker 2023-05-18 18:16:53 +00:00
Ivan Kylchik e3fa342d5c [IR] Drop WITH_ANNOTATIONS evaluation mode in interpreter
This is old mode, that was used mainly in prototype phase
2023-05-18 18:16:53 +00:00
Ivan Kylchik 535806d0ab [K2] Force interpretation of default argument for annotation's property
We miss these expression because they might be represented as
`IrGetFiled` values, but they still must be turned into `IrConst`.

#KT-58007 Fixed
2023-05-18 18:16:53 +00:00
Yahor Berdnikau 37402336d5 [Gradle] Fix compiler plugins options were not passed to KaptGenerateStubs task
^KT-58745 Fixed
2023-05-18 14:55:16 +00:00
Sergej Jaskiewicz 5f5b32b8ae [IR] Add kdocs for IrSymbol-related classes and interfaces 2023-05-18 12:19:52 +00:00
Sergej Jaskiewicz e473eaa5d6 [IR] Give generic parameters proper names in IrSymbol-related classes
Single-letter names were very confusing, especially in declarations like

```kotlin
private inline fun <
        reified D : IrDeclaration,
        reified ES : IrDelegatingSymbol<AS, D, *>,
        reified AS : IrBindableSymbol<*, D>
        > finalizeExpectActual(
    expectSymbol: ES,
    actualSymbol: IrSymbol,
    noinline actualizer: (e: D, a: D) -> Unit
)
```
2023-05-18 12:19:52 +00:00
Pavel Kirpichenkov 88d68f77e5 [LL FIR] Temporarily stub common FIR session factory with JVM
A measure to not break tests until common session factory impl is ready

KT-58769
2023-05-18 09:48:40 +00:00
Pavel Kirpichenkov 2a79643dcf [LL FIR] introduce platform-aware LL FIR session factories
KT-58769
2023-05-18 09:48:40 +00:00
Aleksei.Cherepanov e11f7daae4 Disable JvmTargetDefaultSubstitutor
Disable JvmTargetDefaultSubstitutor as far as minimal supported jvmTarget version is 1.8

#KTIJ-25445 Fixed
2023-05-17 21:47:21 +00:00
Alexander.Likhachev 3273ee4519 [Build, IGS] Add a plugin-switch property
The plugin is not being actually applied until the `kotlin.build.internal.gradle.setup` property is explicitly set to enable the plugin logic.
#KTI-1223 Fixed
2023-05-17 19:36:15 +00:00
Alexander.Likhachev b304f54d80 [Build] Apply InternalGradleSetupSettingsPlugin at first
#KTI-1223 In Progress
2023-05-17 19:36:15 +00:00
Alexander.Likhachev ecbf5abb81 [Build, IGS] Don't run a separate thread as it leads to problems with user input
#KTI-1223 In Progress
2023-05-17 19:36:15 +00:00
Alexander.Likhachev 1e583d2946 [Build, IGS] Add logging to InternalGradleSetupSettingsPlugin
#KTI-1223 In Progress
2023-05-17 19:36:15 +00:00
Alexander.Likhachev 2a634ead6f [Build, IGS] Specify the used value in the case of a property override
#KTI-1223 In Progress
2023-05-17 19:36:15 +00:00
Alexander.Likhachev cf03863b65 [Build, IGS] Ignore non-existing keys during setup file parsing
#KTI-1223 In Progress
2023-05-17 19:36:15 +00:00
Alexander.Likhachev ea38cfebf2 [Build, IGS] Implement InternalGradleSetupSettingsPlugin
#KTI-1223 In Progress
2023-05-17 19:36:15 +00:00
Alexander.Likhachev f04f1d18c4 [Build, IGS] Implement ConsentManager
#KTI-1223 In Progress
2023-05-17 19:36:14 +00:00
Alexander.Likhachev 6804d0a0af [Build, IGS] Implement LocalPropertiesModifier
#KTI-1223 In Progress
2023-05-17 19:36:14 +00:00
Alexander.Likhachev e30b72fa8f [Build, IGS] Deserialize setup json using kotlinx-serialization-json
#KTI-1223 In Progress
2023-05-17 19:36:14 +00:00
Alexander.Likhachev 188203197b [Build] Add internal-gradle-setup settings plugin
#KTI-1223 In Progress
2023-05-17 19:36:14 +00:00
Alexander.Likhachev e8ab063dc9 Use uppercase() instead of uppercase(Locale) in CliJavaModuleFinder
It follows the 877438b1f3 commit removing LV/AV limits for the module and it needed to avoid, for example, cases when `i` is being uppercased to `İ` in the `TR` locale
2023-05-17 19:34:40 +00:00
Alexander.Likhachev 169ef4874f [Build] Enable checks of the build tools API on CI
At the moment, the only check is the binary compatibility check
#KT-58479 Fixed
2023-05-17 18:57:11 +00:00
Yahor Berdnikau c14bb499e1 [Gradle] Update Duckduckgo regression benchmark 2023-05-17 18:22:47 +00:00
Yahor Berdnikau 7f0ecb0fc1 [Gradle] Update KVision regression benchmark 2023-05-17 18:22:47 +00:00
Yahor Berdnikau 1369183d36 [Gradle] Update graphql-kotlin benchmark 2023-05-17 18:22:46 +00:00
Artem Daugel-Dauge ca0b0e61e8 [Gradle] Add workarounds in CocoaPods plugin for compatibility with Xcode 14.3
Raise deployment target for 3rd-party pods if it's less then minimal supported by the new Xcode

^KT-57539 Verification Pending
2023-05-17 16:02:14 +00:00
Artem Daugel-Dauge f7acbb5252 [Gradle] Explicitly forbid an interop-binding self-dependency in CocoaPods plugin 2023-05-17 15:58:14 +00:00
Egor Kulikov bff1520c9e [FIR] Resolve where subjects to corresponding type argument
^KTIJ-25295 fixed

Merge-request: KT-MR-10044
Merged-by: Egor Kulikov <Egor.Kulikov@jetbrains.com>
2023-05-17 15:28:02 +00:00
Ilya Goncharov bcefa1cd66 [Gradle, Wasm] Add wasm platform kind
KTIJ-25583
2023-05-17 13:28:20 +00:00
Ilya Kirillov 04cb217791 Fix binary compatibility of KtPsiFactory.contextual
^KTIJ-25307 fixed
2023-05-17 13:09:45 +00:00
Vladimir Dolzhenko 4a1552e907 Use nameSequence instead of file extensions to reduce memory allocations
#KTIJ-25470
2023-05-17 12:45:19 +00:00
Vladimir Dolzhenko 37c493f593 Add missed DOT_DEFAULT_EXTENSION
#KTIJ-25470
2023-05-17 12:45:19 +00:00