AA FIR: handle Java annotation vararg values

This commit is contained in:
Jinseong Jeon
2022-11-15 23:26:40 -08:00
committed by Ilya Kirillov
parent a0f4c674f5
commit 6caf384bad
8 changed files with 57 additions and 0 deletions
@@ -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 {
@@ -130,6 +130,10 @@ internal object FirAnnotationValueConverter {
else null
}
is FirEnumEntrySymbol -> {
KtEnumEntryAnnotationValue(resolvedSymbol.callableId, sourcePsi)
}
else -> null
}
}
@@ -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 {
@@ -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 {
@@ -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 {
@@ -0,0 +1,3 @@
KtDeclaration: KtProperty foo
annotations: [
]
@@ -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 f<caret>oo = ""
}
@@ -0,0 +1,5 @@
KtDeclaration: KtProperty foo
annotations: [
JavaAnno(types = java.lang.annotation.ElementType.FIELD)
psi: KtAnnotationEntry
]