[FIR] Prohibit calling functions with dynamic receiver over non-dynamics

^KT-63071 Fixed
This commit is contained in:
Nikolay Lunyak
2023-11-28 12:08:05 +02:00
committed by Space Team
parent c69c34ff8b
commit 875e2b0cd6
16 changed files with 61 additions and 11 deletions
@@ -471,6 +471,7 @@ object FirErrors {
val DYNAMIC_SUPERTYPE by error0<KtTypeReference>()
val DYNAMIC_UPPER_BOUND by error0<KtTypeReference>()
val DYNAMIC_RECEIVER_NOT_ALLOWED by error0<KtElement>()
val DYNAMIC_RECEIVER_EXPECTED_BUT_WAS_NON_DYNAMIC by error1<PsiElement, ConeKotlinType>()
val INCOMPATIBLE_TYPES by error2<KtElement, ConeKotlinType, ConeKotlinType>()
val INCOMPATIBLE_TYPES_WARNING by warning2<KtElement, ConeKotlinType, ConeKotlinType>()
val TYPE_VARIANCE_CONFLICT_ERROR by error4<PsiElement, FirTypeParameterSymbol, Variance, Variance, ConeKotlinType>(SourceElementPositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT)
@@ -309,6 +309,7 @@ val FIR_NON_SUPPRESSIBLE_ERROR_NAMES: Set<String> = setOf(
"DYNAMIC_SUPERTYPE",
"DYNAMIC_UPPER_BOUND",
"DYNAMIC_RECEIVER_NOT_ALLOWED",
"DYNAMIC_RECEIVER_EXPECTED_BUT_WAS_NON_DYNAMIC",
"INCOMPATIBLE_TYPES",
"TYPE_VARIANCE_CONFLICT_ERROR",
"TYPE_VARIANCE_CONFLICT_IN_EXPANDED_TYPE",