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");
|
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
|
@Test
|
||||||
@TestMetadata("onTypeAlias.kt")
|
@TestMetadata("onTypeAlias.kt")
|
||||||
public void testOnTypeAlias() throws Exception {
|
public void testOnTypeAlias() throws Exception {
|
||||||
|
|||||||
+4
@@ -130,6 +130,10 @@ internal object FirAnnotationValueConverter {
|
|||||||
else null
|
else null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
is FirEnumEntrySymbol -> {
|
||||||
|
KtEnumEntryAnnotationValue(resolvedSymbol.callableId, sourcePsi)
|
||||||
|
}
|
||||||
|
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -91,6 +91,12 @@ public class FirIdeDependentAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarat
|
|||||||
runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty.kt");
|
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
|
@Test
|
||||||
@TestMetadata("onTypeAlias.kt")
|
@TestMetadata("onTypeAlias.kt")
|
||||||
public void testOnTypeAlias() throws Exception {
|
public void testOnTypeAlias() throws Exception {
|
||||||
|
|||||||
+6
@@ -91,6 +91,12 @@ public class FirIdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclaration
|
|||||||
runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty.kt");
|
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
|
@Test
|
||||||
@TestMetadata("onTypeAlias.kt")
|
@TestMetadata("onTypeAlias.kt")
|
||||||
public void testOnTypeAlias() throws Exception {
|
public void testOnTypeAlias() throws Exception {
|
||||||
|
|||||||
+6
@@ -91,6 +91,12 @@ public class FirStandaloneNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDecl
|
|||||||
runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onProperty.kt");
|
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
|
@Test
|
||||||
@TestMetadata("onTypeAlias.kt")
|
@TestMetadata("onTypeAlias.kt")
|
||||||
public void testOnTypeAlias() throws Exception {
|
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