From fdb2b714c93a663851d9914ed4e77d437531fbcd Mon Sep 17 00:00:00 2001 From: Nikolay Lunyak Date: Fri, 9 Feb 2024 11:19:51 +0200 Subject: [PATCH] [FIR] Remove redundant INITIALIZER_TYPE_MISMATCH introduced earlier --- .../checkers/declaration/FirInitializerTypeMismatchChecker.kt | 3 ++- .../FirValueParameterDefaultValueTypeMismatchChecker.kt | 3 ++- .../tests/modifiers/const/arrayInAnnotationArgumentType.fir.kt | 2 +- .../tests/regressions/TypeMismatchOnUnaryOperations.fir.kt | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInitializerTypeMismatchChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInitializerTypeMismatchChecker.kt index 222c701743d..a79f089ba8b 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInitializerTypeMismatchChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInitializerTypeMismatchChecker.kt @@ -13,11 +13,12 @@ import org.jetbrains.kotlin.fir.analysis.checkers.checkTypeMismatch import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.expressions.FirComponentCall +import org.jetbrains.kotlin.fir.expressions.FirErrorExpression import org.jetbrains.kotlin.fir.types.coneType object FirInitializerTypeMismatchChecker : FirPropertyChecker(MppCheckerKind.Common) { override fun check(declaration: FirProperty, context: CheckerContext, reporter: DiagnosticReporter) { - val initializer = declaration.initializer ?: return + val initializer = declaration.initializer?.takeIf { it !is FirErrorExpression } ?: return val source = declaration.source ?: return if (source.elementType == KtNodeTypes.DESTRUCTURING_DECLARATION) return if (initializer is FirComponentCall) return diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirValueParameterDefaultValueTypeMismatchChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirValueParameterDefaultValueTypeMismatchChecker.kt index 46c0fa5d31e..96f92494593 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirValueParameterDefaultValueTypeMismatchChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirValueParameterDefaultValueTypeMismatchChecker.kt @@ -10,11 +10,12 @@ import org.jetbrains.kotlin.fir.analysis.checkers.MppCheckerKind import org.jetbrains.kotlin.fir.analysis.checkers.checkTypeMismatch import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext import org.jetbrains.kotlin.fir.declarations.FirValueParameter +import org.jetbrains.kotlin.fir.expressions.FirErrorExpression import org.jetbrains.kotlin.fir.types.coneType object FirValueParameterDefaultValueTypeMismatchChecker : FirValueParameterChecker(MppCheckerKind.Common) { override fun check(declaration: FirValueParameter, context: CheckerContext, reporter: DiagnosticReporter) { - val defaultValue = declaration.defaultValue ?: return + val defaultValue = declaration.defaultValue?.takeIf { it !is FirErrorExpression } ?: return val source = requireNotNull(declaration.source) val parameterType = declaration.returnTypeRef.coneType diff --git a/compiler/testData/diagnostics/tests/modifiers/const/arrayInAnnotationArgumentType.fir.kt b/compiler/testData/diagnostics/tests/modifiers/const/arrayInAnnotationArgumentType.fir.kt index c3c3b9916a4..328e56c4402 100644 --- a/compiler/testData/diagnostics/tests/modifiers/const/arrayInAnnotationArgumentType.fir.kt +++ b/compiler/testData/diagnostics/tests/modifiers/const/arrayInAnnotationArgumentType.fir.kt @@ -1,2 +1,2 @@ -annotation class A(val a: IntArray = arrayOf(1)) +annotation class A(val a: IntArray = arrayOf(1)) annotation class B(val a: IntArray = intArrayOf(1)) diff --git a/compiler/testData/diagnostics/tests/regressions/TypeMismatchOnUnaryOperations.fir.kt b/compiler/testData/diagnostics/tests/regressions/TypeMismatchOnUnaryOperations.fir.kt index d3c08fdac3c..c85184cebf4 100644 --- a/compiler/testData/diagnostics/tests/regressions/TypeMismatchOnUnaryOperations.fir.kt +++ b/compiler/testData/diagnostics/tests/regressions/TypeMismatchOnUnaryOperations.fir.kt @@ -11,7 +11,7 @@ fun main() { val h1 : String = --v; val i : String = !true; val j : String = foo@ true; - val k : String = foo@ bar@ true; + val k : String = foo@ bar@ true; val l : String = -1; val m : String = +1; }