From 5689dedea0acf8d4c77f56bda383ffbb74ef6fd8 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Tue, 12 Mar 2024 17:17:16 +0100 Subject: [PATCH] [Analysis API FIR] KtFirPsiTypeProvider: drop redundant TODO Regular type annotations work as expected ^KT-62351 Obsolete --- .../api/fir/components/KtFirPsiTypeProvider.kt | 4 ++-- ...lysisApiKtTypeByPsiTypeProviderTestGenerated.java | 12 ++++++++++++ ...lysisApiKtTypeByPsiTypeProviderTestGenerated.java | 12 ++++++++++++ ...lysisApiKtTypeByPsiTypeProviderTestGenerated.java | 12 ++++++++++++ .../psiType/asKtType/typeAnnotation.kt | 10 ++++++++++ .../psiType/asKtType/typeAnnotation.txt | 2 ++ .../psiType/asKtType/typeAnnotationOnString.kt | 10 ++++++++++ .../psiType/asKtType/typeAnnotationOnString.txt | 2 ++ 8 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotation.kt create mode 100644 analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotation.txt create mode 100644 analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotationOnString.kt create mode 100644 analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotationOnString.txt diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirPsiTypeProvider.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirPsiTypeProvider.kt index 3b3d8167302..c6e2d9c6d66 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirPsiTypeProvider.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirPsiTypeProvider.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -138,7 +138,7 @@ internal class KtFirPsiTypeProvider( val javaType = JavaTypeImpl.create(psiType, javaElementSourceFactory.createTypeSource(psiType)) val javaTypeRef = buildJavaTypeRef { - //TODO KT-62351 + // Annotations are unused during `resolveIfJavaType`, so there is no need to provide something annotationBuilder = { emptyList() } type = javaType } diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/psiTypeProvider/FirIdeDependentAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProviderTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/psiTypeProvider/FirIdeDependentAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProviderTestGenerated.java index d24b3226be7..cbc5a1caa09 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/psiTypeProvider/FirIdeDependentAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProviderTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/psiTypeProvider/FirIdeDependentAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProviderTestGenerated.java @@ -99,6 +99,18 @@ public class FirIdeDependentAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProvid runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/primitive.kt"); } + @Test + @TestMetadata("typeAnnotation.kt") + public void testTypeAnnotation() { + runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotation.kt"); + } + + @Test + @TestMetadata("typeAnnotationOnString.kt") + public void testTypeAnnotationOnString() { + runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotationOnString.kt"); + } + @Test @TestMetadata("typeParameterWithKotlinUseSite.kt") public void testTypeParameterWithKotlinUseSite() { diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/psiTypeProvider/FirIdeNormalAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProviderTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/psiTypeProvider/FirIdeNormalAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProviderTestGenerated.java index 068be255738..d614aca06b4 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/psiTypeProvider/FirIdeNormalAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProviderTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/psiTypeProvider/FirIdeNormalAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProviderTestGenerated.java @@ -99,6 +99,18 @@ public class FirIdeNormalAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProviderT runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/primitive.kt"); } + @Test + @TestMetadata("typeAnnotation.kt") + public void testTypeAnnotation() { + runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotation.kt"); + } + + @Test + @TestMetadata("typeAnnotationOnString.kt") + public void testTypeAnnotationOnString() { + runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotationOnString.kt"); + } + @Test @TestMetadata("typeParameterWithKotlinUseSite.kt") public void testTypeParameterWithKotlinUseSite() { diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/psiTypeProvider/FirStandaloneNormalAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProviderTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/psiTypeProvider/FirStandaloneNormalAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProviderTestGenerated.java index a5267a9d288..8531804ea8d 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/psiTypeProvider/FirStandaloneNormalAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProviderTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/psiTypeProvider/FirStandaloneNormalAnalysisSourceModuleAnalysisApiKtTypeByPsiTypeProviderTestGenerated.java @@ -99,6 +99,18 @@ public class FirStandaloneNormalAnalysisSourceModuleAnalysisApiKtTypeByPsiTypePr runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/primitive.kt"); } + @Test + @TestMetadata("typeAnnotation.kt") + public void testTypeAnnotation() { + runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotation.kt"); + } + + @Test + @TestMetadata("typeAnnotationOnString.kt") + public void testTypeAnnotationOnString() { + runTest("analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotationOnString.kt"); + } + @Test @TestMetadata("typeParameterWithKotlinUseSite.kt") public void testTypeParameterWithKotlinUseSite() { diff --git a/analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotation.kt b/analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotation.kt new file mode 100644 index 00000000000..9248163753f --- /dev/null +++ b/analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotation.kt @@ -0,0 +1,10 @@ +// FILE: KotlinClass.kt +@Target(AnnotationTarget.TYPE) +annotation class MyAnno + +class KotlinClass + +// FILE: A.java +public interface A { + @MyAnno KotlinClass foo(); +} diff --git a/analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotation.txt b/analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotation.txt new file mode 100644 index 00000000000..ebc56f0b97f --- /dev/null +++ b/analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotation.txt @@ -0,0 +1,2 @@ +PsiType: PsiType:KotlinClass +KtType: @MyAnno KotlinClass? diff --git a/analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotationOnString.kt b/analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotationOnString.kt new file mode 100644 index 00000000000..9d29e09ee7e --- /dev/null +++ b/analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotationOnString.kt @@ -0,0 +1,10 @@ +// FILE: KotlinClass.kt +@Target(AnnotationTarget.TYPE) +annotation class MyAnno + +class KotlinClass + +// FILE: A.java +public interface A { + @MyAnno String foo(); +} diff --git a/analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotationOnString.txt b/analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotationOnString.txt new file mode 100644 index 00000000000..596e8afb713 --- /dev/null +++ b/analysis/analysis-api/testData/components/psiTypeProvider/psiType/asKtType/typeAnnotationOnString.txt @@ -0,0 +1,2 @@ +PsiType: PsiType:String +KtType: @MyAnno kotlin.String?