[FIR] Inherit expect modifier from outer classes

This commit is contained in:
Dmitriy Novozhilov
2021-06-01 12:23:54 +03:00
committed by teamcityserver
parent 18af4155b8
commit 3b2df7ade3
5 changed files with 60 additions and 42 deletions
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirDeclarationDesignation
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.hasExpectModifier
internal class RawFirNonLocalDeclarationBuilder private constructor(
session: FirSession,
@@ -123,7 +124,7 @@ internal class RawFirNonLocalDeclarationBuilder private constructor(
val classOrObject = parent.psi
check(classOrObject is KtClassOrObject)
withChildClassName(classOrObject.nameAsSafeName, false) {
withChildClassName(classOrObject.nameAsSafeName, isExpect = classOrObject.hasExpectModifier() || context.containerIsExpect) {
withCapturedTypeParameters(parent.isInner, parent.typeParameters.subList(0, classOrObject.typeParameters.size)) {
registerSelfType(classOrObject.toDelegatedSelfType(parent))
return moveNext(iterator, parent)