This way inheritors of such class would be able to override category
members the same way they can in Objective-C. Also, API surface of
interop libraries should become a little more stable.
To avoid adding unnecessary included categories to index, we need
to track their location. Also, we can't just implement TypeDeclaration
interface because category is not a type. Thus, we extract `location`
property from TypeDeclaration to LocatableDeclaration and implement it
in ObjCCategory.
It allows to list Objective-C classes that should include
corresponding categories from the same file.
The current implementation is super-simple and slow, but
it is OK since it is not intended to be a general-purpose
solution for now.
If inline function A calls another inline function B,
we must use the original version of inline function A for inlining,
which doesn’t have inlined function B. Because during the inlining
process, we remap all occurrences of inline function A
to a temporary copy of function A, and if the function B
somehow uses function A (e.g. callable reference),
the built IR will have a reference to the temporary function,
not the original one. All these things lead to broken cross-module references.
This patch saves the original versions of all inline functions
before inlining and provides them during the inline process.
^KT-55930 Fixed
add the hack to project environment creation, instead of compliation
call sites, covers missing scenarions with maven scripting and K@ now
and should help to avoid problems in the future.
#KT-54461 fixed
combination of laziness in AetherResolveSession and possibly
async-modifiable repos collection in MavenDependenciesResolver
may lead to the CME.
#KT-54733 fixed
Now the plugin-related compiler arguments are respected then used in
the compiler configuration (only in the static part, not supported
if set in a refinement callback)
Note that the "embeddable" version of the plugin should be used if
embeddable compiler is used.
#KT-54095 fixed
Previously, the exceptions from ValueWithPostCompute was saved in cache and rethrown.
This was needed to avoid multiple heavy calculation which will be still uncecessfull.
Currently we do not have much of such exceptions and such thing may break perf test
by throwing exceptions from old test invocation
It seems to be safe as we modify the caches atomically by updating LLFirSessionsCache.mappings.
So, PCE during project structure creation, should not break the caches
^KTIJ-24012 fixed
Each AGP version has its own compatible Gradle versions range. This commit adds additional version requirements for tests to respect AGP limitations
#KT-52998 In Progress
Each AGP version has its own compatible Gradle versions range. This commit adds additional version requirements for tests to respect AGP limitations
#KT-52998 In Progress