AA FIR: error annotation value for erroneous argument in class reference
This commit is contained in:
committed by
Ilya Kirillov
parent
298494fa08
commit
1464f33c5d
+6
@@ -79,6 +79,12 @@ public class Fe10IdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclaratio
|
||||
runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onFunction.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("onFunction_unresolvedClassReference.kt")
|
||||
public void testOnFunction_unresolvedClassReference() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onFunction_unresolvedClassReference.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("onProperty.kt")
|
||||
public void testOnProperty() throws Exception {
|
||||
|
||||
+1
-1
@@ -135,7 +135,7 @@ internal object FirAnnotationValueConverter {
|
||||
}
|
||||
}
|
||||
is FirGetClassCall -> {
|
||||
val symbol = (argument as FirResolvedQualifier).symbol
|
||||
val symbol = (argument as? FirResolvedQualifier)?.symbol
|
||||
when {
|
||||
symbol == null -> KtKClassAnnotationValue.KtErrorClassAnnotationValue(sourcePsi)
|
||||
symbol.classId.isLocal -> KtKClassAnnotationValue.KtLocalKClassAnnotationValue(
|
||||
|
||||
+6
@@ -79,6 +79,12 @@ public class FirIdeDependentAnalysisSourceModuleAnalysisApiAnnotationsOnDeclarat
|
||||
runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onFunction.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("onFunction_unresolvedClassReference.kt")
|
||||
public void testOnFunction_unresolvedClassReference() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onFunction_unresolvedClassReference.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("onProperty.kt")
|
||||
public void testOnProperty() throws Exception {
|
||||
|
||||
+6
@@ -79,6 +79,12 @@ public class FirIdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDeclaration
|
||||
runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onFunction.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("onFunction_unresolvedClassReference.kt")
|
||||
public void testOnFunction_unresolvedClassReference() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onFunction_unresolvedClassReference.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("onProperty.kt")
|
||||
public void testOnProperty() throws Exception {
|
||||
|
||||
+6
@@ -79,6 +79,12 @@ public class FirStandaloneNormalAnalysisSourceModuleAnalysisApiAnnotationsOnDecl
|
||||
runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onFunction.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("onFunction_unresolvedClassReference.kt")
|
||||
public void testOnFunction_unresolvedClassReference() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/annotations/annotationsOnDeclaration/direct/onFunction_unresolvedClassReference.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("onProperty.kt")
|
||||
public void testOnProperty() throws Exception {
|
||||
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
KtDeclaration: KtNamedFunction foo
|
||||
annotations: [
|
||||
A(a = 1)
|
||||
psi: KtAnnotationEntry
|
||||
]
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
annotation class A(val a: Int, val c: KClass<*>)
|
||||
|
||||
@A(1, Unknown::class)
|
||||
fun fo<caret>o(): Int = 42
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
KtDeclaration: KtNamedFunction foo
|
||||
annotations: [
|
||||
A(a = 1, c = UNRESOLVED_CLASS::class)
|
||||
psi: KtAnnotationEntry
|
||||
]
|
||||
Reference in New Issue
Block a user