FIR: Replace trivial usages of ConeClassType with ConeClassLikeType
This commit is contained in:
@@ -633,7 +633,7 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
|
||||
+")"
|
||||
}
|
||||
|
||||
private fun FlowContent.generate(type: ConeClassType) {
|
||||
private fun FlowContent.generate(type: ConeClassLikeType) {
|
||||
resolved {
|
||||
symbolRef(type.lookupTag.toSymbol(session)) {
|
||||
fqn(type.lookupTag.classId.relativeClassName)
|
||||
@@ -719,7 +719,7 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
|
||||
private fun FlowContent.generate(type: ConeKotlinType) {
|
||||
when (type) {
|
||||
is ConeClassErrorType -> error { +type.reason }
|
||||
is ConeClassType -> generate(type)
|
||||
is ConeClassLikeType -> generate(type)
|
||||
is ConeAbbreviatedType -> resolved {
|
||||
symbolRef(type.abbreviationLookupTag.toSymbol(session)) {
|
||||
simpleName(type.abbreviationLookupTag.name)
|
||||
|
||||
@@ -28,7 +28,7 @@ class JavaOverrideChecker internal constructor(
|
||||
private fun isEqualTypes(candidateType: ConeKotlinType, baseType: ConeKotlinType, substitutor: ConeSubstitutor): Boolean {
|
||||
if (candidateType is ConeFlexibleType) return isEqualTypes(candidateType.lowerBound, baseType, substitutor)
|
||||
if (baseType is ConeFlexibleType) return isEqualTypes(candidateType, baseType.lowerBound, substitutor)
|
||||
return if (candidateType is ConeClassType && baseType is ConeClassType) {
|
||||
return if (candidateType is ConeClassLikeType && baseType is ConeClassLikeType) {
|
||||
candidateType.lookupTag.classId.let { it.readOnlyToMutable() ?: it } == baseType.lookupTag.classId.let { it.readOnlyToMutable() ?: it }
|
||||
} else {
|
||||
with(context) {
|
||||
@@ -85,4 +85,4 @@ class JavaOverrideChecker internal constructor(
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,10 @@ import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
||||
@@ -46,7 +49,7 @@ class FirSamResolverImpl(
|
||||
|
||||
override fun getFunctionTypeForPossibleSamType(type: ConeKotlinType): ConeKotlinType? {
|
||||
return when (type) {
|
||||
is ConeClassType -> getFunctionTypeForPossibleSamType(type)
|
||||
is ConeClassLikeType -> getFunctionTypeForPossibleSamType(type)
|
||||
is ConeFlexibleType -> ConeFlexibleType(
|
||||
getFunctionTypeForPossibleSamType(type.lowerBound) ?: return null,
|
||||
getFunctionTypeForPossibleSamType(type.upperBound) ?: return null
|
||||
@@ -60,7 +63,7 @@ class FirSamResolverImpl(
|
||||
}
|
||||
}
|
||||
|
||||
private fun getFunctionTypeForPossibleSamType(type: ConeClassType): ConeLookupTagBasedType? {
|
||||
private fun getFunctionTypeForPossibleSamType(type: ConeClassLikeType): ConeLookupTagBasedType? {
|
||||
val firRegularClass =
|
||||
firSession.firSymbolProvider
|
||||
.getSymbolByLookupTag(type.lookupTag)
|
||||
|
||||
+3
-3
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeClassType
|
||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||
import org.jetbrains.kotlin.fir.types.ConeStarProjection
|
||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -219,11 +219,11 @@ class ExplicitReceiverTowerDataConsumer<T : AbstractFirBasedSymbol<*>>(
|
||||
): ProcessorAction {
|
||||
if (symbol is FirNamedFunctionSymbol && symbol.callableId.packageName.startsWith(defaultPackage)) {
|
||||
val explicitReceiverType = explicitReceiver.type
|
||||
if (dispatchReceiverValue == null && explicitReceiverType is ConeClassType) {
|
||||
if (dispatchReceiverValue == null && explicitReceiverType is ConeClassLikeType) {
|
||||
val declarationReceiverTypeRef =
|
||||
(symbol as? FirCallableSymbol<*>)?.fir?.receiverTypeRef as? FirResolvedTypeRef
|
||||
val declarationReceiverType = declarationReceiverTypeRef?.type
|
||||
if (declarationReceiverType is ConeClassType) {
|
||||
if (declarationReceiverType is ConeClassLikeType) {
|
||||
if (!AbstractTypeChecker.isSubtypeOf(
|
||||
candidateFactory.bodyResolveComponents.inferenceComponents.ctx,
|
||||
explicitReceiverType,
|
||||
|
||||
+7
-3
@@ -8,14 +8,18 @@ package org.jetbrains.kotlin.fir.resolve.impl
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.resolve.*
|
||||
import org.jetbrains.kotlin.fir.resolve.FirQualifierResolver
|
||||
import org.jetbrains.kotlin.fir.resolve.FirTypeResolver
|
||||
import org.jetbrains.kotlin.fir.resolve.constructType
|
||||
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitBuiltinTypeRef
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
|
||||
class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver {
|
||||
@@ -83,7 +87,7 @@ class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver {
|
||||
}
|
||||
|
||||
|
||||
private fun createFunctionalType(typeRef: FirFunctionTypeRef): ConeClassType {
|
||||
private fun createFunctionalType(typeRef: FirFunctionTypeRef): ConeClassLikeType {
|
||||
val parameters =
|
||||
listOfNotNull((typeRef.receiverTypeRef as FirResolvedTypeRef?)?.type) +
|
||||
typeRef.valueParameters.map { it.returnTypeRef.coneTypeUnsafe<ConeKotlinType>() } +
|
||||
|
||||
+2
-2
@@ -303,7 +303,7 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() {
|
||||
private fun visitArguments(arguments: List<FirExpression>, data: StringBuilder) {
|
||||
arguments.joinTo(data, ", ", "(", ")") {
|
||||
if (it is FirResolvedQualifier) {
|
||||
val lookupTag = (it.typeRef as FirResolvedTypeRefImpl).coneTypeSafe<ConeClassType>()?.lookupTag
|
||||
val lookupTag = (it.typeRef as FirResolvedTypeRefImpl).coneTypeSafe<ConeClassLikeType>()?.lookupTag
|
||||
val type = lookupTag?.let {
|
||||
(symbolProvider.getSymbolByLookupTag(it)?.fir as? FirClass)?.superTypeRefs?.first()?.render()
|
||||
}
|
||||
@@ -351,7 +351,7 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() {
|
||||
if (valueParameter.isVararg) {
|
||||
data.append("vararg ")
|
||||
}
|
||||
valueParameter.returnTypeRef.coneTypeSafe<ConeClassType>()?.arrayElementType(session)?.let { data.append(it.render()) }
|
||||
valueParameter.returnTypeRef.coneTypeSafe<ConeClassLikeType>()?.arrayElementType(session)?.let { data.append(it.render()) }
|
||||
?: valueParameter.returnTypeRef.accept(this, data)
|
||||
valueParameter.defaultValue?.let { data.append(" = ...") }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user