- Remove 'Target' name from hierarchy components as in
- KotlinTargetHierarchyBuilder -> KotlinHierarchyBuilder
- KotlinTargetHierarchyDsl -> KotlinHierarchyDsl
- Rename KotlinTargetHierarchyDescriptor -> KotlinHierarchyTemplate
To convey a better intuition about the 'template' vs 'layout' separation:
A 'template' is used to 'layout' the actual 'hierarchy' on a given project.
- Move entities from .mpp.targetHierarchy to .hierarchy package
As the .targetHierarchy package was using the 'target' term as well
- Rename SourceSetTree to KotlinSourceSetTree
- Rename SourceSetTreeClassifier to KotlinSourceSetTreeClassifier
(Support external target APIs by introducing a V2 api version)
^KT-58676 In Progress
- Actualize muted K2 tests
- Actualize muted K1 tests with module systems because legacy Wasm test
infra had no respect for "// MODULE: ..." test directives
We need to transform call from `KFunction(N).name` to
`KFunction(N+1).name`. This way we keep IR correct and if something
goes wrong during interpretation, we still will have compilable code.
This commit suppose to fix three failing tests on Native aggregate
build:
1. `FirNativePartialLinkageTestGenerated.
testReferencingUnusableDeclarations`
2. `FirNativeCodegenBoxTestGenerated$Box$CallableReference$Bound.
testKCallableNameIntrinsic`
3. `FirNativeCodegenBoxTestNoPLGenerated$Box$CallableReference$Bound
.testKCallableNameIntrinsic`
It is abstract if it has abstract member.
It is final if it doesn't have enum entries that need subclass.
Otherwise, it is open (i.e., no modifier)
^KT-57567 Fixed
Namely, once a file in a package `foo` has import `foo.bar as baz`,
auto imported `bar` from the package name becomes inivisible in the file
^KT-54854 Fixed
...because it can be null if an anonymous object is returned as a value
of reified inline function, which isn't materialized as LC element.
^KT-59537 Fixed
- Due to the fixes for KTIJ-23584, when calling the UAST conversion
`convertDeclarationOrElement` from `BaseKotlinConverter` (intellij
project) for an SLC/ULC property, `convertDeclaration` failed because
the declaration is "special". This caused `convertPsiElement` to be
tried instead, which also returned `null`, causing the "failed to
convert element" exception described in KTIJ-25335.
- In parallel to the solution for KTIJ-23584, which fixed the special
names issue for functions, this commit skips UAST field generation for
properties with special names.
^KTIJ-25335 fixed
^KTIJ-24121 fixed
When reporting INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION, search
for a call to a declaration with the type parameter that got inferred
into an empty intersection inside the expression.
#KT-56377 Fixed