Fix @PublishedApi checking
This commit is contained in:
+137
-4
@@ -1,9 +1,40 @@
|
||||
// !DIAGNOSTICS: -EXPOSED_PARAMETER_TYPE -NOTHING_TO_INLINE
|
||||
inline fun call(a: A) {
|
||||
a.test()
|
||||
testTopLevel()
|
||||
publishedTopLevel()
|
||||
|
||||
a.publishedVar
|
||||
a.publishedVar = 1
|
||||
|
||||
publishedVarTopLevel
|
||||
publishedVarTopLevel = 1
|
||||
}
|
||||
|
||||
inline var inlineVar: Int
|
||||
get() {
|
||||
val a = A()
|
||||
a.test()
|
||||
publishedTopLevel()
|
||||
|
||||
a.publishedVar
|
||||
a.publishedVar = 1
|
||||
|
||||
publishedVarTopLevel
|
||||
publishedVarTopLevel = 1
|
||||
return 1
|
||||
}
|
||||
set(value) {
|
||||
val a = A()
|
||||
a.test()
|
||||
publishedTopLevel()
|
||||
|
||||
a.publishedVar
|
||||
a.publishedVar = 1
|
||||
|
||||
publishedVarTopLevel
|
||||
publishedVarTopLevel = 1
|
||||
}
|
||||
|
||||
@PublishedApi
|
||||
internal class A {
|
||||
@PublishedApi
|
||||
@@ -11,6 +42,16 @@ internal class A {
|
||||
publicFun()
|
||||
internalFun()
|
||||
privateFun()
|
||||
|
||||
publicVarTopLevel
|
||||
publicVarTopLevel = 1
|
||||
internalVarTopLevel
|
||||
internalVarTopLevel = 1
|
||||
privateVarTopLevel
|
||||
privateVarTopLevel = 1
|
||||
|
||||
publishedVar
|
||||
publishedVar = 1
|
||||
}
|
||||
|
||||
@PublishedApi
|
||||
@@ -18,25 +59,117 @@ internal class A {
|
||||
publicFun()
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalFun<!>()
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateFun<!>()
|
||||
|
||||
publicVarTopLevel
|
||||
publicVarTopLevel = 1
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!>
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!> = 1
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!>
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!> = 1
|
||||
|
||||
publishedVar
|
||||
publishedVar = 1
|
||||
}
|
||||
|
||||
|
||||
@PublishedApi
|
||||
internal inline var publishedVar: Int
|
||||
get() {
|
||||
publicFun()
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalFun<!>()
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateFun<!>()
|
||||
|
||||
publicVarTopLevel
|
||||
publicVarTopLevel = 1
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!>
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!> = 1
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!>
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!> = 1
|
||||
return 1
|
||||
}
|
||||
|
||||
set(value) {
|
||||
publicFun()
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalFun<!>()
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateFun<!>()
|
||||
|
||||
publicVarTopLevel
|
||||
publicVarTopLevel = 1
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!>
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!> = 1
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!>
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!> = 1
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@PublishedApi
|
||||
internal fun testTopLevel() {
|
||||
internal fun publishedTopLevel() {
|
||||
publicFun()
|
||||
internalFun()
|
||||
privateFun()
|
||||
|
||||
publicVarTopLevel
|
||||
publicVarTopLevel = 1
|
||||
internalVarTopLevel
|
||||
internalVarTopLevel = 1
|
||||
privateVarTopLevel
|
||||
privateVarTopLevel = 1
|
||||
}
|
||||
|
||||
@PublishedApi
|
||||
inline internal fun testTopLevelInline() {
|
||||
inline internal fun publishedTopLevelInline() {
|
||||
publicFun()
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalFun<!>()
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateFun<!>()
|
||||
|
||||
publicVarTopLevel
|
||||
publicVarTopLevel = 1
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!>
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!> = 1
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!>
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!> = 1
|
||||
}
|
||||
|
||||
@PublishedApi
|
||||
inline internal var publishedVarTopLevel: Int
|
||||
get() {
|
||||
publicFun()
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalFun<!>()
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateFun<!>()
|
||||
|
||||
publicVarTopLevel
|
||||
publicVarTopLevel = 1
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!>
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!> = 1
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!>
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!> = 1
|
||||
return 1
|
||||
}
|
||||
|
||||
set(value) {
|
||||
publicFun()
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalFun<!>()
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateFun<!>()
|
||||
|
||||
publicVarTopLevel
|
||||
publicVarTopLevel = 1
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!>
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!> = 1
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!>
|
||||
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!> = 1
|
||||
}
|
||||
|
||||
|
||||
fun publicFun() {}
|
||||
|
||||
internal fun internalFun() {}
|
||||
|
||||
private fun privateFun() {}
|
||||
|
||||
|
||||
var publicVarTopLevel = 1
|
||||
|
||||
internal var internalVarTopLevel = 1
|
||||
|
||||
private var privateVarTopLevel = 1
|
||||
@@ -1,14 +1,20 @@
|
||||
package
|
||||
|
||||
public var inlineVar: kotlin.Int
|
||||
internal var internalVarTopLevel: kotlin.Int
|
||||
private var privateVarTopLevel: kotlin.Int
|
||||
public var publicVarTopLevel: kotlin.Int
|
||||
@kotlin.PublishedApi internal var publishedVarTopLevel: kotlin.Int
|
||||
public inline fun call(/*0*/ a: A): kotlin.Unit
|
||||
internal fun internalFun(): kotlin.Unit
|
||||
private fun privateFun(): kotlin.Unit
|
||||
public fun publicFun(): kotlin.Unit
|
||||
@kotlin.PublishedApi internal fun testTopLevel(): kotlin.Unit
|
||||
@kotlin.PublishedApi internal inline fun testTopLevelInline(): kotlin.Unit
|
||||
@kotlin.PublishedApi internal fun publishedTopLevel(): kotlin.Unit
|
||||
@kotlin.PublishedApi internal inline fun publishedTopLevelInline(): kotlin.Unit
|
||||
|
||||
@kotlin.PublishedApi internal final class A {
|
||||
public constructor A()
|
||||
@kotlin.PublishedApi internal final var publishedVar: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
@kotlin.PublishedApi internal final fun test(): kotlin.Unit
|
||||
|
||||
Reference in New Issue
Block a user