From 306f404a690cef278e74043b6075bda8a93e1142 Mon Sep 17 00:00:00 2001 From: Roman Golyshev Date: Tue, 24 Oct 2023 17:29:32 +0200 Subject: [PATCH] KTIJ-26423 [AA] Get rid of local declarations in `KtFirImportOptimizer` Adjust `computeImportableName` to return null for when passed symbol is local --- .../org/jetbrains/kotlin/analysis/api/fir/utils/firUtils.kt | 2 ++ .../usedExtensionFunction_invalidArguments.importsAnalysis | 3 --- .../usedExtensionProperty_invalidReceiver.importsAnalysis | 3 --- .../usedInvokeOperator_invalidArguments.importsAnalysis | 3 --- ...nusedExtensionFunction_componentOperator.importsAnalysis | 6 ------ ...mplicitReturnTypeReference_destructuring.importsAnalysis | 3 --- .../analyseImports/unusedImportFromObject.importsAnalysis | 3 --- .../unusedInvokeOperatorImport.importsAnalysis | 3 --- ...rscoreVariableInDestructuringDeclaration.importsAnalysis | 6 ------ .../usedExtensionFunction_componentOperator.importsAnalysis | 6 ------ .../usedInvokeOperatorAliasedImport.importsAnalysis | 6 ------ .../usedInvokeOperatorExplicitImport.importsAnalysis | 6 ------ .../analyseImports/usedInvokeOperatorImport.importsAnalysis | 3 --- 13 files changed, 2 insertions(+), 51 deletions(-) diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/utils/firUtils.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/utils/firUtils.kt index d1dba2a6c3e..e15aa9629ea 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/utils/firUtils.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/utils/firUtils.kt @@ -54,6 +54,8 @@ internal fun KtTypeNullability.toConeNullability() = when (this) { * @return An [FqName] by which this symbol can be imported (if it is possible) */ internal fun FirCallableSymbol<*>.computeImportableName(useSiteSession: FirSession): FqName? { + if (callableId.isLocal) return null + // if classId == null, callable is topLevel val containingClassId = callableId.classId ?: return callableId.asSingleFqName() diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedExtensionFunction_invalidArguments.importsAnalysis b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedExtensionFunction_invalidArguments.importsAnalysis index 6b4c8595a41..a9925a686e1 100644 --- a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedExtensionFunction_invalidArguments.importsAnalysis +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedExtensionFunction_invalidArguments.importsAnalysis @@ -1,8 +1,5 @@ USED DECLARATIONS: -Declaration: .b -By names: [b] - Declaration: dependency.Bar By names: [Bar] diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedExtensionProperty_invalidReceiver.importsAnalysis b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedExtensionProperty_invalidReceiver.importsAnalysis index 9a02e99aa0d..11f7ddae113 100644 --- a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedExtensionProperty_invalidReceiver.importsAnalysis +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedExtensionProperty_invalidReceiver.importsAnalysis @@ -1,8 +1,5 @@ USED DECLARATIONS: -Declaration: .b -By names: [b] - Declaration: dependency.fooExtProp By names: [fooExtProp] diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedInvokeOperator_invalidArguments.importsAnalysis b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedInvokeOperator_invalidArguments.importsAnalysis index 437b9e4aa2f..e86d480c12f 100644 --- a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedInvokeOperator_invalidArguments.importsAnalysis +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedInvokeOperator_invalidArguments.importsAnalysis @@ -1,8 +1,5 @@ USED DECLARATIONS: -Declaration: .b -By names: [b] - Declaration: dependency.Bar By names: [Bar] diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedExtensionFunction_componentOperator.importsAnalysis b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedExtensionFunction_componentOperator.importsAnalysis index 347dd5335ab..29cb4edb651 100644 --- a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedExtensionFunction_componentOperator.importsAnalysis +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedExtensionFunction_componentOperator.importsAnalysis @@ -1,11 +1,5 @@ USED DECLARATIONS: -Declaration: . -By names: [] - -Declaration: .target -By names: [target] - Declaration: dependency.component1 By names: [component1] diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedImplicitReturnTypeReference_destructuring.importsAnalysis b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedImplicitReturnTypeReference_destructuring.importsAnalysis index 7c58d6e2ef3..baf371ef824 100644 --- a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedImplicitReturnTypeReference_destructuring.importsAnalysis +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedImplicitReturnTypeReference_destructuring.importsAnalysis @@ -1,8 +1,5 @@ USED DECLARATIONS: -Declaration: . -By names: [] - Declaration: dependency.foo By names: [foo] diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedImportFromObject.importsAnalysis b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedImportFromObject.importsAnalysis index 2f352712c83..ec63e131d2e 100644 --- a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedImportFromObject.importsAnalysis +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedImportFromObject.importsAnalysis @@ -1,8 +1,5 @@ USED DECLARATIONS: -Declaration: .bar -By names: [bar] - Declaration: kotlin.with By names: [with] diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedInvokeOperatorImport.importsAnalysis b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedInvokeOperatorImport.importsAnalysis index 067dc1f3e9a..78c8842aa06 100644 --- a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedInvokeOperatorImport.importsAnalysis +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedInvokeOperatorImport.importsAnalysis @@ -1,8 +1,5 @@ USED DECLARATIONS: -Declaration: .foo -By names: [foo] - Declaration: kotlin.Int By names: [Int] diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedType_underscoreVariableInDestructuringDeclaration.importsAnalysis b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedType_underscoreVariableInDestructuringDeclaration.importsAnalysis index b71a49b62e0..1de0683d5a6 100644 --- a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedType_underscoreVariableInDestructuringDeclaration.importsAnalysis +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedType_underscoreVariableInDestructuringDeclaration.importsAnalysis @@ -1,11 +1,5 @@ USED DECLARATIONS: -Declaration: . -By names: [] - -Declaration: .holder -By names: [holder] - Declaration: dependency.Holder By names: [Holder] diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedExtensionFunction_componentOperator.importsAnalysis b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedExtensionFunction_componentOperator.importsAnalysis index 347dd5335ab..29cb4edb651 100644 --- a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedExtensionFunction_componentOperator.importsAnalysis +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedExtensionFunction_componentOperator.importsAnalysis @@ -1,11 +1,5 @@ USED DECLARATIONS: -Declaration: . -By names: [] - -Declaration: .target -By names: [target] - Declaration: dependency.component1 By names: [component1] diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorAliasedImport.importsAnalysis b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorAliasedImport.importsAnalysis index 66ae8105bab..8d5e584c281 100644 --- a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorAliasedImport.importsAnalysis +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorAliasedImport.importsAnalysis @@ -1,11 +1,5 @@ USED DECLARATIONS: -Declaration: .m -By names: [m] - -Declaration: .str -By names: [str] - Declaration: dependency.invoke By names: [str] diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorExplicitImport.importsAnalysis b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorExplicitImport.importsAnalysis index de41a118428..64d8f980362 100644 --- a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorExplicitImport.importsAnalysis +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorExplicitImport.importsAnalysis @@ -1,11 +1,5 @@ USED DECLARATIONS: -Declaration: .m -By names: [m] - -Declaration: .str -By names: [str] - Declaration: dependency.invoke By names: [invoke] diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorImport.importsAnalysis b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorImport.importsAnalysis index 647813a7432..0cb324f8acb 100644 --- a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorImport.importsAnalysis +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorImport.importsAnalysis @@ -1,8 +1,5 @@ USED DECLARATIONS: -Declaration: .foo -By names: [foo] - Declaration: dependency.invoke By names: [invoke]