- 01 3月, 2021 10 次提交
-
-
由 Mikhail Glukhikh 提交于
-
由 Tianyu Geng 提交于
-
由 Jinseong Jeon 提交于
-
由 Andrei Klunnyi 提交于
Compiler check for 'when' exhaustiveness requires that module descriptors of a sealed class and its inheritors are the same (reference identity matters). Prior to this commit and under some conditions they were not. Details follow below. Resolution related data structures (resolution facades) are organized into trees (sdks, libs, and modules have their own nodes/facades, module/class descriptors are stored inside). And the trees themselves are put into a map associating so called PlatformAnalysisSettings and GlobalFacades (plays a role of a root). PlatformAnalysisSettings is an abstraction describing target platform and sdk of a module. The more combinations exist for a project the more facades are used. Please, see KotlinCacheService for more details. So why a module can have multiple ModuleDescriptor-s? Every tree mentioned above is an isolated resolution environment containing its own instances of the outer world descriptors. Say, if a project has modules X, Y, Z and we consider X then all three might have their own vision of X, i.e. 3 descriptors exist at a time. What descriptor instance does compiler get? The path starts when the user opens a file in the editor and highlighting pass starts (see usages of ResolutionUtils#analyzeWithAllCompilerChecks). Module descriptor stored in the resolution tree of the file's module gets injected into the compiler's context. Starting from this moment compiler sees other modules through the prism of a single resolution facade (tree). Descriptors residing outside are alien. This commit allows IdeSealedClassInheritorsProvider to figure out what PlatformAnalysisSettings are associated with the resolution facade (read ModuleDescriptor) seen by the compiler. Later on the same facade is used to provide correct instances of sealed inheritors back to the compiler.
-
由 Roman Golyshev 提交于
The main purpose is to show that old frontend and FIR work differently in the case of the conflicts of local and top level classes/objects See the tests that marked with // IGNORE_FIR Corresponding ticket is ^KT-45192
-
由 anastasiia.spaseeva 提交于
-
由 anastasiia.spaseeva 提交于
-
由 Ilya Goncharov 提交于
-
由 Victor Turansky 提交于
[Details](https://youtrack.jetbrains.com/issue/KTOR-1084)
-
由 Victor Turansky 提交于
-
- 27 2月, 2021 2 次提交
-
-
由 Nikolay Krasko 提交于
#KT-44758 Fixed
-
由 anastasiia.spaseeva 提交于
-
- 26 2月, 2021 28 次提交
-
-
由 Vasily Levchenko 提交于
-
由 Stanislav Erokhin 提交于
-
由 Alexander Likhachev 提交于
Motivation is to make directory moving more likely atomic Relates to KT-39016
-
由 Alexander Likhachev 提交于
#KT-39016 Fixed
-
由 Yahor Berdnikau 提交于
Remove mistakenly added 'wait for debugger' flag.
-
由 Vasily Levchenko 提交于
-
由 Vasily Levchenko 提交于
-
由 Alexander Udalov 提交于
This reverts commit 073a5003. (cherry picked from commit eec98314)
-
由 Vasily Levchenko 提交于
-
由 Vasily Levchenko 提交于
-
由 Vasily Levchenko 提交于
(cherry picked from commit 947c3bd9)
-
由 Vasily Levchenko 提交于
-
由 Vasily Levchenko 提交于
-
由 Vasily Levchenko 提交于
- it isn't affected with kotlin.native.enable
-
由 Vasily Levchenko 提交于
-
由 Aleksei.Cherepanov 提交于
(cherry picked from commit 049045e5)
-
由 Vasily Levchenko 提交于
-
由 Vasily Levchenko 提交于
-
由 Pavel Punegov 提交于
-
由 Nikolay Krasko 提交于
(cherry picked from commit ec4ac192)
-
由 Nikolay Krasko 提交于
(cherry picked from commit 8a5987d8)
-
由 Nikolay Krasko 提交于
(cherry picked from commit d99a9c05)
-
由 Nikolay Krasko 提交于
(cherry picked from commit b1c740ca)
-
由 Vasily Levchenko 提交于
-
由 Vasily Levchenko 提交于
-
由 Vasily Levchenko 提交于
-
由 Vasily Levchenko 提交于
-
由 Vasily Levchenko 提交于
-