From 64867409b71d5c376f90e12857e52c52996032d8 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 14 Dec 2016 10:48:11 +0300 Subject: [PATCH] Do not report errors on 'impl' declarations with -Xno-check-impl Allow 'impl' modifier on a declaration even if it's not an implementation of any header declaration --- .../kotlin/resolve/checkers/HeaderImplDeclarationChecker.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/HeaderImplDeclarationChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/HeaderImplDeclarationChecker.kt index 65f42bac3ba..fec9cf32aa8 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/HeaderImplDeclarationChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/HeaderImplDeclarationChecker.kt @@ -56,11 +56,11 @@ class HeaderImplDeclarationChecker(val moduleToCheck: ModuleDescriptor? = null) if (descriptor !is MemberDescriptor) return + val checkImpl = !languageVersionSettings.supportsFeature(LanguageFeature.MultiPlatformDoNotCheckImpl) if (descriptor.isHeader && declaration.hasModifier(KtTokens.HEADER_KEYWORD)) { - val checkImpl = !languageVersionSettings.supportsFeature(LanguageFeature.MultiPlatformDoNotCheckImpl) checkHeaderDeclarationHasImplementation(declaration, descriptor, diagnosticHolder, checkImpl) } - else if (descriptor.isImpl && declaration.hasModifier(KtTokens.IMPL_KEYWORD)) { + else if (checkImpl && descriptor.isImpl && declaration.hasModifier(KtTokens.IMPL_KEYWORD)) { checkImplementationHasHeaderDeclaration(declaration, descriptor, diagnosticHolder) } }