Postpone companion object field visibility
Have to reconsider this issue because of interface companion objects.
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
// !LANGUAGE: +ProperVisibilityForCompanionObjectInstanceField
|
||||
// IGNORE_BACKEND: JS, JS_IR, JVM_IR
|
||||
|
||||
inline fun on(body: () -> Any) = body().toString()
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
// LANGUAGE_VERSION: 1.2
|
||||
|
||||
inline fun on(body: () -> Any) = body().toString()
|
||||
|
||||
class A {
|
||||
fun test() = foo()
|
||||
|
||||
private companion object {
|
||||
private fun foo() = on { this }
|
||||
|
||||
override fun toString() = "OK"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun box() = A().test()
|
||||
@@ -0,0 +1,16 @@
|
||||
// LANGUAGE_VERSION: 1.3
|
||||
|
||||
inline fun on(body: () -> Any) = body().toString()
|
||||
|
||||
class A {
|
||||
fun test() = foo()
|
||||
|
||||
private companion object {
|
||||
private fun foo() = on { this }
|
||||
|
||||
override fun toString() = "OK"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun box() = A().test()
|
||||
@@ -1,5 +1,4 @@
|
||||
// !LANGUAGE: +ProperVisibilityForCompanionObjectInstanceField
|
||||
// IGNORE_BACKEND: JS, JS_IR, JVM_IR
|
||||
|
||||
interface A {
|
||||
fun test() = ok()
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
// LANGUAGE_VERSION: 1.2
|
||||
|
||||
interface A {
|
||||
fun test() = ok()
|
||||
|
||||
private companion object {
|
||||
fun ok() = "OK"
|
||||
}
|
||||
}
|
||||
|
||||
class C : A
|
||||
|
||||
fun box() = C().test()
|
||||
@@ -0,0 +1,13 @@
|
||||
// LANGUAGE_VERSION: 1.3
|
||||
|
||||
interface A {
|
||||
fun test() = ok()
|
||||
|
||||
private companion object {
|
||||
fun ok() = "OK"
|
||||
}
|
||||
}
|
||||
|
||||
class C : A
|
||||
|
||||
fun box() = C().test()
|
||||
Reference in New Issue
Block a user