Test: visibility of inline class members

Also merge in testInlineClassWrapperPrimaryConstructorIsSynthetic
and testInlineClassConstructors.
This commit is contained in:
Dmitry Petrov
2018-09-05 15:20:31 +03:00
parent d8a6db8774
commit 43b4190f7c
7 changed files with 88 additions and 40 deletions
@@ -0,0 +1,43 @@
// !LANGUAGE: +InlineClasses
inline class Z(val x: Int) {
constructor(x: Long) : this(x.toInt())
internal constructor(x: Int, y: Int) : this(x + y)
private constructor(x: Short) : this(x.toInt())
fun publicFun() {}
internal fun internalFun() {}
private fun privateFun() {}
fun String.publicExtensionFun() {}
internal fun String.internalExtensionFun() {}
private fun String.privateExtensionFun() {}
val publicVal: Int get() = x
internal val internalVal: Int get() = x
private val privateVal: Int get() = x
val String.publicExtensionVal: Int get() = x
internal val String.internalExtensionVal: Int get() = x
private val String.privateExtensionVal: Int get() = x
var publicVar: Int
get() = x
set(v) {}
internal var internalVar: Int
get() = x
set(v) {}
private var privateVar: Int
get() = x
set(v) {}
var String.publicExtensionVar: Int
get() = x
set(v) {}
internal var String.internalExtensionVar: Int
get() = x
set(v) {}
private var String.privateExtensionVar: Int
get() = x
set(v) {}
}