diff --git a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/annotations/Fe10IdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/annotations/Fe10IdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java index 66f5a5a6444..41ef5acc121 100644 --- a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/annotations/Fe10IdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java +++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/annotations/Fe10IdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java @@ -91,6 +91,12 @@ public class Fe10IdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclaratio runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty.kt"); } + @Test + @TestMetadata("onProperty_javaAnnotation_targets.kt") + public void testOnProperty_javaAnnotation_targets() throws Exception { + runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.kt"); + } + @Test @TestMetadata("onTypeAlias.kt") public void testOnTypeAlias() throws Exception { diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/evaluate/FirAnnotationValueConverter.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/evaluate/FirAnnotationValueConverter.kt index 2dae2766ac0..439f0e248d2 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/evaluate/FirAnnotationValueConverter.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/evaluate/FirAnnotationValueConverter.kt @@ -130,6 +130,10 @@ internal object FirAnnotationValueConverter { else null } + is FirEnumEntrySymbol -> { + KtEnumEntryAnnotationValue(resolvedSymbol.callableId, sourcePsi) + } + else -> null } } diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/annotations/FirIdeDependentAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/annotations/FirIdeDependentAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java index 0d910207fe8..5f1ee1b1dbf 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/annotations/FirIdeDependentAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/annotations/FirIdeDependentAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java @@ -91,6 +91,12 @@ public class FirIdeDependentAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarat runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty.kt"); } + @Test + @TestMetadata("onProperty_javaAnnotation_targets.kt") + public void testOnProperty_javaAnnotation_targets() throws Exception { + runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.kt"); + } + @Test @TestMetadata("onTypeAlias.kt") public void testOnTypeAlias() throws Exception { diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/annotations/FirIdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/annotations/FirIdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java index b607377ad52..9d9db67b2b4 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/annotations/FirIdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/annotations/FirIdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java @@ -91,6 +91,12 @@ public class FirIdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclaration runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty.kt"); } + @Test + @TestMetadata("onProperty_javaAnnotation_targets.kt") + public void testOnProperty_javaAnnotation_targets() throws Exception { + runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.kt"); + } + @Test @TestMetadata("onTypeAlias.kt") public void testOnTypeAlias() throws Exception { diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/annotations/FirStandaloneNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/annotations/FirStandaloneNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java index 8885eaf4b50..5c7808fffc3 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/annotations/FirStandaloneNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/annotations/FirStandaloneNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarationsTestGenerated.java @@ -91,6 +91,12 @@ public class FirStandaloneNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDecl runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty.kt"); } + @Test + @TestMetadata("onProperty_javaAnnotation_targets.kt") + public void testOnProperty_javaAnnotation_targets() throws Exception { + runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.kt"); + } + @Test @TestMetadata("onTypeAlias.kt") public void testOnTypeAlias() throws Exception { diff --git a/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.descriptors.txt b/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.descriptors.txt new file mode 100644 index 00000000000..f7c614f7708 --- /dev/null +++ b/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.descriptors.txt @@ -0,0 +1,3 @@ +KtDeclaration: KtProperty foo +annotations: [ +] diff --git a/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.kt b/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.kt new file mode 100644 index 00000000000..5593ef571f0 --- /dev/null +++ b/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.kt @@ -0,0 +1,21 @@ +// FILE: JavaAnno.java + +import java.lang.annotation.Target; +import java.lang.annotation.ElementType; + +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.METHOD; + +@Target({FIELD, METHOD}) +public @interface JavaAnno() { + ElementType[] types(); +} + +// FILE: test.kt + +import java.lang.annotation.ElementType.FIELD + +class Test { + @JavaAnno(FIELD) + val foo = "" +} \ No newline at end of file diff --git a/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.txt b/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.txt new file mode 100644 index 00000000000..1f763d6be33 --- /dev/null +++ b/analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty_javaAnnotation_targets.txt @@ -0,0 +1,5 @@ +KtDeclaration: KtProperty foo +annotations: [ + JavaAnno(types = java.lang.annotation.ElementType.FIELD) + psi: KtAnnotationEntry +]