From cc106085e2e040d18d6a43c716b51b457741a582 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 13 Apr 2021 14:50:27 +0300 Subject: [PATCH] FIR: add minor TODO / comments to mismatch checkers --- .../checkers/declaration/FirInitializerTypeMismatchChecker.kt | 2 ++ .../checkers/expression/FirFunctionReturnTypeMismatchChecker.kt | 1 + 2 files changed, 3 insertions(+) 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 2d21e0217bf..0622b90562d 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 @@ -36,9 +36,11 @@ object FirInitializerTypeMismatchChecker : FirPropertyChecker() { expressionType.nullability == ConeNullability.NOT_NULL ) { // val p: Byte = 42 or similar situation + // TODO: remove after fix of KT-46047 return } if (propertyType.isExtensionFunctionType || expressionType.isExtensionFunctionType) { + // TODO: remove after fix of KT-45989 return } reporter.report(INITIALIZER_TYPE_MISMATCH.on(source, propertyType, expressionType), context) diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirFunctionReturnTypeMismatchChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirFunctionReturnTypeMismatchChecker.kt index e1c945f66a9..c69afc2b669 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirFunctionReturnTypeMismatchChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirFunctionReturnTypeMismatchChecker.kt @@ -24,6 +24,7 @@ object FirFunctionReturnTypeMismatchChecker : FirReturnExpressionChecker() { val targetElement = expression.target.labeledElement if (targetElement !is FirSimpleFunction) return val resultExpression = expression.result + // To avoid duplications with NO_ELSE_IN_WHEN or INVALID_IF_AS_EXPRESSION if (resultExpression is FirWhenExpression && !resultExpression.isExhaustive) return val functionReturnType = targetElement.returnTypeRef.coneType