AA FIR: handle Java annotation vararg values
This commit is contained in:
committed by
Ilya Kirillov
parent
a0f4c674f5
commit
6caf384bad
+6
@@ -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 {
|
||||
|
||||
+4
@@ -130,6 +130,10 @@ internal object FirAnnotationValueConverter {
|
||||
else null
|
||||
}
|
||||
|
||||
is FirEnumEntrySymbol -> {
|
||||
KtEnumEntryAnnotationValue(resolvedSymbol.callableId, sourcePsi)
|
||||
}
|
||||
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
+6
@@ -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 {
|
||||
|
||||
+6
@@ -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 {
|
||||
|
||||
+6
@@ -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 {
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
KtDeclaration: KtProperty foo
|
||||
annotations: [
|
||||
]
|
||||
+21
@@ -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 = ""
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
KtDeclaration: KtProperty foo
|
||||
annotations: [
|
||||
JavaAnno(types = java.lang.annotation.ElementType.FIELD)
|
||||
psi: KtAnnotationEntry
|
||||
]
|
||||
Reference in New Issue
Block a user