blob: fc93815fec993100efb2aaad8aada755136ddb9b [file]
// FIR_IDENTICAL
// OPT_IN: kotlin.RequiresOptIn
// FILE: api.kt
package api
@RequiresOptIn(level = RequiresOptIn.Level.WARNING)
@Retention(AnnotationRetention.BINARY)
annotation class E
open class Base {
@E
open fun foo() {}
}
class DerivedInSameModule : Base() {
override fun <!OPT_IN_OVERRIDE!>foo<!>() {}
}
// FILE: usage-propagate.kt
package usage1
import api.*
open class Derived : Base() {
@E
override fun foo() {}
}
class SubDerived : Derived()
@E
class Derived2 : Base() {
override fun foo() {}
}
// FILE: usage-none.kt
package usage2
import api.*
class Derived : Base() {
override fun <!OPT_IN_OVERRIDE!>foo<!>() {}
}