[FIR] Let FirErrorExpression have a working type if possible
^KT-65337 Fixed
This commit is contained in:
committed by
Space Team
parent
7f42596935
commit
389f02b016
+3
-4
@@ -34,7 +34,8 @@ internal class FirErrorExpressionImpl(
|
||||
override var nonExpressionElement: FirElement?,
|
||||
) : FirErrorExpression() {
|
||||
@OptIn(UnresolvedExpressionTypeAccess::class)
|
||||
override var coneTypeOrNull: ConeKotlinType? = ConeErrorType(ConeStubDiagnostic(diagnostic))
|
||||
override val coneTypeOrNull: ConeKotlinType?
|
||||
get() = expression?.coneTypeOrNull ?: ConeErrorType(ConeStubDiagnostic(diagnostic))
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
@@ -54,9 +55,7 @@ internal class FirErrorExpressionImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun replaceConeTypeOrNull(newConeTypeOrNull: ConeKotlinType?) {
|
||||
coneTypeOrNull = newConeTypeOrNull
|
||||
}
|
||||
override fun replaceConeTypeOrNull(newConeTypeOrNull: ConeKotlinType?) {}
|
||||
|
||||
override fun replaceAnnotations(newAnnotations: List<FirAnnotation>) {
|
||||
annotations = newAnnotations.toMutableOrEmpty()
|
||||
|
||||
+1
-1
@@ -518,7 +518,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
}
|
||||
|
||||
impl(errorExpression) {
|
||||
default("coneTypeOrNull", "ConeErrorType(ConeStubDiagnostic(diagnostic))")
|
||||
default("coneTypeOrNull", "expression?.coneTypeOrNull ?: ConeErrorType(ConeStubDiagnostic(diagnostic))", withGetter = true)
|
||||
additionalImports(coneErrorTypeType, coneStubDiagnosticType)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user