Revert "KT-60954 [Analysis API] Unwrap variable assignments in `KtFirReferenceShortener`" This reverts commit ab8726cff1c2a9a57f5c007f04353923ca7e8a1c.
diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt index cfb8876..13d2fe6 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt
@@ -973,7 +973,7 @@ val scopes = shorteningContext.findScopesAtPosition(qualifiedProperty, getNamesToImport(), towerContextProvider) ?: return val availableCallables = shorteningContext.findPropertiesInScopes(scopes, callableSymbol.name) - val firPropertyAccess = qualifiedProperty.getCorrespondingPropertyAccessExpression() ?: return + val firPropertyAccess = qualifiedProperty.getOrBuildFir(firResolveSession) as? FirQualifiedAccessExpression ?: return // if explicit receiver is a property access or a function call, we cannot shorten it if (firPropertyAccess.explicitReceiver !is FirResolvedQualifier) return @@ -992,15 +992,6 @@ ) } - private fun KtDotQualifiedExpression.getCorrespondingPropertyAccessExpression(): FirPropertyAccessExpression? { - val accessExpression = when (val fir = getOrBuildFir(firResolveSession)) { - is FirVariableAssignment -> fir.unwrapLValue() - else -> fir - } - - return accessExpression as? FirPropertyAccessExpression - } - private fun processFunctionCall(functionCall: FirFunctionCall) { if (!canBePossibleToDropReceiver(functionCall)) return
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java index 19d6551..154cb84 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java
@@ -436,24 +436,6 @@ runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variable2.kt"); } - @Test - @TestMetadata("variableAssignment.kt") - public void testVariableAssignment() throws Exception { - runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment.kt"); - } - - @Test - @TestMetadata("variableAssignment_plusAssignOperator.kt") - public void testVariableAssignment_plusAssignOperator() throws Exception { - runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusAssignOperator.kt"); - } - - @Test - @TestMetadata("variableAssignment_plusOperator.kt") - public void testVariableAssignment_plusOperator() throws Exception { - runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusOperator.kt"); - } - @Nested @TestMetadata("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses") @TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/references/FirStandaloneNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/references/FirStandaloneNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java index dceb4b4..bd89f36 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/references/FirStandaloneNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/references/FirStandaloneNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java
@@ -436,24 +436,6 @@ runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variable2.kt"); } - @Test - @TestMetadata("variableAssignment.kt") - public void testVariableAssignment() throws Exception { - runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment.kt"); - } - - @Test - @TestMetadata("variableAssignment_plusAssignOperator.kt") - public void testVariableAssignment_plusAssignOperator() throws Exception { - runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusAssignOperator.kt"); - } - - @Test - @TestMetadata("variableAssignment_plusOperator.kt") - public void testVariableAssignment_plusOperator() throws Exception { - runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusOperator.kt"); - } - @Nested @TestMetadata("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses") @TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment.kt deleted file mode 100644 index 30f46a4..0000000 --- a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment.kt +++ /dev/null
@@ -1,11 +0,0 @@ -// FILE: main.kt -package test - -fun usage() { - <expr>dependency.foo = 20</expr> -} - -// FILE: dependency.kt -package dependency - -var foo: Int = 10 \ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment.txt deleted file mode 100644 index 3bdee8c..0000000 --- a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment.txt +++ /dev/null
@@ -1,7 +0,0 @@ -Before shortening: dependency.foo = 20 -with DO_NOT_SHORTEN: -with SHORTEN_IF_ALREADY_IMPORTED: -with SHORTEN_AND_IMPORT: -[qualifier] dependency.foo -with SHORTEN_AND_STAR_IMPORT: -[qualifier] dependency.foo
diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusAssignOperator.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusAssignOperator.kt deleted file mode 100644 index f61b08e..0000000 --- a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusAssignOperator.kt +++ /dev/null
@@ -1,15 +0,0 @@ -// FILE: main.kt -package test - -fun usage() { - <expr>dependency.foo += 20</expr> -} - -// FILE: dependency.kt -package dependency - -val foo: Foo = Foo() - -class Foo { - operator fun plusAssign(i: Int) {} -} \ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusAssignOperator.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusAssignOperator.txt deleted file mode 100644 index b0e2074..0000000 --- a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusAssignOperator.txt +++ /dev/null
@@ -1,7 +0,0 @@ -Before shortening: dependency.foo += 20 -with DO_NOT_SHORTEN: -with SHORTEN_IF_ALREADY_IMPORTED: -with SHORTEN_AND_IMPORT: -[qualifier] dependency.foo -with SHORTEN_AND_STAR_IMPORT: -[qualifier] dependency.foo
diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusOperator.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusOperator.kt deleted file mode 100644 index e4c3ee9..0000000 --- a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusOperator.kt +++ /dev/null
@@ -1,15 +0,0 @@ -// FILE: main.kt -package test - -fun usage() { - <expr>dependency.foo += 20</expr> -} - -// FILE: dependency.kt -package dependency - -var foo: Foo = Foo() - -class Foo { - operator fun plus(i: Int): Foo = this -} \ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusOperator.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusOperator.txt deleted file mode 100644 index b0e2074..0000000 --- a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/variableAssignment_plusOperator.txt +++ /dev/null
@@ -1,7 +0,0 @@ -Before shortening: dependency.foo += 20 -with DO_NOT_SHORTEN: -with SHORTEN_IF_ALREADY_IMPORTED: -with SHORTEN_AND_IMPORT: -[qualifier] dependency.foo -with SHORTEN_AND_STAR_IMPORT: -[qualifier] dependency.foo