blob: 4dd6ee90b9fc91cfb4f48c80e61019df7e63701d [file] [log] [blame]
// !OPT_IN: kotlin.RequiresOptIn
// FILE: api.kt
package api
@RequiresOptIn(level = RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.BINARY)
annotation class ExperimentalAPI
@ExperimentalAPI
const val MEANING = 42
annotation class Anno(val value: Int)
// FILE: usage-propagate.kt
package usage1
import api.*
@ExperimentalAPI
@Anno(MEANING)
fun usage() {}
// FILE: usage-use.kt
@file:OptIn(ExperimentalAPI::class)
package usage2
import api.*
// TODO: there should be no warning here
@Anno(<!OPT_IN_USAGE!>MEANING<!>)
fun usage() {}
// FILE: usage-none.kt
package usage3
import api.*
@Anno(<!OPT_IN_USAGE!>MEANING<!>)
fun usage() {}