From aed26f4a7147f546f6c1cff4612bc28d920dad96 Mon Sep 17 00:00:00 2001 From: Morgan Bartholomew Date: Tue, 23 Jun 2026 13:25:15 +1000 Subject: [PATCH] PY-9687 `PyUnusedLocalVariableInspection`: rename to address flakey test (cherry picked from commit 152b66d4f65a8c3095ad4b4bd36964c14e9bad28) GitOrigin-RevId: fb050cb0677b70be3fc81ddf370241e9d98d6423 --- ...l => PyUnusedLocalVariableInspection.html} | 0 .../metaInformation.json | 2 +- .../resources/intellij.python.psi.impl.xml | 3 +- .../unusedLocal/PyUnusedFunctionInspection.kt | 2 +- ...a => PyUnusedLocalVariableInspection.java} | 2 +- .../PyUnusedParameterInspection.kt | 2 +- .../unusedLocal/PyUnusedSymbolInspection.kt | 2 +- .../PyUnusedSymbolInspectionMerger.kt | 20 +++++++++---- .../python/console/ConsoleVisitorFilter.java | 4 +-- .../python/pyi/PyiVisitorFilter.java | 4 +-- .../UnusedCoroutine/asyncio/__init__.py | 0 .../UnusedCoroutine/asyncio/tasks.py | 0 .../UnusedCoroutine/b.py | 0 ...ingsOfSameNameInOrPatternConsideredUsed.py | 0 .../argsAndKwargsInDunderInit.py | 0 .../callingLocalsLeadsToUnusedParameter.py | 0 .../doctestReference.py | 0 .../exceptionTargetStartingWithUnderscore.py | 0 .../fStringReferences.py | 0 .../fStringReferencesInComprehensions.py | 0 .../forwardTypeDeclaration.py | 0 ...ignoringVariablesStartingWithUnderscore.py | 0 .../incompleteFunctionWithoutName.py | 0 .../moduleGetAttr.py | 0 ...yleTypeParameterInFuncNotMarkedAsUnused.py | 0 .../nonlocal.py | 0 .../overloadsAndImplementationInClass.py | 0 .../parameterInMethodWithEllipsis.py | 0 .../py2.py | 0 .../singleUnderscore.py | 0 .../topLevelOverloadsAndImplementation.py | 0 .../tupleUnpacking.py | 0 ...arationFollowsTargetBeforeItsFirstUsage.py | 0 .../underscorePrefixed.py | 0 .../unusedAssignmentExpression.py | 0 .../unusedCapturePatterns.py | 0 .../unusedFunction.py | 0 .../unusedMultiAssignmentTarget.py | 0 ...usedTypeAliasReferredToInOtherTypeAlias.py | 0 .../unusedTypeParameterInClass.py | 0 .../unusedTypeParameterInTypeAlias.py | 0 .../variableStartingWithUnderscore.py | 0 .../python/PySuppressInspectionsTest.java | 4 +-- .../PyUnusedLocalInspectionTest.java | 18 +++++------ .../PyUnusedSymbolInspectionMergerTest.kt | 1 + .../Flake8InspectionSuppressorTest.java | 26 ++++++++-------- .../PyRemoveStatementQuickFixTest.java | 4 +-- .../PyRemoveUnusedLocalQuickFixTest.java | 30 +++++++++---------- .../PyTestFixtureAndParametrizedTest.kt | 4 +-- 49 files changed, 69 insertions(+), 59 deletions(-) rename python/python-psi-impl/resources/inspectionDescriptions/{PyUnusedLocalInspection.html => PyUnusedLocalVariableInspection.html} (100%) rename python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/{PyUnusedLocalInspection.java => PyUnusedLocalVariableInspection.java} (97%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/UnusedCoroutine/asyncio/__init__.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/UnusedCoroutine/asyncio/tasks.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/UnusedCoroutine/b.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/allBindingsOfSameNameInOrPatternConsideredUsed.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/argsAndKwargsInDunderInit.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/callingLocalsLeadsToUnusedParameter.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/doctestReference.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/exceptionTargetStartingWithUnderscore.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/fStringReferences.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/fStringReferencesInComprehensions.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/forwardTypeDeclaration.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/ignoringVariablesStartingWithUnderscore.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/incompleteFunctionWithoutName.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/moduleGetAttr.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/newStyleTypeParameterInFuncNotMarkedAsUnused.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/nonlocal.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/overloadsAndImplementationInClass.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/parameterInMethodWithEllipsis.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/py2.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/singleUnderscore.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/topLevelOverloadsAndImplementation.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/tupleUnpacking.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/typeDeclarationFollowsTargetBeforeItsFirstUsage.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/underscorePrefixed.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/unusedAssignmentExpression.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/unusedCapturePatterns.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/unusedFunction.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/unusedMultiAssignmentTarget.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/unusedTypeAliasReferredToInOtherTypeAlias.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/unusedTypeParameterInClass.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/unusedTypeParameterInTypeAlias.py (100%) rename python/testData/inspections/{PyUnusedLocalInspection => PyUnusedLocalVariableInspection}/variableStartingWithUnderscore.py (100%) diff --git a/python/python-psi-impl/resources/inspectionDescriptions/PyUnusedLocalInspection.html b/python/python-psi-impl/resources/inspectionDescriptions/PyUnusedLocalVariableInspection.html similarity index 100% rename from python/python-psi-impl/resources/inspectionDescriptions/PyUnusedLocalInspection.html rename to python/python-psi-impl/resources/inspectionDescriptions/PyUnusedLocalVariableInspection.html diff --git a/python/python-psi-impl/resources/inspectionDescriptions/metaInformation.json b/python/python-psi-impl/resources/inspectionDescriptions/metaInformation.json index 8eaa1a262b6a..f720354c5069 100644 --- a/python/python-psi-impl/resources/inspectionDescriptions/metaInformation.json +++ b/python/python-psi-impl/resources/inspectionDescriptions/metaInformation.json @@ -233,7 +233,7 @@ "codeQualityCategory": "Reliability" }, { - "id": "PyUnusedLocalInspection", + "id": "PyUnusedLocalVariableInspection", "codeQualityCategory": "Code Style" }, { diff --git a/python/python-psi-impl/resources/intellij.python.psi.impl.xml b/python/python-psi-impl/resources/intellij.python.psi.impl.xml index 6c681b6524fb..6652fe2e9154 100644 --- a/python/python-psi-impl/resources/intellij.python.psi.impl.xml +++ b/python/python-psi-impl/resources/intellij.python.psi.impl.xml @@ -198,9 +198,10 @@ - + + diff --git a/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedFunctionInspection.kt b/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedFunctionInspection.kt index 11a7ee55784a..915f5e3f0f19 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedFunctionInspection.kt +++ b/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedFunctionInspection.kt @@ -3,7 +3,7 @@ package com.jetbrains.python.inspections.unusedLocal /** * Reports unused local functions. Unused local variables and other local symbols are reported separately by - * [PyUnusedLocalInspection]; both inspections share [PyUnusedLocalInspectionVisitor] for the analysis. + * [PyUnusedLocalVariableInspection]; both inspections share [PyUnusedLocalInspectionVisitor] for the analysis. */ class PyUnusedFunctionInspection : PyUnusedSymbolInspection() { override val reportTarget: PyUnusedLocalInspectionVisitor.ReportTarget diff --git a/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedLocalInspection.java b/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedLocalVariableInspection.java similarity index 97% rename from python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedLocalInspection.java rename to python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedLocalVariableInspection.java index 86e73dafd185..5104b801557c 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedLocalInspection.java +++ b/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedLocalVariableInspection.java @@ -15,7 +15,7 @@ import org.jetbrains.annotations.NotNull; import static com.intellij.codeInspection.options.OptPane.checkbox; import static com.intellij.codeInspection.options.OptPane.pane; -public final class PyUnusedLocalInspection extends PyInspection { +public final class PyUnusedLocalVariableInspection extends PyInspection { private static final Key KEY = Key.create("PyUnusedLocal.Visitor"); public boolean ignoreTupleUnpacking = true; diff --git a/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedParameterInspection.kt b/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedParameterInspection.kt index 5612d5bf63ae..01bc09d5c9b1 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedParameterInspection.kt +++ b/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedParameterInspection.kt @@ -7,7 +7,7 @@ import com.jetbrains.python.PyPsiBundle /** * Reports unused function parameters. Unused local variables and other local symbols are reported separately by - * [PyUnusedLocalInspection]; both inspections share [PyUnusedLocalInspectionVisitor] for the analysis. + * [PyUnusedLocalVariableInspection]; both inspections share [PyUnusedLocalInspectionVisitor] for the analysis. */ class PyUnusedParameterInspection : PyUnusedSymbolInspection() { @JvmField diff --git a/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedSymbolInspection.kt b/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedSymbolInspection.kt index 4ae9ed2e0a43..d15b452e1c99 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedSymbolInspection.kt +++ b/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedSymbolInspection.kt @@ -13,7 +13,7 @@ import com.jetbrains.python.inspections.PyInspectionVisitor * Base class for the unused-parameter and unused-function inspections. Both report a single kind of unused symbol via the shared * [PyUnusedLocalInspectionVisitor]; the actual control-flow analysis is shared across all unused-symbol inspections running on the * same session (see [PyUnusedLocalInspectionVisitor.SharedAnalysis]). Unused local variables and other local symbols are reported - * separately by [PyUnusedLocalInspection]. + * separately by [PyUnusedLocalVariableInspection]. */ abstract class PyUnusedSymbolInspection : PyInspection() { private val visitorKey = Key.create("${javaClass.simpleName}.Visitor") diff --git a/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedSymbolInspectionMerger.kt b/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedSymbolInspectionMerger.kt index b891736200a6..a13538ae8ced 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedSymbolInspectionMerger.kt +++ b/python/python-psi-impl/src/com/jetbrains/python/inspections/unusedLocal/PyUnusedSymbolInspectionMerger.kt @@ -6,13 +6,16 @@ import org.jdom.Element /** * Migrates user inspection-profile settings (enabled state, severity, and shared options such as `ignoreLambdaParameters`) from - * the former combined `PyUnusedLocalInspection` to the inspection that took over part of its reporting after PY-9687 split it into - * separate unused-local / unused-parameter / unused-function inspections. Without this, a user who had disabled or reconfigured - * `PyUnusedLocalInspection` would silently get the new inspections back at their defaults. + * the former combined `PyUnusedLocalInspection` to one of the inspections it was split into by PY-9687: the unused local-variable, + * unused-parameter, and unused-function inspections. Without this, a user who had disabled or reconfigured `PyUnusedLocalInspection` + * would silently get the new inspections back at their defaults. * - * Suppression is intentionally NOT inherited: `# noinspection PyUnusedLocal` no longer silences parameters or functions (the split - * is a deliberate clean break), so [getSuppressIds] returns only this inspection's own id instead of letting the base fall back to - * the source tool name. + * `PyUnusedLocalInspection` is deliberately no longer a live inspection short name — it is retired into a pure migration source. + * If it stayed live it would consume its own serialized settings while it initialized, and because inspection initialization order + * is not deterministic the mergers would often run after the settings were already gone, dropping the migration. + * + * Suppression is intentionally NOT inherited across the split: each merged inspection only answers to its own suppress id, so + * [getSuppressIds] returns that id instead of letting the base fall back to the source tool name. */ abstract class PyUnusedSymbolInspectionMerger : InspectionElementsMergerBase() { /** Suppress id of the merged (new) inspection. */ @@ -48,6 +51,11 @@ abstract class PyUnusedSymbolInspectionMerger : InspectionElementsMergerBase() { } } +class PyUnusedLocalVariableInspectionMerger : PyUnusedSymbolInspectionMerger() { + override fun getMergedToolName(): String = "PyUnusedLocalVariableInspection" + override val mergedSuppressId: String get() = "PyUnusedLocal" +} + class PyUnusedParameterInspectionMerger : PyUnusedSymbolInspectionMerger() { override fun getMergedToolName(): String = "PyUnusedParameterInspection" override val mergedSuppressId: String get() = "unused-parameter" diff --git a/python/src/com/jetbrains/python/console/ConsoleVisitorFilter.java b/python/src/com/jetbrains/python/console/ConsoleVisitorFilter.java index db7e0badd2c9..575587d8e2af 100644 --- a/python/src/com/jetbrains/python/console/ConsoleVisitorFilter.java +++ b/python/src/com/jetbrains/python/console/ConsoleVisitorFilter.java @@ -11,7 +11,7 @@ import com.jetbrains.python.inspections.PySingleQuotedDocstringInspection; import com.jetbrains.python.inspections.PyStatementEffectInspection; import com.jetbrains.python.inspections.PyUnboundLocalVariableInspection; import com.jetbrains.python.inspections.unusedLocal.PyUnusedFunctionInspection; -import com.jetbrains.python.inspections.unusedLocal.PyUnusedLocalInspection; +import com.jetbrains.python.inspections.unusedLocal.PyUnusedLocalVariableInspection; import com.jetbrains.python.inspections.unusedLocal.PyUnusedParameterInspection; import com.jetbrains.python.psi.PythonVisitorFilter; import com.jetbrains.python.validation.PyDocStringHighlightingAnnotator; @@ -28,7 +28,7 @@ final class ConsoleVisitorFilter implements PythonVisitorFilter { //if we're in console if (PydevConsoleRunnerUtil.isInPydevConsole(file)) { //inspections - if (visitorClass == PyUnusedLocalInspection.class || visitorClass == PyUnusedParameterInspection.class || + if (visitorClass == PyUnusedLocalVariableInspection.class || visitorClass == PyUnusedParameterInspection.class || visitorClass == PyUnusedFunctionInspection.class || visitorClass == PyUnboundLocalVariableInspection.class || visitorClass == PyStatementEffectInspection.class || visitorClass == PySingleQuotedDocstringInspection.class || visitorClass == PyIncorrectDocstringInspection.class || visitorClass == PyMissingOrEmptyDocstringInspection.class || diff --git a/python/src/com/jetbrains/python/pyi/PyiVisitorFilter.java b/python/src/com/jetbrains/python/pyi/PyiVisitorFilter.java index bb273887c378..1412e4e1b24a 100644 --- a/python/src/com/jetbrains/python/pyi/PyiVisitorFilter.java +++ b/python/src/com/jetbrains/python/pyi/PyiVisitorFilter.java @@ -11,7 +11,7 @@ import com.jetbrains.python.inspections.PyShadowingBuiltinsInspection; import com.jetbrains.python.inspections.PyStatementEffectInspection; import com.jetbrains.python.inspections.PyTypeCheckerInspection; import com.jetbrains.python.inspections.unusedLocal.PyUnusedFunctionInspection; -import com.jetbrains.python.inspections.unusedLocal.PyUnusedLocalInspection; +import com.jetbrains.python.inspections.unusedLocal.PyUnusedLocalVariableInspection; import com.jetbrains.python.inspections.unusedLocal.PyUnusedParameterInspection; import com.jetbrains.python.psi.PythonVisitorFilter; import org.jetbrains.annotations.NotNull; @@ -21,7 +21,7 @@ import java.util.Set; public final class PyiVisitorFilter implements PythonVisitorFilter { private static final @NotNull Set> disabledVisitors = ImmutableSet.of( - PyUnusedLocalInspection.class, + PyUnusedLocalVariableInspection.class, PyUnusedParameterInspection.class, PyUnusedFunctionInspection.class, PyStatementEffectInspection.class, diff --git a/python/testData/inspections/PyUnusedLocalInspection/UnusedCoroutine/asyncio/__init__.py b/python/testData/inspections/PyUnusedLocalVariableInspection/UnusedCoroutine/asyncio/__init__.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/UnusedCoroutine/asyncio/__init__.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/UnusedCoroutine/asyncio/__init__.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/UnusedCoroutine/asyncio/tasks.py b/python/testData/inspections/PyUnusedLocalVariableInspection/UnusedCoroutine/asyncio/tasks.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/UnusedCoroutine/asyncio/tasks.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/UnusedCoroutine/asyncio/tasks.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/UnusedCoroutine/b.py b/python/testData/inspections/PyUnusedLocalVariableInspection/UnusedCoroutine/b.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/UnusedCoroutine/b.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/UnusedCoroutine/b.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/allBindingsOfSameNameInOrPatternConsideredUsed.py b/python/testData/inspections/PyUnusedLocalVariableInspection/allBindingsOfSameNameInOrPatternConsideredUsed.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/allBindingsOfSameNameInOrPatternConsideredUsed.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/allBindingsOfSameNameInOrPatternConsideredUsed.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/argsAndKwargsInDunderInit.py b/python/testData/inspections/PyUnusedLocalVariableInspection/argsAndKwargsInDunderInit.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/argsAndKwargsInDunderInit.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/argsAndKwargsInDunderInit.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/callingLocalsLeadsToUnusedParameter.py b/python/testData/inspections/PyUnusedLocalVariableInspection/callingLocalsLeadsToUnusedParameter.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/callingLocalsLeadsToUnusedParameter.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/callingLocalsLeadsToUnusedParameter.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/doctestReference.py b/python/testData/inspections/PyUnusedLocalVariableInspection/doctestReference.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/doctestReference.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/doctestReference.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/exceptionTargetStartingWithUnderscore.py b/python/testData/inspections/PyUnusedLocalVariableInspection/exceptionTargetStartingWithUnderscore.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/exceptionTargetStartingWithUnderscore.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/exceptionTargetStartingWithUnderscore.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/fStringReferences.py b/python/testData/inspections/PyUnusedLocalVariableInspection/fStringReferences.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/fStringReferences.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/fStringReferences.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/fStringReferencesInComprehensions.py b/python/testData/inspections/PyUnusedLocalVariableInspection/fStringReferencesInComprehensions.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/fStringReferencesInComprehensions.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/fStringReferencesInComprehensions.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/forwardTypeDeclaration.py b/python/testData/inspections/PyUnusedLocalVariableInspection/forwardTypeDeclaration.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/forwardTypeDeclaration.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/forwardTypeDeclaration.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/ignoringVariablesStartingWithUnderscore.py b/python/testData/inspections/PyUnusedLocalVariableInspection/ignoringVariablesStartingWithUnderscore.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/ignoringVariablesStartingWithUnderscore.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/ignoringVariablesStartingWithUnderscore.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/incompleteFunctionWithoutName.py b/python/testData/inspections/PyUnusedLocalVariableInspection/incompleteFunctionWithoutName.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/incompleteFunctionWithoutName.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/incompleteFunctionWithoutName.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/moduleGetAttr.py b/python/testData/inspections/PyUnusedLocalVariableInspection/moduleGetAttr.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/moduleGetAttr.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/moduleGetAttr.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/newStyleTypeParameterInFuncNotMarkedAsUnused.py b/python/testData/inspections/PyUnusedLocalVariableInspection/newStyleTypeParameterInFuncNotMarkedAsUnused.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/newStyleTypeParameterInFuncNotMarkedAsUnused.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/newStyleTypeParameterInFuncNotMarkedAsUnused.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/nonlocal.py b/python/testData/inspections/PyUnusedLocalVariableInspection/nonlocal.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/nonlocal.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/nonlocal.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/overloadsAndImplementationInClass.py b/python/testData/inspections/PyUnusedLocalVariableInspection/overloadsAndImplementationInClass.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/overloadsAndImplementationInClass.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/overloadsAndImplementationInClass.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/parameterInMethodWithEllipsis.py b/python/testData/inspections/PyUnusedLocalVariableInspection/parameterInMethodWithEllipsis.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/parameterInMethodWithEllipsis.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/parameterInMethodWithEllipsis.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/py2.py b/python/testData/inspections/PyUnusedLocalVariableInspection/py2.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/py2.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/py2.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/singleUnderscore.py b/python/testData/inspections/PyUnusedLocalVariableInspection/singleUnderscore.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/singleUnderscore.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/singleUnderscore.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/topLevelOverloadsAndImplementation.py b/python/testData/inspections/PyUnusedLocalVariableInspection/topLevelOverloadsAndImplementation.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/topLevelOverloadsAndImplementation.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/topLevelOverloadsAndImplementation.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/tupleUnpacking.py b/python/testData/inspections/PyUnusedLocalVariableInspection/tupleUnpacking.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/tupleUnpacking.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/tupleUnpacking.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/typeDeclarationFollowsTargetBeforeItsFirstUsage.py b/python/testData/inspections/PyUnusedLocalVariableInspection/typeDeclarationFollowsTargetBeforeItsFirstUsage.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/typeDeclarationFollowsTargetBeforeItsFirstUsage.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/typeDeclarationFollowsTargetBeforeItsFirstUsage.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/underscorePrefixed.py b/python/testData/inspections/PyUnusedLocalVariableInspection/underscorePrefixed.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/underscorePrefixed.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/underscorePrefixed.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/unusedAssignmentExpression.py b/python/testData/inspections/PyUnusedLocalVariableInspection/unusedAssignmentExpression.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/unusedAssignmentExpression.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/unusedAssignmentExpression.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/unusedCapturePatterns.py b/python/testData/inspections/PyUnusedLocalVariableInspection/unusedCapturePatterns.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/unusedCapturePatterns.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/unusedCapturePatterns.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/unusedFunction.py b/python/testData/inspections/PyUnusedLocalVariableInspection/unusedFunction.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/unusedFunction.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/unusedFunction.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/unusedMultiAssignmentTarget.py b/python/testData/inspections/PyUnusedLocalVariableInspection/unusedMultiAssignmentTarget.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/unusedMultiAssignmentTarget.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/unusedMultiAssignmentTarget.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/unusedTypeAliasReferredToInOtherTypeAlias.py b/python/testData/inspections/PyUnusedLocalVariableInspection/unusedTypeAliasReferredToInOtherTypeAlias.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/unusedTypeAliasReferredToInOtherTypeAlias.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/unusedTypeAliasReferredToInOtherTypeAlias.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/unusedTypeParameterInClass.py b/python/testData/inspections/PyUnusedLocalVariableInspection/unusedTypeParameterInClass.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/unusedTypeParameterInClass.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/unusedTypeParameterInClass.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/unusedTypeParameterInTypeAlias.py b/python/testData/inspections/PyUnusedLocalVariableInspection/unusedTypeParameterInTypeAlias.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/unusedTypeParameterInTypeAlias.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/unusedTypeParameterInTypeAlias.py diff --git a/python/testData/inspections/PyUnusedLocalInspection/variableStartingWithUnderscore.py b/python/testData/inspections/PyUnusedLocalVariableInspection/variableStartingWithUnderscore.py similarity index 100% rename from python/testData/inspections/PyUnusedLocalInspection/variableStartingWithUnderscore.py rename to python/testData/inspections/PyUnusedLocalVariableInspection/variableStartingWithUnderscore.py diff --git a/python/testSrc/com/jetbrains/python/PySuppressInspectionsTest.java b/python/testSrc/com/jetbrains/python/PySuppressInspectionsTest.java index f3fe5514854c..9ad45403dfaa 100644 --- a/python/testSrc/com/jetbrains/python/PySuppressInspectionsTest.java +++ b/python/testSrc/com/jetbrains/python/PySuppressInspectionsTest.java @@ -19,7 +19,7 @@ import com.intellij.codeInsight.intention.IntentionAction; import com.jetbrains.python.fixtures.PyTestCase; import com.jetbrains.python.inspections.PyInspection; import com.jetbrains.python.inspections.unresolvedReference.PyUnresolvedReferencesInspection; -import com.jetbrains.python.inspections.unusedLocal.PyUnusedLocalInspection; +import com.jetbrains.python.inspections.unusedLocal.PyUnusedLocalVariableInspection; import java.util.List; @@ -37,7 +37,7 @@ public class PySuppressInspectionsTest extends PyTestCase { } public void testSuppressedUnusedLocal() { - doTestHighlighting(PyUnusedLocalInspection.class); + doTestHighlighting(PyUnusedLocalVariableInspection.class); } public void testSuppressForImport() { // PY-2240 diff --git a/python/testSrc/com/jetbrains/python/inspections/PyUnusedLocalInspectionTest.java b/python/testSrc/com/jetbrains/python/inspections/PyUnusedLocalInspectionTest.java index eec8e55f003c..120d82a4afda 100644 --- a/python/testSrc/com/jetbrains/python/inspections/PyUnusedLocalInspectionTest.java +++ b/python/testSrc/com/jetbrains/python/inspections/PyUnusedLocalInspectionTest.java @@ -19,7 +19,7 @@ import com.intellij.codeInspection.LocalInspectionTool; import com.intellij.idea.TestFor; import com.jetbrains.python.fixtures.PyInspectionTestCase; import com.jetbrains.python.inspections.unusedLocal.PyUnusedFunctionInspection; -import com.jetbrains.python.inspections.unusedLocal.PyUnusedLocalInspection; +import com.jetbrains.python.inspections.unusedLocal.PyUnusedLocalVariableInspection; import com.jetbrains.python.inspections.unusedLocal.PyUnusedParameterInspection; import com.jetbrains.python.psi.LanguageLevel; import org.jetbrains.annotations.NotNull; @@ -29,7 +29,7 @@ import java.util.List; public class PyUnusedLocalInspectionTest extends PyInspectionTestCase { public void testPy2() { - final PyUnusedLocalInspection inspection = new PyUnusedLocalInspection(); + final PyUnusedLocalVariableInspection inspection = new PyUnusedLocalVariableInspection(); inspection.ignoreTupleUnpacking = false; final PyUnusedParameterInspection parameterInspection = new PyUnusedParameterInspection(); parameterInspection.ignoreLambdaParameters = false; @@ -139,21 +139,21 @@ public class PyUnusedLocalInspectionTest extends PyInspectionTestCase { // PY-27435 public void testVariableStartingWithUnderscore() { - final PyUnusedLocalInspection inspection = new PyUnusedLocalInspection(); + final PyUnusedLocalVariableInspection inspection = new PyUnusedLocalVariableInspection(); inspection.ignoreVariablesStartingWithUnderscore = false; doTest(inspection); } // PY-20893 public void testExceptionTargetStartingWithUnderscore() { - final PyUnusedLocalInspection inspection = new PyUnusedLocalInspection(); + final PyUnusedLocalVariableInspection inspection = new PyUnusedLocalVariableInspection(); inspection.ignoreVariablesStartingWithUnderscore = true; doTest(inspection); } // PY-31388 public void testIgnoringVariablesStartingWithUnderscore() { - final PyUnusedLocalInspection inspection = new PyUnusedLocalInspection(); + final PyUnusedLocalVariableInspection inspection = new PyUnusedLocalVariableInspection(); inspection.ignoreVariablesStartingWithUnderscore = true; inspection.ignoreLoopIterationVariables = false; inspection.ignoreTupleUnpacking = false; @@ -312,7 +312,7 @@ def test(): @NotNull @Override protected Class getInspectionClass() { - return PyUnusedLocalInspection.class; + return PyUnusedLocalVariableInspection.class; } // Parameter and function reporting now live in separate inspections; enable them too so the shared testData keeps matching. @@ -322,12 +322,12 @@ def test(): return List.of(PyUnusedParameterInspection.class, PyUnusedFunctionInspection.class); } - private void doTest(@NotNull PyUnusedLocalInspection inspection) { + private void doTest(@NotNull PyUnusedLocalVariableInspection inspection) { doTest(inspection, new PyUnusedParameterInspection()); } - private void doTest(@NotNull PyUnusedLocalInspection inspection, @NotNull PyUnusedParameterInspection parameterInspection) { - final String path = "inspections/PyUnusedLocalInspection/" + getTestName(true) + ".py"; + private void doTest(@NotNull PyUnusedLocalVariableInspection inspection, @NotNull PyUnusedParameterInspection parameterInspection) { + final String path = "inspections/PyUnusedLocalVariableInspection/" + getTestName(true) + ".py"; myFixture.configureByFile(path); myFixture.enableInspections(inspection, parameterInspection, new PyUnusedFunctionInspection()); myFixture.checkHighlighting(true, false, true); diff --git a/python/testSrc/com/jetbrains/python/inspections/PyUnusedSymbolInspectionMergerTest.kt b/python/testSrc/com/jetbrains/python/inspections/PyUnusedSymbolInspectionMergerTest.kt index 4191484fa0f3..0f773adb7b66 100644 --- a/python/testSrc/com/jetbrains/python/inspections/PyUnusedSymbolInspectionMergerTest.kt +++ b/python/testSrc/com/jetbrains/python/inspections/PyUnusedSymbolInspectionMergerTest.kt @@ -38,6 +38,7 @@ class PyUnusedSymbolInspectionMergerTest : PyTestCase() {