diff --git a/compiler/frontend/cfg/src/org/jetbrains/kotlin/cfg/ControlFlowInformationProviderImpl.kt b/compiler/frontend/cfg/src/org/jetbrains/kotlin/cfg/ControlFlowInformationProviderImpl.kt index 1a555d6cd77..f74293577af 100644 --- a/compiler/frontend/cfg/src/org/jetbrains/kotlin/cfg/ControlFlowInformationProviderImpl.kt +++ b/compiler/frontend/cfg/src/org/jetbrains/kotlin/cfg/ControlFlowInformationProviderImpl.kt @@ -778,6 +778,7 @@ class ControlFlowInformationProviderImpl private constructor( private fun processUnusedParameter(ctxt: VariableUseContext, element: KtParameter, variableDescriptor: VariableDescriptor) { val functionDescriptor = variableDescriptor.containingDeclaration as FunctionDescriptor + @Suppress("DEPRECATION") if (functionDescriptor.isExpect || functionDescriptor.isActual || functionDescriptor.isEffectivelyExternal() || !diagnosticSuppressor.shouldReportUnusedParameter(variableDescriptor, trace.bindingContext) || diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/PlatformDiagnosticSuppressor.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/PlatformDiagnosticSuppressor.kt index a18f9a0ca9e..e9de503b0a1 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/PlatformDiagnosticSuppressor.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/PlatformDiagnosticSuppressor.kt @@ -27,13 +27,13 @@ import org.jetbrains.kotlin.resolve.BindingContext interface PlatformDiagnosticSuppressor : PlatformSpecificExtension{ // Function without binding context is kept for binary compatibility // Diagnostic should be suppressed if any of two overloads return false - fun shouldReportUnusedParameter(parameter: VariableDescriptor): Boolean + @Deprecated("Use shouldReportUnusedParameter with bindingContext parameter") + fun shouldReportUnusedParameter(parameter: VariableDescriptor): Boolean = true fun shouldReportUnusedParameter(parameter: VariableDescriptor, bindingContext: BindingContext): Boolean = true fun shouldReportNoBody(descriptor: CallableMemberDescriptor): Boolean object Default : PlatformDiagnosticSuppressor { - override fun shouldReportUnusedParameter(parameter: VariableDescriptor): Boolean = true override fun shouldReportUnusedParameter(parameter: VariableDescriptor, bindingContext: BindingContext): Boolean = true override fun shouldReportNoBody(descriptor: CallableMemberDescriptor): Boolean = true @@ -44,8 +44,12 @@ class CompositePlatformDiagnosticSuppressor(private val suppressors: List