Fix KT-47708 in FIR by transferring SAM annotations to synthetic constr.

This commit is contained in:
Mikhail Glukhikh
2022-04-20 12:41:14 +03:00
committed by Space
parent 9b6430d455
commit 6f17a8713c
14 changed files with 160 additions and 32 deletions
@@ -0,0 +1,21 @@
// FIR_DUMP
@RequiresOptIn
annotation class ExperimentalKotlinAnnotation
internal fun interface StableInterface {
@ExperimentalKotlinAnnotation // @ExperimentalStdlibApi
fun experimentalMethod()
}
fun regressionTestOverrides() {
val anonymous: StableInterface = object : StableInterface {
override fun <!OPT_IN_OVERRIDE_ERROR!>experimentalMethod<!>() {} // correctly fails check
}
val lambda = <!OPT_IN_USAGE_ERROR!>StableInterface<!> {} // this does not get flagged
}
@ExperimentalKotlinAnnotation
fun suppressed() {
val lambda = StableInterface {}
}