[CFA] Mark arguments of all annotation calls as USED_AS_EXPRESSION

Also revert hacky fix of KT-37294 introduced in 80caa063b
#KT-37447 Fixed
This commit is contained in:
Dmitriy Novozhilov
2020-03-12 18:53:45 +03:00
parent b9ffed3f04
commit 31776d9a3b
7 changed files with 193 additions and 11 deletions
+23
View File
@@ -0,0 +1,23 @@
// ISSUE: KT-37447
class Test_1 {
@Target(AnnotationTarget.VALUE_PARAMETER)
annotation class Range(val min: Long = 0)
fun foo(@Range(min = -90L) x: Int) = Unit // KtPrefixExpression isn't marked as BindingContext.USED_AS_EXPRESSION
}
class Test_2 {
@Target(AnnotationTarget.FUNCTION)
annotation class Range(val min: Long = 0)
@Range(min = -90L) // KtPrefixExpression is marked as BindingContext.USED_AS_EXPRESSION
fun foo(x: Int) = Unit
}
class Test_3 {
@Target(AnnotationTarget.EXPRESSION)
annotation class Range(val min: Long = 0)
fun foo(x: Int) = @Range(min = -90L) Unit
}