Commit Graph

101302 Commits

Author SHA1 Message Date
Ilya Kirillov 950a32901c [Analysis API FIR] refactoring, remove duplicated code from KtFir(Non)StarImporting scope
use base class implementation instead.
2023-05-19 11:53:15 +00:00
Ilya Kirillov 55bbc5eb02 [Analysis API FIR] refactoring, extract base part of KtFirDelegatingScope into a separate class
For further reuse
2023-05-19 11:53:15 +00:00
Ilya Kirillov 41976a2932 [Analysis API] optimize scope members processing when a candidate name set is known
Use KtScope.getCallableSymbols/getClassifier symbols overloads which accept a candidate name set.

^KT-58653
2023-05-19 11:53:15 +00:00
Ilya Kirillov 29be88e3c9 [Analysis API] add KtScope.getCallableSymbols/getClassifier symbols overloads which accept a candidate name set
This is needed for the cases when a candidate name set is known
 to avoid retrieving a set with all possible names when processing the scope.

^KT-58653 fixed
2023-05-19 11:53:15 +00:00
Kirill Rakhman aacdfb67c6 [Stubs] Bump stubs version
#KT-58786
2023-05-19 11:50:40 +00:00
Kirill Rakhman 47b8fd7e0c [AA] Mute tests related to decompilation of aliased types from stubs
#KT-58786
2023-05-19 11:50:40 +00:00
Kirill Rakhman 8f447e5b78 Revert "[AA] Deserialize reference to typealias from stubs as fully expanded"
This reverts commit 3c22b1ce53.

#KT-58335
#KT-58786
2023-05-19 11:50:40 +00:00
Vladimir Sukharev 363c56e226 [K2/N] Export C adapters for non-root packages
^KT-56182

Merge-request: KT-MR-10160
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-05-19 11:40:59 +00:00
Sergey Bogolepov c57c34525f [K/N] KT-58562: Implement frontend checkers for HiddenFromObjC on classes 2023-05-19 11:33:17 +00:00
Ilmir Usmanov f3a22e0ac4 Warn about suspend extension functional types as supertypes
They will become error in 2.0

 #KT-58529 Fixed
 #KT-49175 Fixed
2023-05-19 12:41:37 +02:00
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