Specify missing type arguments to fix compilation in FE module
This commit is contained in:
+2
-1
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.resolve
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||
import org.jetbrains.kotlin.fir.symbols.ConeCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeSymbol
|
||||
@@ -48,7 +49,7 @@ abstract class AbstractFirSymbolProvider : FirSymbolProvider {
|
||||
if (symbol !is FirClassSymbol) continue
|
||||
if (symbol.classId.relativeClassName.parent().isRoot) {
|
||||
// Launch for top-level classes only
|
||||
symbol.fir.transform(transformer, data)
|
||||
symbol.fir.transform<FirElement, D>(transformer, data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ fun ConeKotlinType.scope(useSiteSession: FirSession): FirScope? {
|
||||
// TODO: support LibraryTypeParameterSymbol or get rid of it
|
||||
val toSymbol = this.lookupTag.toSymbol(useSiteSession)?.takeIf { it is FirBasedSymbol<*> } ?: return null
|
||||
val fir = toSymbol.firUnsafe<FirTypeParameter>()
|
||||
FirCompositeScope(fir.bounds.mapNotNullTo(mutableListOf()) { it.coneTypeUnsafe().scope(useSiteSession) })
|
||||
FirCompositeScope(fir.bounds.mapNotNullTo(mutableListOf()) { it.coneTypeUnsafe<ConeKotlinType>().scope(useSiteSession) })
|
||||
}
|
||||
is ConeFlexibleType -> lowerBound.scope(useSiteSession)
|
||||
else -> error("Failed type ${this}")
|
||||
|
||||
+4
-4
@@ -115,7 +115,7 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn
|
||||
resolved.resultType =
|
||||
resolved.conversionTypeRef.withReplacedConeType(
|
||||
session,
|
||||
resolved.conversionTypeRef.coneTypeUnsafe().withNullability(ConeNullability.NULLABLE)
|
||||
resolved.conversionTypeRef.coneTypeUnsafe<ConeKotlinType>().withNullability(ConeNullability.NULLABLE)
|
||||
)
|
||||
}
|
||||
else -> error("Unknown type operator")
|
||||
@@ -368,7 +368,7 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn
|
||||
fun transform(): CompositeTransformResult<FirDeclaration> {
|
||||
localScopes.lastOrNull()?.storeDeclaration(namedFunction)
|
||||
return withScopeCleanup(scopes) {
|
||||
scopes.addIfNotNull(receiverTypeRef?.coneTypeSafe()?.scope(session))
|
||||
scopes.addIfNotNull(receiverTypeRef?.coneTypeSafe<ConeKotlinType>()?.scope(session))
|
||||
|
||||
|
||||
val result = super.transformNamedFunction(namedFunction, namedFunction.returnTypeRef).single as FirNamedFunction
|
||||
@@ -440,7 +440,7 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn
|
||||
}
|
||||
|
||||
fun <D> FirElement.visitNoTransform(transformer: FirTransformer<D>, data: D) {
|
||||
val result = this.transform(transformer, data)
|
||||
val result = this.transform<FirElement, D>(transformer, data)
|
||||
require(result.single === this) { "become ${result.single}: `${result.single.render()}`, was ${this}: `${this.render()}`" }
|
||||
}
|
||||
|
||||
@@ -507,7 +507,7 @@ class ReturnTypeCalculatorWithJump(val session: FirSession) : ReturnTypeCalculat
|
||||
file.session
|
||||
)
|
||||
|
||||
file.transform(transformer, null)
|
||||
file.transform<FirElement, Any?>(transformer, null)
|
||||
|
||||
|
||||
val newReturnTypeRef = declaration.returnTypeRef
|
||||
|
||||
+2
-2
@@ -110,14 +110,14 @@ class FirClassSubstitutionScope(
|
||||
if (member is FirConstructor) return original as FirFunctionSymbol // TODO: substitution for constructors
|
||||
member as FirNamedFunction
|
||||
|
||||
val receiverType = member.receiverTypeRef?.coneTypeUnsafe()
|
||||
val receiverType = member.receiverTypeRef?.coneTypeUnsafe<ConeKotlinType>()
|
||||
val newReceiverType = receiverType?.substitute()
|
||||
|
||||
val returnType = typeCalculator.tryCalculateReturnType(member).type
|
||||
val newReturnType = returnType.substitute()
|
||||
|
||||
val newParameterTypes = member.valueParameters.map {
|
||||
it.returnTypeRef.coneTypeUnsafe().substitute()
|
||||
it.returnTypeRef.coneTypeUnsafe<ConeKotlinType>().substitute()
|
||||
}
|
||||
|
||||
return createFakeOverride(session, member, original as FirFunctionSymbol, newReceiverType, newReturnType, newParameterTypes)
|
||||
|
||||
Reference in New Issue
Block a user