From 9dcd142f0de9169fc7da79fabeb8324aea9ab47d Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 5 Oct 2023 16:20:20 +0200 Subject: [PATCH] fixup! [Analysis API] implement an API to get a substitution based on a inheritance relationship between classes --- ...eCreateInheritanceTypeSubstitutorTestGenerated.java | 6 ++++++ ...eCreateInheritanceTypeSubstitutorTestGenerated.java | 6 ++++++ ...eCreateInheritanceTypeSubstitutorTestGenerated.java | 6 ++++++ .../createInheritanceTypeSubstitutor/diamond.kt | 10 ++++++++++ .../diamond.result.txt | 3 +++ 5 files changed, 31 insertions(+) create mode 100644 analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/diamond.kt create mode 100644 analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/diamond.result.txt diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/substitutorProvider/FirIdeDependentAnalysisSourceModuleCreateInheritanceTypeSubstitutorTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/substitutorProvider/FirIdeDependentAnalysisSourceModuleCreateInheritanceTypeSubstitutorTestGenerated.java index 4d09e04d93d..839266ad70f 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/substitutorProvider/FirIdeDependentAnalysisSourceModuleCreateInheritanceTypeSubstitutorTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/substitutorProvider/FirIdeDependentAnalysisSourceModuleCreateInheritanceTypeSubstitutorTestGenerated.java @@ -58,6 +58,12 @@ public class FirIdeDependentAnalysisSourceModuleCreateInheritanceTypeSubstitutor runTest("analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/cycle.kt"); } + @Test + @TestMetadata("diamond.kt") + public void testDiamond() throws Exception { + runTest("analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/diamond.kt"); + } + @Test @TestMetadata("directComplexSubstitution.kt") public void testDirectComplexSubstitution() throws Exception { diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/substitutorProvider/FirIdeNormalAnalysisSourceModuleCreateInheritanceTypeSubstitutorTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/substitutorProvider/FirIdeNormalAnalysisSourceModuleCreateInheritanceTypeSubstitutorTestGenerated.java index 671231e81ab..465a8f55e64 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/substitutorProvider/FirIdeNormalAnalysisSourceModuleCreateInheritanceTypeSubstitutorTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/substitutorProvider/FirIdeNormalAnalysisSourceModuleCreateInheritanceTypeSubstitutorTestGenerated.java @@ -58,6 +58,12 @@ public class FirIdeNormalAnalysisSourceModuleCreateInheritanceTypeSubstitutorTes runTest("analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/cycle.kt"); } + @Test + @TestMetadata("diamond.kt") + public void testDiamond() throws Exception { + runTest("analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/diamond.kt"); + } + @Test @TestMetadata("directComplexSubstitution.kt") public void testDirectComplexSubstitution() throws Exception { diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/substitutorProvider/FirStandaloneNormalAnalysisSourceModuleCreateInheritanceTypeSubstitutorTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/substitutorProvider/FirStandaloneNormalAnalysisSourceModuleCreateInheritanceTypeSubstitutorTestGenerated.java index 9e091d26ac6..f84c3eb732d 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/substitutorProvider/FirStandaloneNormalAnalysisSourceModuleCreateInheritanceTypeSubstitutorTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/substitutorProvider/FirStandaloneNormalAnalysisSourceModuleCreateInheritanceTypeSubstitutorTestGenerated.java @@ -58,6 +58,12 @@ public class FirStandaloneNormalAnalysisSourceModuleCreateInheritanceTypeSubstit runTest("analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/cycle.kt"); } + @Test + @TestMetadata("diamond.kt") + public void testDiamond() throws Exception { + runTest("analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/diamond.kt"); + } + @Test @TestMetadata("directComplexSubstitution.kt") public void testDirectComplexSubstitution() throws Exception { diff --git a/analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/diamond.kt b/analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/diamond.kt new file mode 100644 index 00000000000..fb03387db46 --- /dev/null +++ b/analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/diamond.kt @@ -0,0 +1,10 @@ +// WITH_STDLIB + +interface AA : BB, CC + +interface BB : DD +interface CC : DD + +interface DD { + fun foo(): Pair +} diff --git a/analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/diamond.result.txt b/analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/diamond.result.txt new file mode 100644 index 00000000000..37bb3ec2ebf --- /dev/null +++ b/analysis/analysis-api/testData/components/substitutorProvider/createInheritanceTypeSubstitutor/diamond.result.txt @@ -0,0 +1,3 @@ +Substitutor: then +Substituted callables: + foo(): Pair