blob: ffb38d2f97b1d56128e261f176467b5aa76eb49b [file]
// ISSUE: KT-87192
// LANGUAGE: +CompanionBlocksAndExtensions
// WITH_STDLIB
class C {
companion {
val foo: List<String>
field: MutableList<String> = mutableListOf()
fun insideCompanion() {
foo.add("a")
bar.add("a")
}
}
companion object {
fun insideCompanionObject() {
foo.add("b")
bar.add("b")
}
}
fun insideClass() {
foo.add("c")
bar.add("c")
}
}
companion val C.bar: List<String>
field: MutableList<String> = mutableListOf()
companion fun C.companionExtension() {
bar.add("d")
}
fun topLevel() {
C.bar.add("e")
}
fun box(): String {
C.insideCompanion()
C.insideCompanionObject()
C().insideClass()
C.companionExtension()
topLevel()
if (C.foo.joinToString("") != "abc") return C.foo.joinToString()
if (C.bar.joinToString("") != "abcde") return C.bar.joinToString()
return "OK"
}