diff --git a/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/inspection/EnumValuesSoftDeprecateInspectionBase.kt b/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/inspection/EnumValuesSoftDeprecateInspectionBase.kt index 94b9048edd42..5ef6fd4a1757 100644 --- a/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/inspection/EnumValuesSoftDeprecateInspectionBase.kt +++ b/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/inspection/EnumValuesSoftDeprecateInspectionBase.kt @@ -22,9 +22,8 @@ import org.jetbrains.kotlin.analysis.api.symbols.* import org.jetbrains.kotlin.idea.base.codeInsight.* import org.jetbrains.kotlin.idea.base.projectStructure.languageVersionSettings import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.api.classic.inspections.DeprecationCollectingInspection +import org.jetbrains.kotlin.idea.codeinsight.api.classic.inspections.AbstractKotlinInspection import org.jetbrains.kotlin.idea.codeinsights.impl.base.isOptInRequired -import org.jetbrains.kotlin.idea.statistics.DeprecatedFeaturesInspectionData import org.jetbrains.kotlin.idea.statistics.KotlinLanguageFeaturesFUSCollector import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.psi.* @@ -35,10 +34,7 @@ import org.jetbrains.kotlin.psi.* * * See [KTIJ-22298](https://youtrack.jetbrains.com/issue/KTIJ-22298/Soft-deprecate-Enumvalues-for-Kotlin-callers). */ -abstract class EnumValuesSoftDeprecateInspectionBase : DeprecationCollectingInspection( - collector = KotlinLanguageFeaturesFUSCollector.enumEntriesCollector, - defaultDeprecationData = DeprecatedFeaturesInspectionData() -) { +abstract class EnumValuesSoftDeprecateInspectionBase : AbstractKotlinInspection() { protected open fun isEnumValuesSoftDeprecateEnabled(file: KtFile): Boolean = file.isEnumValuesSoftDeprecateEnabled() @@ -59,7 +55,6 @@ abstract class EnumValuesSoftDeprecateInspectionBase : DeprecationCollectingInsp return } val quickFix = createQuickFix(callExpression, resolvedCallSymbol) ?: return - session.updateDeprecationData { it.withDeprecatedFeature() } holder.registerProblem( callExpression, displayName, diff --git a/plugins/kotlin/code-insight/inspections-shared/src/org/jetbrains/kotlin/idea/codeInsight/inspections/shared/ReplaceUntilWithRangeUntilInspection.kt b/plugins/kotlin/code-insight/inspections-shared/src/org/jetbrains/kotlin/idea/codeInsight/inspections/shared/ReplaceUntilWithRangeUntilInspection.kt index 2690866ab4de..da3db78c78e6 100644 --- a/plugins/kotlin/code-insight/inspections-shared/src/org/jetbrains/kotlin/idea/codeInsight/inspections/shared/ReplaceUntilWithRangeUntilInspection.kt +++ b/plugins/kotlin/code-insight/inspections-shared/src/org/jetbrains/kotlin/idea/codeInsight/inspections/shared/ReplaceUntilWithRangeUntilInspection.kt @@ -1,7 +1,6 @@ // Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.kotlin.idea.codeInsight.inspections.shared -import com.intellij.codeInspection.LocalInspectionToolSession import com.intellij.codeInspection.LocalQuickFix import com.intellij.codeInspection.ProblemDescriptor import com.intellij.codeInspection.ProblemsHolder @@ -10,32 +9,30 @@ import org.jetbrains.kotlin.analysis.api.analyze import org.jetbrains.kotlin.analysis.api.resolution.singleFunctionCallOrNull import org.jetbrains.kotlin.analysis.api.resolution.symbol import org.jetbrains.kotlin.idea.base.resources.KotlinBundle -import org.jetbrains.kotlin.idea.codeinsight.utils.RangeKtExpressionType import org.jetbrains.kotlin.idea.codeInsight.inspections.shared.AbstractRangeInspection.Companion.rangeExpressionByPsi import org.jetbrains.kotlin.idea.codeInsight.inspections.shared.utils.canUseRangeUntil -import org.jetbrains.kotlin.idea.codeinsight.api.classic.inspections.DeprecationCollectingInspection +import org.jetbrains.kotlin.idea.codeinsight.api.classic.inspections.AbstractKotlinInspection +import org.jetbrains.kotlin.idea.codeinsight.utils.RangeKtExpressionType import org.jetbrains.kotlin.idea.statistics.KotlinLanguageFeaturesFUSCollector -import org.jetbrains.kotlin.idea.statistics.NewAndDeprecatedFeaturesInspectionData import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* -class ReplaceUntilWithRangeUntilInspection : DeprecationCollectingInspection( - collector = KotlinLanguageFeaturesFUSCollector.rangeUntilCollector, - defaultDeprecationData = NewAndDeprecatedFeaturesInspectionData() -) { - - override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean, session: LocalInspectionToolSession): KtVisitorVoid = +class ReplaceUntilWithRangeUntilInspection : AbstractKotlinInspection() { + override fun buildVisitor( + holder: ProblemsHolder, + isOnTheFly: Boolean + ): KtVisitorVoid = object : KtVisitorVoid() { override fun visitBinaryExpression(binaryExpression: KtBinaryExpression) { - visitRange(binaryExpression, holder, session) + visitRange(binaryExpression, holder) } override fun visitDotQualifiedExpression(expression: KtDotQualifiedExpression) { - visitRange(expression, holder, session) + visitRange(expression, holder) } } - private fun visitRange(expression: KtExpression, holder: ProblemsHolder, session: LocalInspectionToolSession) { + private fun visitRange(expression: KtExpression, holder: ProblemsHolder) { val rangeExpression = rangeExpressionByPsi(expression) ?: return analyze(expression) { @@ -46,13 +43,6 @@ class ReplaceUntilWithRangeUntilInspection : DeprecationCollectingInspection it.withDeprecatedFeature() - RangeKtExpressionType.RANGE_UNTIL -> it.withNewFeature() - else -> it - } - } if (rangeKtExpressionType != RangeKtExpressionType.UNTIL) return holder.registerProblem( diff --git a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/inspections/ConvertObjectToDataObjectInspection.kt b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/inspections/ConvertObjectToDataObjectInspection.kt index f42e97477c8d..da01e889dc2f 100644 --- a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/inspections/ConvertObjectToDataObjectInspection.kt +++ b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/inspections/ConvertObjectToDataObjectInspection.kt @@ -1,7 +1,6 @@ // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.kotlin.idea.inspections -import com.intellij.codeInspection.LocalInspectionToolSession import com.intellij.codeInspection.LocalQuickFix import com.intellij.codeInspection.ProblemDescriptor import com.intellij.codeInspection.ProblemsHolder @@ -21,7 +20,7 @@ import org.jetbrains.kotlin.idea.base.psi.singleExpressionBody import org.jetbrains.kotlin.idea.base.resources.KotlinBundle import org.jetbrains.kotlin.idea.base.utils.fqname.fqName import org.jetbrains.kotlin.idea.caches.resolve.analyze -import org.jetbrains.kotlin.idea.codeinsight.api.classic.inspections.DeprecationCollectingInspection +import org.jetbrains.kotlin.idea.codeinsight.api.classic.inspections.AbstractKotlinInspection import org.jetbrains.kotlin.idea.core.resolveType import org.jetbrains.kotlin.idea.inspections.CanSealedSubClassBeObjectInspection.Util.asKtClass import org.jetbrains.kotlin.idea.inspections.VirtualFunction.* @@ -29,7 +28,6 @@ import org.jetbrains.kotlin.idea.inspections.VirtualFunction.Function import org.jetbrains.kotlin.idea.intentions.conventionNameCalls.* import org.jetbrains.kotlin.idea.search.usagesSearch.descriptor import org.jetbrains.kotlin.idea.statistics.KotlinLanguageFeaturesFUSCollector -import org.jetbrains.kotlin.idea.statistics.NewAndDeprecatedFeaturesInspectionData import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name @@ -48,18 +46,14 @@ private typealias CallChain = List * Tests: * [org.jetbrains.kotlin.idea.inspections.LocalInspectionTestGenerated.ConvertObjectToDataObject] */ -class ConvertObjectToDataObjectInspection : DeprecationCollectingInspection( - collector = KotlinLanguageFeaturesFUSCollector.dataObjectCollector, - defaultDeprecationData = NewAndDeprecatedFeaturesInspectionData() -) { - override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean, session: LocalInspectionToolSession): PsiElementVisitor = - if (holder.file.languageVersionSettings.supportsFeature(LanguageFeature.DataObjects)) ObjectVisitor(holder, session) +class ConvertObjectToDataObjectInspection : AbstractKotlinInspection() { + override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor = + if (holder.file.languageVersionSettings.supportsFeature(LanguageFeature.DataObjects)) ObjectVisitor(holder) else PsiElementVisitor.EMPTY_VISITOR - private inner class ObjectVisitor(private val holder: ProblemsHolder, private val session: LocalInspectionToolSession) : KtVisitorVoid() { + private class ObjectVisitor(private val holder: ProblemsHolder) : KtVisitorVoid() { override fun visitObjectDeclaration(ktObject: KtObjectDeclaration) { if (ktObject.isData()) { - session.updateDeprecationData { it.withNewFeature() } return } if (ktObject.isCompanion() || ktObject.isObjectLiteral()) return @@ -68,7 +62,6 @@ class ConvertObjectToDataObjectInspection : DeprecationCollectingInspection