[FIR] Refactor: rename function

This commit is contained in:
Dmitriy Novozhilov
2022-11-09 10:17:33 +02:00
committed by Space Team
parent 07567d6748
commit 82c39187f6
3 changed files with 6 additions and 8 deletions
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.analysis.api.fir.types.PublicTypeApproximator
import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.types.KtTypeMappingMode
import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion
import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade
import org.jetbrains.kotlin.asJava.elements.KtLightElement
import org.jetbrains.kotlin.codegen.signature.BothSignatureWriter
@@ -27,7 +26,6 @@ import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.java.JavaVisibilities
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.analysis.checkers.toRegularClassSymbol
import org.jetbrains.kotlin.fir.backend.jvm.jvmTypeMapper
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
import org.jetbrains.kotlin.fir.resolve.substitution.AbstractConeSubstitutor
@@ -114,7 +112,7 @@ private fun ConeKotlinType.needLocalTypeApproximation(
session: FirSession,
useSitePosition: PsiElement
): Boolean {
if (!shouldHideLocalType(visibilityForApproximation, isInlineFunction)) return false
if (!shouldApproximateLocalTypesOfNonLocalDeclaration(visibilityForApproximation, isInlineFunction)) return false
val localTypes: List<ConeKotlinType> = if (isLocal(session)) listOf(this) else {
typeArguments.mapNotNull {
if (it is ConeKotlinTypeProjection && it.type.isLocal(session)) {
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.utils.isInline
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousObjectSymbol
import org.jetbrains.kotlin.fir.types.coneType
import org.jetbrains.kotlin.fir.types.shouldHideLocalType
import org.jetbrains.kotlin.fir.types.shouldApproximateLocalTypesOfNonLocalDeclaration
import org.jetbrains.kotlin.fir.types.toSymbol
import org.jetbrains.kotlin.fir.types.visibilityForApproximation
@@ -23,7 +23,7 @@ object FirAmbiguousAnonymousTypeChecker : FirBasicDeclarationChecker() {
require(declaration is FirCallableDeclaration)
if (context.containingDeclarations.any { it.isLocalMember || it is FirAnonymousObject }) return
if (!shouldHideLocalType(
if (!shouldApproximateLocalTypesOfNonLocalDeclaration(
declaration.visibilityForApproximation(context.containingDeclarations.lastOrNull()),
declaration.isInline
)
@@ -42,4 +42,4 @@ object FirAmbiguousAnonymousTypeChecker : FirBasicDeclarationChecker() {
)
}
}
}
}
@@ -385,7 +385,7 @@ private fun FirTypeRef.hideLocalTypeIfNeeded(
session: FirSession,
isInlineFunction: Boolean = false
): FirTypeRef {
if (this !is FirResolvedTypeRef || !shouldHideLocalType(containingCallableVisibility, isInlineFunction)) return this
if (this !is FirResolvedTypeRef || !shouldApproximateLocalTypesOfNonLocalDeclaration(containingCallableVisibility, isInlineFunction)) return this
return withReplacedConeType(type.approximateToOnlySupertype(session))
}
@@ -425,7 +425,7 @@ private fun ConeKotlinType.approximateToOnlySupertype(session: FirSession): Cone
return result
}
fun shouldHideLocalType(containingCallableVisibility: Visibility?, isInlineFunction: Boolean): Boolean {
fun shouldApproximateLocalTypesOfNonLocalDeclaration(containingCallableVisibility: Visibility?, isInlineFunction: Boolean): Boolean {
if (containingCallableVisibility == null) {
return false
}