Drop Experimental.Impact, simplify related code and tests

See https://github.com/Kotlin/KEEP/issues/95#issuecomment-383889404

Drop Experimental.changesMayBreak, Experimental.Impact, the concept of
signature/body usage, same module exemption. Make the majority of tests
single-module because there is now no difference in the checker between
usages from the same module or from another module
This commit is contained in:
Alexander Udalov
2018-04-25 19:16:28 +02:00
parent 1719eecb67
commit 4f53a54115
66 changed files with 350 additions and 1026 deletions
@@ -0,0 +1,83 @@
// !DIAGNOSTICS: -NOTHING_TO_INLINE
// !USE_EXPERIMENTAL: kotlin.Experimental
// FILE: api.kt
package api
@Experimental(Experimental.Level.WARNING)
annotation class API
@API
fun f() {}
// FILE: usage.kt
package usage
import api.*
fun use1() {
<!EXPERIMENTAL_API_USAGE!>f<!>()
}
val use2 = <!EXPERIMENTAL_API_USAGE!>f<!>()
// FILE: inline-usage.kt
package usage
import api.*
inline fun inlineUse1() {
<!EXPERIMENTAL_API_USAGE!>f<!>()
}
inline var inlineUse2: Unit
get() {
<!EXPERIMENTAL_API_USAGE!>f<!>()
}
set(value) {
<!EXPERIMENTAL_API_USAGE!>f<!>()
}
var inlineUse3: Unit
inline get() {
<!EXPERIMENTAL_API_USAGE!>f<!>()
}
@API
inline set(value) {
f()
}
@API
inline fun inlineUse4() {
f()
}
// FILE: private-inline-usage.kt
package usage
import api.*
private inline fun privateInline1() {
<!EXPERIMENTAL_API_USAGE!>f<!>()
}
internal inline fun privateInline2() {
<!EXPERIMENTAL_API_USAGE!>f<!>()
}
private inline var privateInline3: Unit
get() {
<!EXPERIMENTAL_API_USAGE!>f<!>()
}
set(value) {
<!EXPERIMENTAL_API_USAGE!>f<!>()
}
internal class InternalClass {
inline fun privateInline4() {
<!EXPERIMENTAL_API_USAGE!>f<!>()
}
}