Do not require experimental propagation for body usages in same module

Unless it's a usage inside the body of an effectively public inline
function

 #KT-22759 In Progress
This commit is contained in:
Alexander Udalov
2018-01-02 18:49:34 +01:00
parent 6d4e8f3781
commit 29c35e6686
37 changed files with 511 additions and 50 deletions
@@ -1,3 +1,4 @@
// -- Module: <api> --
package
package api {
@@ -17,6 +18,13 @@ package api {
}
}
// -- Module: <usage1> --
package
package api {
}
package usage1 {
@api.ExperimentalAPI public val inProperty: () -> kotlin.Unit
@api.ExperimentalAPI public val inPropertyAccessor: () -> kotlin.Unit
@@ -45,6 +53,13 @@ package usage1 {
@api.ExperimentalAPI @api.EAnno public typealias Typealias = kotlin.Unit
}
// -- Module: <usage2> --
package
package api {
}
package usage2 {
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) public val inProperty: () -> kotlin.Unit
public val inPropertyAccessor: () -> kotlin.Unit
@@ -73,6 +88,13 @@ package usage2 {
@kotlin.UseExperimental(markerClass = {api.ExperimentalAPI::class}) @api.EAnno public typealias Typealias = kotlin.Unit
}
// -- Module: <usage3> --
package
package api {
}
package usage3 {
public val inProperty: () -> kotlin.Unit
public val inPropertyAccessor: () -> kotlin.Unit