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
Nikolay Lunyak
f94c795b5b
[FIR] KT-55552: Report type mismatch for delegated properties
...
^KT-55552 Fixed
2023-05-17 12:44:52 +00:00
Nikolay Lunyak
81d955a712
[FIR] KT-55552: Ensure type mismatch is missing
2023-05-17 12:44:52 +00:00
Sergej Jaskiewicz
56f977f70c
[IR] Don't render facade classes in JVM fq-names in irText tests
...
This makes the tests more compatible with non-JVM backends
(see KT-58605)
2023-05-17 12:43:35 +00:00
vladislav.grechko
a5e0a937d6
Do not dump header of IrInlinedFunctionBlock twice
...
Otherwise, incorrect dump is produced:
INLINED_BLOCK
inlinedElement
INLINED_BLOCK
statements
instead of:
INLINED_BLOCK
inlinedElement
statements
2023-05-17 11:41:53 +00:00
Simon Ogorodnik
3e6b42083b
FIR: Fix leakage of type variables in builder inference for lambdas returning Unit
...
When BI/incomplete call is present in return argument, it will be
added to the main call-tree, leading to requirement violation in
`ConstraintSystemCompleter.getOrderedAllTypeVariables`
as after `FirBuilderInferenceSession.inferPostponedVariables` it will
be completed, and its type variables couldn't be found anymore
In K1, we actually do the same, but we are able to find type variables
of such calls due to architecture difference:
In K2, `getOrderedAllTypeVariables` uses FIR as the main source to
lookup
In K1, `getOrderedAllTypeVariables` uses resolution atom tree, where
candidate/CS of the call is still available after
`inferPostponedVariables`
In fact, all incomplete calls were analyzed in FULL mode according to
the contract of `FirBuilderInferenceSession.addPartiallyResolvedCall`.
Thus, it means we normally shouldn't add them to the main call-tree, but
accidentally do it as incomplete calls contain non-completed candidate
This particular commit addresses the problem partially, only
in cases when the expected return type for the lambda is Unit and when
the incomplete call is located in the last expression of the lambda
In such cases, we can skip the call from the last expression completely,
since all potential calls there were analyzed in FULL mode,
and couldn't introduce any useful info to the CS of the main call-tree
^KT-54294
2023-05-17 10:50:36 +00:00
Dmitrii Gridin
ae1622d059
[LL FIR] support lazy resolve for fake override declarations
...
^KT-58727 Fixed
2023-05-17 09:51:21 +00:00
Dmitrii Gridin
4472e1ae4e
[AA FIR] add tests on implicit type in delegated scope
...
^KT-58727
2023-05-17 09:51:21 +00:00
Vladimir Sukharev
6a8981372b
[K2/N] Read KDoc strings from LightTree nodes
...
^KT-56090
Merge-request: KT-MR-9613
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-05-17 08:12:39 +00:00