From 26dbeb9b6ff711085bfc9816365a6503839887f9 Mon Sep 17 00:00:00 2001 From: Roman Golyshev Date: Tue, 20 Jun 2023 17:44:21 +0200 Subject: [PATCH] KTIJ-25530 [Analysis API] Add missing test cases for Java statics Can be done now because KT-58980 is fixed --- ...alysisApiImportOptimizerTestGenerated.java | 12 ++++++++ ...alysisApiImportOptimizerTestGenerated.java | 12 ++++++++ ...alysisApiImportOptimizerTestGenerated.java | 12 ++++++++ ...icFunctionImportFromJavaChildClass.imports | 3 ++ ...dStaticFunctionImportFromJavaChildClass.kt | 29 +++++++++++++++++++ ...icFunctionImportFromJavaChildClass.imports | 0 ...dStaticFunctionImportFromJavaChildClass.kt | 28 ++++++++++++++++++ 7 files changed, 96 insertions(+) create mode 100644 analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedStaticFunctionImportFromJavaChildClass.imports create mode 100644 analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedStaticFunctionImportFromJavaChildClass.kt create mode 100644 analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedStaticFunctionImportFromJavaChildClass.imports create mode 100644 analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedStaticFunctionImportFromJavaChildClass.kt diff --git a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/importOptimizer/Fe10IdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGenerated.java b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/importOptimizer/Fe10IdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGenerated.java index 41c923c9265..5f151d5cbe6 100644 --- a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/importOptimizer/Fe10IdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGenerated.java +++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/importOptimizer/Fe10IdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGenerated.java @@ -100,6 +100,12 @@ public class Fe10IdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGene runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedInvokeOperatorImport.kt"); } + @Test + @TestMetadata("unusedStaticFunctionImportFromJavaChildClass.kt") + public void testUnusedStaticFunctionImportFromJavaChildClass() throws Exception { + runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedStaticFunctionImportFromJavaChildClass.kt"); + } + @Test @TestMetadata("usedAliasedFunctionReference.kt") public void testUsedAliasedFunctionReference() throws Exception { @@ -172,6 +178,12 @@ public class Fe10IdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGene runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorImport.kt"); } + @Test + @TestMetadata("usedStaticFunctionImportFromJavaChildClass.kt") + public void testUsedStaticFunctionImportFromJavaChildClass() throws Exception { + runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedStaticFunctionImportFromJavaChildClass.kt"); + } + @Test @TestMetadata("usedTypeAsTypeParameter.kt") public void testUsedTypeAsTypeParameter() throws Exception { diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/importOptimizer/FirIdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/importOptimizer/FirIdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGenerated.java index 2553a560bdd..cf48682b435 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/importOptimizer/FirIdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/importOptimizer/FirIdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGenerated.java @@ -100,6 +100,12 @@ public class FirIdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGener runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedInvokeOperatorImport.kt"); } + @Test + @TestMetadata("unusedStaticFunctionImportFromJavaChildClass.kt") + public void testUnusedStaticFunctionImportFromJavaChildClass() throws Exception { + runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedStaticFunctionImportFromJavaChildClass.kt"); + } + @Test @TestMetadata("usedAliasedFunctionReference.kt") public void testUsedAliasedFunctionReference() throws Exception { @@ -172,6 +178,12 @@ public class FirIdeNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGener runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorImport.kt"); } + @Test + @TestMetadata("usedStaticFunctionImportFromJavaChildClass.kt") + public void testUsedStaticFunctionImportFromJavaChildClass() throws Exception { + runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedStaticFunctionImportFromJavaChildClass.kt"); + } + @Test @TestMetadata("usedTypeAsTypeParameter.kt") public void testUsedTypeAsTypeParameter() throws Exception { diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/importOptimizer/FirStandaloneNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/importOptimizer/FirStandaloneNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGenerated.java index b733966811a..b0aae99cc51 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/importOptimizer/FirStandaloneNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/importOptimizer/FirStandaloneNormalAnalysisSourceModuleAnalysisApiImportOptimizerTestGenerated.java @@ -100,6 +100,12 @@ public class FirStandaloneNormalAnalysisSourceModuleAnalysisApiImportOptimizerTe runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedInvokeOperatorImport.kt"); } + @Test + @TestMetadata("unusedStaticFunctionImportFromJavaChildClass.kt") + public void testUnusedStaticFunctionImportFromJavaChildClass() throws Exception { + runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedStaticFunctionImportFromJavaChildClass.kt"); + } + @Test @TestMetadata("usedAliasedFunctionReference.kt") public void testUsedAliasedFunctionReference() throws Exception { @@ -172,6 +178,12 @@ public class FirStandaloneNormalAnalysisSourceModuleAnalysisApiImportOptimizerTe runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorImport.kt"); } + @Test + @TestMetadata("usedStaticFunctionImportFromJavaChildClass.kt") + public void testUsedStaticFunctionImportFromJavaChildClass() throws Exception { + runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedStaticFunctionImportFromJavaChildClass.kt"); + } + @Test @TestMetadata("usedTypeAsTypeParameter.kt") public void testUsedTypeAsTypeParameter() throws Exception { diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedStaticFunctionImportFromJavaChildClass.imports b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedStaticFunctionImportFromJavaChildClass.imports new file mode 100644 index 00000000000..4ad8905a13b --- /dev/null +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedStaticFunctionImportFromJavaChildClass.imports @@ -0,0 +1,3 @@ +KotlinChild.nonStaticFieldFromBase +dependency.Child.STATIC_CONSTANT_FROM_BASE +dependency.Child.staticFunFromBase diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedStaticFunctionImportFromJavaChildClass.kt b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedStaticFunctionImportFromJavaChildClass.kt new file mode 100644 index 00000000000..ba3362f208a --- /dev/null +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/unusedStaticFunctionImportFromJavaChildClass.kt @@ -0,0 +1,29 @@ +// FILE: main.kt +import dependency.Base +import dependency.Child +import dependency.Child.staticFunFromBase +import dependency.Child.STATIC_CONSTANT_FROM_BASE +import KotlinChild.nonStaticFieldFromBase + +fun usage() { + Child.staticFunFromBase() + Child.STATIC_CONSTANT_FROM_BASE + KotlinChild.nonStaticFieldFromBase +} + +object KotlinChild : Base() + +// FILE: dependency/Base.java +package dependency; + +public class Base { + public static void staticFunFromBase() {} + public static String STATIC_CONSTANT_FROM_BASE = ""; + + public String nonStaticFieldFromBase = ""; +} + +// FILE: dependency/Child.java +package dependency; + +public class Child extends Base {} \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedStaticFunctionImportFromJavaChildClass.imports b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedStaticFunctionImportFromJavaChildClass.imports new file mode 100644 index 00000000000..e69de29bb2d diff --git a/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedStaticFunctionImportFromJavaChildClass.kt b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedStaticFunctionImportFromJavaChildClass.kt new file mode 100644 index 00000000000..3cf328dd6a9 --- /dev/null +++ b/analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedStaticFunctionImportFromJavaChildClass.kt @@ -0,0 +1,28 @@ +// FILE: main.kt +import dependency.Base +import dependency.Child.staticFunFromBase +import dependency.Child.STATIC_CONSTANT_FROM_BASE +import KotlinChild.nonStaticFieldFromBase + +fun usage() { + staticFunFromBase() + STATIC_CONSTANT_FROM_BASE + nonStaticFieldFromBase +} + +object KotlinChild : Base() + +// FILE: dependency/Base.java +package dependency; + +public class Base { + public static void staticFunFromBase() {} + public static String STATIC_CONSTANT_FROM_BASE = ""; + + public String nonStaticFieldFromBase = ""; +} + +// FILE: dependency/Child.java +package dependency; + +public class Child extends Base {} \ No newline at end of file