diff --git a/compiler/frontend/src/org/jetbrains/kotlin/cfg/ControlFlowInformationProvider.kt b/compiler/frontend/src/org/jetbrains/kotlin/cfg/ControlFlowInformationProvider.kt index 3875dea7987..7bc8cbdc33b 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/cfg/ControlFlowInformationProvider.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/cfg/ControlFlowInformationProvider.kt @@ -637,7 +637,9 @@ class ControlFlowInformationProvider private constructor( is KtPrimaryConstructor -> if (!element.hasValOrVar()) { val containingClass = owner.getContainingClassOrObject() val containingClassDescriptor = trace.get(DECLARATION_TO_DESCRIPTOR, containingClass) as? ClassDescriptor - if (!DescriptorUtils.isAnnotationClass(containingClassDescriptor) && containingClassDescriptor?.isPlatform == false) { + if (!DescriptorUtils.isAnnotationClass(containingClassDescriptor) && containingClassDescriptor?.isPlatform == false && + !DescriptorUtils.isEffectivelyExternal(containingClassDescriptor) + ) { report(UNUSED_PARAMETER.on(element, variableDescriptor), ctxt) } } @@ -652,6 +654,7 @@ class ControlFlowInformationProvider private constructor( || functionDescriptor.isOverridableOrOverrides || owner.hasModifier(KtTokens.OVERRIDE_KEYWORD) || functionDescriptor.isPlatform || functionDescriptor.isImpl + || DescriptorUtils.isEffectivelyExternal(functionDescriptor) || OperatorNameConventions.GET_VALUE == functionName || OperatorNameConventions.SET_VALUE == functionName || OperatorNameConventions.PROPERTY_DELEGATED == functionName) {