After the KT-61568 has been fixed, `isInBestCandidates`
correctly works in more cases, and can be more
reliably used in `KtFirReferenceShortener`
^KTIJ-26808 Fixed
^KTIJ-26840 Fixed
- Move std_alloc, opt_alloc and custom_alloc into alloc/std,
alloc/mimalloc and alloc/custom to mirror convention of gc,
gcScheduler modules.
- Add alloc/common with common allocator API
- Add alloc/legacy with common implementation details of alloc/std and
alloc/mimalloc. alloc/custom does not depend on alloc/legacy.
- Removes experimental_memory_manager_custom as it's now unused
- Additionally, renames experimental_memory_manager module into mm
Create a nested hash map with names as keys that are easier to compute
than the whole `Key`. It helps to substantially reduce the number of
computed FqName instances, since intrinsics are queried on generation of
each call.
Also put intrinsic query a bit lower in SyntheticAccessorLowering, after
operations which are easier to compute.
This commit is needed for adding targetPlatform serialization for Kotlin Facet Settings Workspace Model on IJ side
Merge-request: KT-MR-11953
Merged-by: Aleksei Cherepanov <aleksei.cherepanov@jetbrains.com>
I don't really know which exact commit fixed this test, but there was
a problem with return types of delegated members. Before my changes
delegated `override fun foo(x: Int)` in `actual class E` had error
return type and now it has correct type `Int`
Group methods of Fir2IrClassifierStorage and Fir2IrClassifiersGenerator
by types of declarations they are working with.
This commit contains nothing but just moving code in borders of the same file
This commit just moves methods which create IR callable declarations
from Fir2IrClassifierStorage to newly created Fir2IrClassifiersGenerator
Code in generators contains some errors (mostly because it refers to the
logic of caching created declaration), and those errors will be fixed
in the following commits
Group methods of Fir2IrDeclarationStorage and Fir2IrCallableDeclarationsGenerator
by types of declarations they are working with.
This commit contains nothing but just moving code in borders of the same file
Restore old behavior of forced creation of fake-overrides
This behavior semantically is not fully correct, because it ignores existed
f/o in storages and overwrites them, but replacing `createIr...` with
`getOrCreate...` leads to problems with f/o in actual classes
^KT-61513
This commit just moves methods, which create IR callable declarations
from Fir2IrDeclarationStorage to newly created Fir2IrCallableDeclarationsGenerator
and Fir2IrLazyDeclarationsGenerator without any modifications.
Code in generators contains some errors (mostly because it refers to the
logic of caching created declaration), and those errors will be fixed
in following commits
If a user has multiple kotlin-stdlib libraries in a project, all those stdlib libraries will contain builtins
which will result in resolution ambiguities.
To prevent such kind of ambiguities inside LLFirDependenciesSymbolProvider,
callables are grouped by facade class name.
Only matching callables from the first facade are used.
Facade is a Kotlin/JVM-term so right now it works only for JVM targets.
Builtins are also used in JVM, so the current solution is to have a Facade name also for builtins.
^KTIJ-26760
If a user has kotlin-stdlib in their project,
the IDE should resolve the builtin declarations to the kotlin-stdlib
instead of builtins from the Kotlin plugin.
^KTIJ-26760