Introduce Experimental and UseExperimental annotations
#KT-22759 In Progress
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
// !API_VERSION: 1.3
|
||||
// FILE: api.kt
|
||||
|
||||
package api
|
||||
|
||||
@Experimental(Experimental.Level.WARNING, [Experimental.Impact.COMPILATION])
|
||||
annotation class ExperimentalCompilationAPI
|
||||
|
||||
interface I
|
||||
|
||||
@ExperimentalCompilationAPI
|
||||
class Impl : I
|
||||
|
||||
// FILE: usage.kt
|
||||
|
||||
package usage
|
||||
|
||||
import api.*
|
||||
|
||||
open class Base(val i: I)
|
||||
|
||||
@UseExperimental(ExperimentalCompilationAPI::class)
|
||||
class Derived : Base(Impl())
|
||||
|
||||
@UseExperimental(ExperimentalCompilationAPI::class)
|
||||
class Delegated : I by Impl()
|
||||
|
||||
@UseExperimental(ExperimentalCompilationAPI::class)
|
||||
val delegatedProperty by Impl()
|
||||
operator fun I.getValue(x: Any?, y: Any?) = null
|
||||
Reference in New Issue
Block a user