FIR: Rename ConeClassTypeImpl -> ConeClassLikeTypeImpl
This commit is contained in:
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.types.impl
|
||||
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
|
||||
open class ConeClassTypeImpl(
|
||||
open class ConeClassLikeTypeImpl(
|
||||
override val lookupTag: ConeClassLikeLookupTag,
|
||||
override val typeArguments: Array<out ConeKotlinTypeProjection>,
|
||||
isNullable: Boolean
|
||||
@@ -18,7 +18,7 @@ open class ConeClassTypeImpl(
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
|
||||
other as ConeClassTypeImpl
|
||||
other as ConeClassLikeTypeImpl
|
||||
|
||||
if (lookupTag != other.lookupTag) return false
|
||||
if (!typeArguments.contentEquals(other.typeArguments)) return false
|
||||
@@ -33,8 +33,6 @@ open class ConeClassTypeImpl(
|
||||
result = 31 * result + nullability.hashCode()
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
class ConeAbbreviatedTypeImpl(
|
||||
|
||||
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.toFirSourceElement
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.IrConstKind
|
||||
@@ -63,7 +63,7 @@ internal fun ClassId.toConeKotlinType(
|
||||
isNullable: Boolean
|
||||
): ConeLookupTagBasedType {
|
||||
val lookupTag = ConeClassLikeLookupTagImpl(this)
|
||||
return ConeClassTypeImpl(lookupTag, typeArguments, isNullable)
|
||||
return ConeClassLikeTypeImpl(lookupTag, typeArguments, isNullable)
|
||||
}
|
||||
|
||||
internal fun FirTypeRef.toNotNullConeKotlinType(
|
||||
@@ -180,7 +180,7 @@ internal fun JavaAnnotation.toFirAnnotationCall(
|
||||
source = null, useSiteTarget = null,
|
||||
annotationTypeRef = FirResolvedTypeRefImpl(
|
||||
source = null,
|
||||
type = ConeClassTypeImpl(FirRegularClassSymbol(classId!!).toLookupTag(), emptyArray(), isNullable = false)
|
||||
type = ConeClassLikeTypeImpl(FirRegularClassSymbol(classId!!).toLookupTag(), emptyArray(), isNullable = false)
|
||||
)
|
||||
).apply {
|
||||
for (argument in this@toFirAnnotationCall.arguments) {
|
||||
|
||||
+2
-2
@@ -1459,11 +1459,11 @@ class DeclarationsConverter(
|
||||
null,
|
||||
FirResolvedTypeRefImpl(
|
||||
null,
|
||||
ConeClassTypeImpl(
|
||||
ConeClassLikeTypeImpl(
|
||||
ConeClassLikeLookupTagImpl(ClassId.fromString(EXTENSION_FUNCTION_ANNOTATION)),
|
||||
emptyArray(),
|
||||
false
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.ConeTypeParameterType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.coneTypeSafe
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.IrConstKind
|
||||
@@ -158,7 +158,7 @@ abstract class BaseFirBuilder<T>(val session: FirSession, val context: Context =
|
||||
}
|
||||
return FirResolvedTypeRefImpl(
|
||||
this?.toFirSourceElement(),
|
||||
ConeClassTypeImpl(
|
||||
ConeClassLikeTypeImpl(
|
||||
firClass.symbol.toLookupTag(),
|
||||
typeParameters.map { ConeTypeParameterTypeImpl(it.symbol.toLookupTag(), false) }.toTypedArray(),
|
||||
false
|
||||
@@ -482,4 +482,4 @@ abstract class BaseFirBuilder<T>(val session: FirSession, val context: Context =
|
||||
lValue = initializeLValue(this@generateAssignment) { convert() as? FirQualifiedAccess }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitStringTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
@@ -40,10 +40,10 @@ fun FirModifiableRegularClass.generateValuesFunction(
|
||||
FirSimpleFunctionImpl(
|
||||
source, session,
|
||||
FirResolvedTypeRefImpl(
|
||||
source, ConeClassTypeImpl(
|
||||
source, ConeClassLikeTypeImpl(
|
||||
ConeClassLikeLookupTagImpl(StandardClassIds.Array),
|
||||
arrayOf(
|
||||
ConeClassTypeImpl(ConeClassLikeLookupTagImpl(this.symbol.classId), emptyArray(), isNullable = false)
|
||||
ConeClassLikeTypeImpl(ConeClassLikeLookupTagImpl(this.symbol.classId), emptyArray(), isNullable = false)
|
||||
),
|
||||
isNullable = false
|
||||
)
|
||||
@@ -66,7 +66,7 @@ fun FirModifiableRegularClass.generateValueOfFunction(
|
||||
FirSimpleFunctionImpl(
|
||||
source, session,
|
||||
FirResolvedTypeRefImpl(
|
||||
source, ConeClassTypeImpl(
|
||||
source, ConeClassLikeTypeImpl(
|
||||
ConeClassLikeLookupTagImpl(this.symbol.classId),
|
||||
emptyArray(),
|
||||
isNullable = false
|
||||
@@ -82,4 +82,4 @@ fun FirModifiableRegularClass.generateValueOfFunction(
|
||||
body = FirEmptyExpressionBlock()
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1376,7 +1376,7 @@ class RawFirBuilder(session: FirSession, val stubMode: Boolean) : BaseFirBuilder
|
||||
null,
|
||||
FirResolvedTypeRefImpl(
|
||||
null,
|
||||
ConeClassTypeImpl(
|
||||
ConeClassLikeTypeImpl(
|
||||
ConeClassLikeLookupTagImpl(ClassId.fromString(EXTENSION_FUNCTION_ANNOTATION)),
|
||||
emptyArray(),
|
||||
false
|
||||
|
||||
+2
-3
@@ -14,9 +14,8 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirEnumEntryImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirSealedClassImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
import org.jetbrains.kotlin.metadata.deserialization.Flags
|
||||
@@ -125,7 +124,7 @@ fun deserializeClassToSymbol(
|
||||
resolvePhase = FirResolvePhase.DECLARATIONS
|
||||
superTypeRefs += FirResolvedTypeRefImpl(
|
||||
null,
|
||||
ConeClassTypeImpl(ConeClassLikeLookupTagImpl(classId), emptyArray(), false)
|
||||
ConeClassLikeTypeImpl(ConeClassLikeLookupTagImpl(classId), emptyArray(), false)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+2
-3
@@ -6,7 +6,6 @@
|
||||
package org.jetbrains.kotlin.fir.deserialization
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
@@ -16,7 +15,7 @@ import org.jetbrains.kotlin.fir.expressions.impl.FirExpressionStub
|
||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
@@ -258,7 +257,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
||||
|
||||
val delegatedSelfType = FirResolvedTypeRefImpl(
|
||||
null,
|
||||
ConeClassTypeImpl(
|
||||
ConeClassLikeTypeImpl(
|
||||
klass.symbol.toLookupTag(),
|
||||
typeParameters.map { ConeTypeParameterTypeImpl(it.symbol.toLookupTag(), false) }.toTypedArray(),
|
||||
false
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeAbbreviatedTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
@@ -128,7 +128,7 @@ class FirTypeDeserializer(
|
||||
//createSuspendFunctionType(annotations, constructor, arguments, proto.nullable)
|
||||
ConeClassErrorType("createSuspendFunctionType not supported")
|
||||
} else {
|
||||
ConeClassTypeImpl(constructor, arguments, isNullable = proto.nullable)
|
||||
ConeClassLikeTypeImpl(constructor, arguments, isNullable = proto.nullable)
|
||||
}
|
||||
|
||||
val abbreviatedTypeProto = proto.abbreviatedType(typeTable) ?: return simpleType
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.ConeStarProjection
|
||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
|
||||
sealed class DoubleColonLHS(val type: ConeKotlinType) {
|
||||
/**
|
||||
@@ -146,7 +146,7 @@ class FirDoubleColonExpressionResolver(
|
||||
?.fir as? FirRegularClass
|
||||
?: return null
|
||||
|
||||
val type = ConeClassTypeImpl(
|
||||
val type = ConeClassLikeTypeImpl(
|
||||
firClass.symbol.toLookupTag(),
|
||||
Array(firClass.typeParameters.size) { ConeStarProjection },
|
||||
isNullable = false // TODO: Use org.jetbrains.kotlin.psi.KtDoubleColonExpression.getHasQuestionMarks
|
||||
|
||||
@@ -109,7 +109,7 @@ fun ConeClassifierLookupTag.toSymbol(useSiteSession: FirSession): FirClassifierS
|
||||
fun ConeTypeParameterLookupTag.toSymbol(): FirTypeParameterSymbol = this.symbol as FirTypeParameterSymbol
|
||||
|
||||
fun ConeClassLikeLookupTag.constructClassType(typeArguments: Array<out ConeKotlinTypeProjection>, isNullable: Boolean): ConeLookupTagBasedType {
|
||||
return ConeClassTypeImpl(this, typeArguments, isNullable)
|
||||
return ConeClassLikeTypeImpl(this, typeArguments, isNullable)
|
||||
}
|
||||
|
||||
fun ConeClassifierLookupTag.constructType(typeArguments: Array<ConeKotlinTypeProjection>, isNullable: Boolean): ConeLookupTagBasedType {
|
||||
@@ -126,7 +126,7 @@ fun FirClassifierSymbol<*>.constructType(typeArguments: Array<ConeKotlinTypeProj
|
||||
ConeTypeParameterTypeImpl(this.toLookupTag(), isNullable)
|
||||
}
|
||||
is FirClassSymbol -> {
|
||||
ConeClassTypeImpl(this.toLookupTag(), typeArguments, isNullable)
|
||||
ConeClassLikeTypeImpl(this.toLookupTag(), typeArguments, isNullable)
|
||||
}
|
||||
is FirTypeAliasSymbol -> {
|
||||
ConeAbbreviatedTypeImpl(
|
||||
@@ -242,7 +242,7 @@ fun createFunctionalType(
|
||||
|
||||
val postfix = "Function${receiverAndParameterTypes.size - 1}"
|
||||
val functionalTypeId = if (isKFunctionType) StandardClassIds.reflectByName("K$postfix") else StandardClassIds.byName(postfix)
|
||||
return ConeClassTypeImpl(ConeClassLikeLookupTagImpl(functionalTypeId), receiverAndParameterTypes.toTypedArray(), isNullable = false)
|
||||
return ConeClassLikeTypeImpl(ConeClassLikeLookupTagImpl(functionalTypeId), receiverAndParameterTypes.toTypedArray(), isNullable = false)
|
||||
}
|
||||
|
||||
fun createKPropertyType(
|
||||
@@ -252,7 +252,7 @@ fun createKPropertyType(
|
||||
): ConeLookupTagBasedType {
|
||||
val arguments = if (receiverType != null) listOf(receiverType, rawReturnType) else listOf(rawReturnType)
|
||||
val classId = StandardClassIds.reflectByName("K${if (isMutable) "Mutable" else ""}Property${arguments.size - 1}")
|
||||
return ConeClassTypeImpl(ConeClassLikeLookupTagImpl(classId), arguments.toTypedArray(), isNullable = false)
|
||||
return ConeClassLikeTypeImpl(ConeClassLikeLookupTagImpl(classId), arguments.toTypedArray(), isNullable = false)
|
||||
}
|
||||
|
||||
fun BodyResolveComponents.typeForQualifier(resolvedQualifier: FirResolvedQualifier): FirTypeRef {
|
||||
|
||||
@@ -25,7 +25,7 @@ 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.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -77,7 +77,7 @@ class FirSamResolverImpl(
|
||||
.map { it.symbol }
|
||||
.zip(type.typeArguments.map {
|
||||
(it as? ConeTypedProjection)?.type
|
||||
?: ConeClassTypeImpl(ConeClassLikeLookupTagImpl(StandardClassIds.Any), emptyArray(), isNullable = true)
|
||||
?: ConeClassLikeTypeImpl(ConeClassLikeLookupTagImpl(StandardClassIds.Any), emptyArray(), isNullable = true)
|
||||
})
|
||||
.toMap()
|
||||
)
|
||||
@@ -146,7 +146,7 @@ class FirSamResolverImpl(
|
||||
|
||||
val substitutedFunctionType = substitutor.substituteOrSelf(functionType)
|
||||
val substitutedReturnType =
|
||||
ConeClassTypeImpl(
|
||||
ConeClassLikeTypeImpl(
|
||||
firRegularClass.symbol.toLookupTag(), newTypeParameterTypes.toTypedArray(), isNullable = false
|
||||
)
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.FirCompositeScope
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
||||
|
||||
fun ConeKotlinType.scope(useSiteSession: FirSession, scopeSession: ScopeSession): FirScope? {
|
||||
@@ -45,8 +45,8 @@ fun ConeKotlinType.scope(useSiteSession: FirSession, scopeSession: ScopeSession)
|
||||
}
|
||||
}
|
||||
|
||||
fun FirRegularClass.defaultType(): ConeClassTypeImpl {
|
||||
return ConeClassTypeImpl(
|
||||
fun FirRegularClass.defaultType(): ConeClassLikeTypeImpl {
|
||||
return ConeClassLikeTypeImpl(
|
||||
symbol.toLookupTag(),
|
||||
typeParameters.map {
|
||||
ConeTypeParameterTypeImpl(
|
||||
@@ -58,8 +58,8 @@ fun FirRegularClass.defaultType(): ConeClassTypeImpl {
|
||||
)
|
||||
}
|
||||
|
||||
fun FirAnonymousObject.defaultType(): ConeClassTypeImpl {
|
||||
return ConeClassTypeImpl(
|
||||
fun FirAnonymousObject.defaultType(): ConeClassLikeTypeImpl {
|
||||
return ConeClassLikeTypeImpl(
|
||||
symbol.toLookupTag(),
|
||||
emptyArray(),
|
||||
isNullable = false
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.invoke
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
||||
import org.jetbrains.kotlin.types.AbstractTypeChecker
|
||||
import org.jetbrains.kotlin.types.AbstractTypeCheckerContext
|
||||
@@ -58,7 +58,7 @@ interface ConeInferenceContext : TypeSystemInferenceExtensionContext,
|
||||
): SimpleTypeMarker {
|
||||
require(constructor is FirClassifierSymbol<*>)
|
||||
return when (constructor) {
|
||||
is FirClassLikeSymbol<*> -> ConeClassTypeImpl(
|
||||
is FirClassLikeSymbol<*> -> ConeClassLikeTypeImpl(
|
||||
constructor.toLookupTag(),
|
||||
(arguments as List<ConeKotlinTypeProjection>).toTypedArray(),
|
||||
nullable
|
||||
|
||||
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
|
||||
interface ReceiverValue {
|
||||
@@ -36,7 +36,7 @@ private fun receiverExpression(symbol: AbstractFirBasedSymbol<*>, type: ConeKotl
|
||||
}
|
||||
|
||||
class ClassDispatchReceiverValue(val klassSymbol: FirClassSymbol<*>) : ReceiverValue {
|
||||
override val type: ConeKotlinType = ConeClassTypeImpl(
|
||||
override val type: ConeKotlinType = ConeClassLikeTypeImpl(
|
||||
klassSymbol.toLookupTag(),
|
||||
(klassSymbol.fir as? FirTypeParametersOwner)?.typeParameters?.map { ConeStarProjection }?.toTypedArray().orEmpty(),
|
||||
isNullable = false
|
||||
|
||||
+2
-2
@@ -271,14 +271,14 @@ private fun extractInputOutputTypesFromCallableReferenceExpectedType(expectedTyp
|
||||
private fun extractInputOutputTypesFromFunctionType(functionType: ConeKotlinType): InputOutputTypes {
|
||||
val receiver = null// TODO: functionType.receiverType()
|
||||
val parameters = functionType.valueParameterTypes.map {
|
||||
it ?: ConeClassTypeImpl(
|
||||
it ?: ConeClassLikeTypeImpl(
|
||||
ConeClassLikeLookupTagImpl(StandardClassIds.Nothing), emptyArray(),
|
||||
isNullable = false
|
||||
)
|
||||
}
|
||||
|
||||
val inputTypes = /*listOfNotNull(receiver) +*/ parameters
|
||||
val outputType = functionType.returnType ?: ConeClassTypeImpl(
|
||||
val outputType = functionType.returnType ?: ConeClassLikeTypeImpl(
|
||||
ConeClassLikeLookupTagImpl(StandardClassIds.Any), emptyArray(),
|
||||
isNullable = true
|
||||
)
|
||||
|
||||
+2
-2
@@ -18,7 +18,7 @@ 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.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitBuiltinTypeRef
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
|
||||
@@ -92,7 +92,7 @@ class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver {
|
||||
listOfNotNull((typeRef.receiverTypeRef as FirResolvedTypeRef?)?.type) +
|
||||
typeRef.valueParameters.map { it.returnTypeRef.coneTypeUnsafe<ConeKotlinType>() } +
|
||||
listOf(typeRef.returnTypeRef.coneTypeUnsafe())
|
||||
return ConeClassTypeImpl(
|
||||
return ConeClassLikeTypeImpl(
|
||||
resolveBuiltInQualified(KotlinBuiltIns.getFunctionClassId(typeRef.parametersCount), session).toLookupTag(),
|
||||
parameters.toTypedArray(),
|
||||
typeRef.isMarkedNullable
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.fir.resolve.withNullability
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeAbbreviatedTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.types.model.TypeSubstitutorMarker
|
||||
|
||||
|
||||
@@ -125,7 +125,7 @@ abstract class AbstractConeSubstitutor : ConeSubstitutor() {
|
||||
}
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
return when (this) {
|
||||
is ConeClassTypeImpl -> ConeClassTypeImpl(
|
||||
is ConeClassLikeTypeImpl -> ConeClassLikeTypeImpl(
|
||||
lookupTag,
|
||||
newArguments as Array<ConeKotlinTypeProjection>,
|
||||
nullability.isNullable
|
||||
|
||||
+2
-2
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.invoke
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirErrorTypeRefImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
|
||||
@@ -398,7 +398,7 @@ class FirExpressionsResolveTransformer(transformer: FirBodyResolveTransformer) :
|
||||
IrConstKind.Double -> StandardClassIds.Double(symbolProvider)
|
||||
}
|
||||
|
||||
val type = ConeClassTypeImpl(symbol.toLookupTag(), emptyArray(), isNullable = kind == IrConstKind.Null)
|
||||
val type = ConeClassLikeTypeImpl(symbol.toLookupTag(), emptyArray(), isNullable = kind == IrConstKind.Null)
|
||||
|
||||
constExpression.resultType = FirResolvedTypeRefImpl(null, type)
|
||||
dataFlowAnalyzer.exitConstExpresion(constExpression as FirConstExpression<*>)
|
||||
|
||||
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.symbols.invoke
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.FqNameUnsafe
|
||||
@@ -482,7 +482,7 @@ interface ConeTypeContext : TypeSystemContext, TypeSystemOptimizationContext, Ty
|
||||
override fun TypeParameterMarker.getRepresentativeUpperBound(): KotlinTypeMarker {
|
||||
require(this is FirTypeParameterSymbol)
|
||||
return this.fir.bounds.getOrNull(0)?.let { (it as? FirResolvedTypeRef)?.type }
|
||||
?: ConeClassTypeImpl(
|
||||
?: ConeClassLikeTypeImpl(
|
||||
ConeClassLikeLookupTagImpl(ClassId.topLevel(KotlinBuiltIns.FQ_NAMES.any.toSafe())), emptyArray(), true
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user