From 91fa7dec883591314462091179526f3d01012c4b Mon Sep 17 00:00:00 2001 From: Nikolay Lunyak Date: Fri, 21 Jan 2022 12:06:20 +0300 Subject: [PATCH] [FIR JS] Fix false positive NON_ABSTRACT_FUNCTION_WITH_NO_BODY --- .../analysis/checkers/declaration/FirMemberFunctionsChecker.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirMemberFunctionsChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirMemberFunctionsChecker.kt index 171e893359a..a717fe7d343 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirMemberFunctionsChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirMemberFunctionsChecker.kt @@ -56,6 +56,7 @@ object FirMemberFunctionsChecker : FirSimpleFunctionChecker() { } } val isInsideExpectClass = isInsideExpectClass(containingDeclaration, context) + val isInsideExternal = isInsideExternalClass(containingDeclaration, context) val hasOpenModifier = KtTokens.OPEN_KEYWORD in modifierList if (!function.hasBody) { if (containingDeclaration.isInterface) { @@ -65,7 +66,7 @@ object FirMemberFunctionsChecker : FirSimpleFunctionChecker() { if (!isInsideExpectClass && !hasAbstractModifier && hasOpenModifier) { reporter.reportOn(source, FirErrors.REDUNDANT_OPEN_IN_INTERFACE, context) } - } else if (!isInsideExpectClass && !hasAbstractModifier && !function.isExternal) { + } else if (!isInsideExpectClass && !hasAbstractModifier && !function.isExternal && !isInsideExternal) { reporter.reportOn(source, FirErrors.NON_ABSTRACT_FUNCTION_WITH_NO_BODY, functionSymbol, context) } }