From 2e00879fe10c49a48217ff177d1ebd0f06857f41 Mon Sep 17 00:00:00 2001 From: Marco Pennekamp Date: Tue, 12 Mar 2024 15:47:46 +0100 Subject: [PATCH] [AA] Add sealed inheritors tests for inheritors with the wrong package - Inheriting from a sealed class in the wrong package is illegal, so a library test makes no sense here, as the test infrastructure wouldn't be able to compile the library. ^KT-66013 --- ...lingFileSealedInheritorsTestGenerated.java | 12 ++++++++++++ ...ceModuleSealedInheritorsTestGenerated.java | 12 ++++++++++++ ...lingFileSealedInheritorsTestGenerated.java | 12 ++++++++++++ ...ceModuleSealedInheritorsTestGenerated.java | 12 ++++++++++++ ...aledInheritorWrongPackageFromDependency.kt | 19 +++++++++++++++++++ ...ledInheritorWrongPackageFromDependency.txt | 2 ++ .../sealedInheritorWrongPackageSameModule.kt | 15 +++++++++++++++ .../sealedInheritorWrongPackageSameModule.txt | 2 ++ 8 files changed, 86 insertions(+) create mode 100644 analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageFromDependency.kt create mode 100644 analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageFromDependency.txt create mode 100644 analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageSameModule.kt create mode 100644 analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageSameModule.txt diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/inheritorsProvider/FirIdeNormalAnalysisSourceModuleDanglingFileSealedInheritorsTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/inheritorsProvider/FirIdeNormalAnalysisSourceModuleDanglingFileSealedInheritorsTestGenerated.java index c82499124e3..31a3bb43730 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/inheritorsProvider/FirIdeNormalAnalysisSourceModuleDanglingFileSealedInheritorsTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/inheritorsProvider/FirIdeNormalAnalysisSourceModuleDanglingFileSealedInheritorsTestGenerated.java @@ -81,6 +81,18 @@ public class FirIdeNormalAnalysisSourceModuleDanglingFileSealedInheritorsTestGen runTest("analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedClassTypeAliasedSameModule.kt"); } + @Test + @TestMetadata("sealedInheritorWrongPackageFromDependency.kt") + public void testSealedInheritorWrongPackageFromDependency() { + runTest("analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageFromDependency.kt"); + } + + @Test + @TestMetadata("sealedInheritorWrongPackageSameModule.kt") + public void testSealedInheritorWrongPackageSameModule() { + runTest("analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageSameModule.kt"); + } + @Test @TestMetadata("sealedInterfaceFromDependency.kt") public void testSealedInterfaceFromDependency() { diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/inheritorsProvider/FirIdeNormalAnalysisSourceModuleSealedInheritorsTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/inheritorsProvider/FirIdeNormalAnalysisSourceModuleSealedInheritorsTestGenerated.java index ec1413b10b5..b51dbc6b9c9 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/inheritorsProvider/FirIdeNormalAnalysisSourceModuleSealedInheritorsTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/inheritorsProvider/FirIdeNormalAnalysisSourceModuleSealedInheritorsTestGenerated.java @@ -81,6 +81,18 @@ public class FirIdeNormalAnalysisSourceModuleSealedInheritorsTestGenerated exten runTest("analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedClassTypeAliasedSameModule.kt"); } + @Test + @TestMetadata("sealedInheritorWrongPackageFromDependency.kt") + public void testSealedInheritorWrongPackageFromDependency() { + runTest("analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageFromDependency.kt"); + } + + @Test + @TestMetadata("sealedInheritorWrongPackageSameModule.kt") + public void testSealedInheritorWrongPackageSameModule() { + runTest("analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageSameModule.kt"); + } + @Test @TestMetadata("sealedInterfaceFromDependency.kt") public void testSealedInterfaceFromDependency() { diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/inheritorsProvider/FirStandaloneNormalAnalysisSourceModuleDanglingFileSealedInheritorsTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/inheritorsProvider/FirStandaloneNormalAnalysisSourceModuleDanglingFileSealedInheritorsTestGenerated.java index 4467800e636..61f624f688c 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/inheritorsProvider/FirStandaloneNormalAnalysisSourceModuleDanglingFileSealedInheritorsTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/inheritorsProvider/FirStandaloneNormalAnalysisSourceModuleDanglingFileSealedInheritorsTestGenerated.java @@ -81,6 +81,18 @@ public class FirStandaloneNormalAnalysisSourceModuleDanglingFileSealedInheritors runTest("analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedClassTypeAliasedSameModule.kt"); } + @Test + @TestMetadata("sealedInheritorWrongPackageFromDependency.kt") + public void testSealedInheritorWrongPackageFromDependency() { + runTest("analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageFromDependency.kt"); + } + + @Test + @TestMetadata("sealedInheritorWrongPackageSameModule.kt") + public void testSealedInheritorWrongPackageSameModule() { + runTest("analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageSameModule.kt"); + } + @Test @TestMetadata("sealedInterfaceFromDependency.kt") public void testSealedInterfaceFromDependency() { diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/inheritorsProvider/FirStandaloneNormalAnalysisSourceModuleSealedInheritorsTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/inheritorsProvider/FirStandaloneNormalAnalysisSourceModuleSealedInheritorsTestGenerated.java index d2ac0327d3e..1ac67a1e9ad 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/inheritorsProvider/FirStandaloneNormalAnalysisSourceModuleSealedInheritorsTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/inheritorsProvider/FirStandaloneNormalAnalysisSourceModuleSealedInheritorsTestGenerated.java @@ -81,6 +81,18 @@ public class FirStandaloneNormalAnalysisSourceModuleSealedInheritorsTestGenerate runTest("analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedClassTypeAliasedSameModule.kt"); } + @Test + @TestMetadata("sealedInheritorWrongPackageFromDependency.kt") + public void testSealedInheritorWrongPackageFromDependency() { + runTest("analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageFromDependency.kt"); + } + + @Test + @TestMetadata("sealedInheritorWrongPackageSameModule.kt") + public void testSealedInheritorWrongPackageSameModule() { + runTest("analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageSameModule.kt"); + } + @Test @TestMetadata("sealedInterfaceFromDependency.kt") public void testSealedInterfaceFromDependency() { diff --git a/analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageFromDependency.kt b/analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageFromDependency.kt new file mode 100644 index 00000000000..3de4aeee2c3 --- /dev/null +++ b/analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageFromDependency.kt @@ -0,0 +1,19 @@ +// MODULE: dependency +// FILE: MySealedClass.kt +package foo.bar + +sealed class MySealedClass + +class Inheritor1 : MySealedClass() + +// FILE: Inheritor2.kt +package foo + +import foo.bar.MySealedClass + +class Inheritor2 : MySealedClass() + +// MODULE: main(dependency) +// FILE: main.kt + +// class: foo/bar/MySealedClass diff --git a/analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageFromDependency.txt b/analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageFromDependency.txt new file mode 100644 index 00000000000..281ff687d48 --- /dev/null +++ b/analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageFromDependency.txt @@ -0,0 +1,2 @@ +foo/bar/Inheritor1 +class Inheritor1 : foo.bar.MySealedClass() diff --git a/analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageSameModule.kt b/analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageSameModule.kt new file mode 100644 index 00000000000..3050e285064 --- /dev/null +++ b/analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageSameModule.kt @@ -0,0 +1,15 @@ +// FILE: main.kt +package foo.bar + +sealed class MySealedClass + +class Inheritor1 : MySealedClass() + +// FILE: Inheritor2.kt +package foo + +import foo.bar.MySealedClass + +class Inheritor2 : MySealedClass() + +// class: foo/bar/MySealedClass diff --git a/analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageSameModule.txt b/analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageSameModule.txt new file mode 100644 index 00000000000..281ff687d48 --- /dev/null +++ b/analysis/analysis-api/testData/components/inheritorsProvider/sealedInheritors/sealedInheritorWrongPackageSameModule.txt @@ -0,0 +1,2 @@ +foo/bar/Inheritor1 +class Inheritor1 : foo.bar.MySealedClass()