From 1dc0b054edde1bdd9308ab64f11379a39ff81c97 Mon Sep 17 00:00:00 2001 From: Svyatoslav Kuzmich Date: Tue, 23 May 2023 15:23:17 +0200 Subject: [PATCH] Deprecate PlatformDiagnosticSuppressors::shouldReportUnusedParameter with one parameter --- .../kotlin/cfg/ControlFlowInformationProviderImpl.kt | 1 + .../resolve/checkers/PlatformDiagnosticSuppressor.kt | 10 +++++++--- .../jetbrains/kotlin/js/analyze/suppressWarnings.kt | 4 +++- .../kotlin/wasm/analyze/WasmDiagnosticSuppressor.kt | 3 --- 4 files changed, 11 insertions(+), 7 deletions(-) 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