[AA] Fix processing of member invoke functions from objects in reference shortening and import optimization

Correctly handle `KtDotQualifedExpression`s with function calls as
selectors (like `foo.Bar()`). Without such handling, processing of
member invoke calls on objects was broken both
for reference shortener (causing KTIJ-26695)
and import optimizer (causing KTIJ-23407)

Also, to fix KTIJ-23407, do not ignore qualifiers with
`ImplicitInvokeCall` fake source

^KTIJ-26695 Fixed
^KTIJ-23407 Fixed
This commit is contained in:
Roman Golyshev
2023-08-17 21:26:52 +02:00
committed by teamcity
parent 4958196c51
commit 52d6ac5ed0
13 changed files with 108 additions and 4 deletions
@@ -118,6 +118,12 @@ public class Fe10IdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGene
runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedInvokeOperatorImport.kt");
}
@Test
@TestMetadata("unusedObject_invokeOperator.kt")
public void testUnusedObject_invokeOperator() throws Exception {
runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedObject_invokeOperator.kt");
}
@Test
@TestMetadata("unusedStaticFunctionImportFromJavaChildClass.kt")
public void testUnusedStaticFunctionImportFromJavaChildClass() throws Exception {
@@ -214,6 +220,12 @@ public class Fe10IdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGene
runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorImport.kt");
}
@Test
@TestMetadata("usedObject_invokeOperator.kt")
public void testUsedObject_invokeOperator() throws Exception {
runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedObject_invokeOperator.kt");
}
@Test
@TestMetadata("usedStaticFunctionImportFromJavaChildClass.kt")
public void testUsedStaticFunctionImportFromJavaChildClass() throws Exception {