blob: c48df7114bc089b36d48968fc73e36b052b674d1 [file]
// RUN_PIPELINE_TILL: BACKEND
// LANGUAGE: -ForbidAnnotationsWithUseSiteTargetOnExpressions
// ISSUE: KT-75242
annotation class Decl
fun test(x: Int) {
if (x > 10)
<!ANNOTATION_WITH_USE_SITE_TARGET_ON_EXPRESSION_WARNING!>@all:Decl<!> { }
for (i in 1..10) <!ANNOTATION_WITH_USE_SITE_TARGET_ON_EXPRESSION_WARNING!>@field:Decl<!> { }
when (x) {
1 -> <!ANNOTATION_WITH_USE_SITE_TARGET_ON_EXPRESSION_WARNING!>@setparam:Decl<!> { "" }
}
}
@Retention(AnnotationRetention.SOURCE)
@Target(AnnotationTarget.EXPRESSION)
annotation class Source
fun test() {
<!ANNOTATION_WITH_USE_SITE_TARGET_ON_EXPRESSION_WARNING!>@all:Source<!>
when { else -> {} }
<!ANNOTATION_WITH_USE_SITE_TARGET_ON_EXPRESSION_WARNING!>@get:Source<!>
while (true) { break }
<!ANNOTATION_WITH_USE_SITE_TARGET_ON_EXPRESSION_WARNING!>@receiver:Source<!>
for (i in 1..10) {}
}
/* GENERATED_FIR_TAGS: annotationDeclaration, annotationUseSiteTargetAll, annotationUseSiteTargetField,
annotationUseSiteTargetPropertyGetter, annotationUseSiteTargetReceiver, annotationUseSiteTargetSetterParameter, break,
comparisonExpression, equalityExpression, forLoop, functionDeclaration, ifExpression, integerLiteral, localProperty,
propertyDeclaration, rangeExpression, stringLiteral, whenExpression, whenWithSubject, whileLoop */