[FIR] Hack-in indirectly nested locals resolution

This commit is contained in:
Simon Ogorodnik
2021-07-28 20:49:22 +03:00
committed by Mikhail Glukhikh
parent 7422571c72
commit 8e890eba3e
7 changed files with 63 additions and 1 deletions
@@ -63,8 +63,12 @@ fun <F : FirClassLikeDeclaration> F.runContractAndBodiesResolutionForLocalClass(
localClassesNavigationInfo: LocalClassesNavigationInfo,
firTowerDataContextCollector: FirTowerDataContextCollector? = null
): F {
val prevDesignation =
(components.context.returnTypeCalculator as? ReturnTypeCalculatorWithJump)?.designationMapForLocalClasses ?: emptyMap()
val (designationMap, targetedClasses) = localClassesNavigationInfo.run {
designationMap to parentForClass.keys + this@runContractAndBodiesResolutionForLocalClass
(prevDesignation + designationMap) to
(parentForClass.keys + this@runContractAndBodiesResolutionForLocalClass) + components.context.targetedLocalClasses
}
val implicitBodyResolveComputationSession =