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
This commit is contained in:
Alexander Udalov
2016-12-14 10:48:11 +03:00
parent 0634782e47
commit 64867409b7
@@ -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)
}
}