febac0dd5f
^KT-65979
71 lines
1.3 KiB
Kotlin
Vendored
71 lines
1.3 KiB
Kotlin
Vendored
/*
|
|
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
|
* that can be found in the LICENSE file.
|
|
*/
|
|
// JVM_ABI_K1_K2_DIFF: KT-63864
|
|
// WITH_STDLIB
|
|
|
|
import kotlin.test.*
|
|
|
|
val sb = StringBuilder()
|
|
|
|
class A {
|
|
init{
|
|
sb.appendLine ("A::init")
|
|
}
|
|
|
|
val a = 1
|
|
|
|
companion object :B(1) {
|
|
init {
|
|
sb.appendLine ("A::companion")
|
|
}
|
|
|
|
fun foo() {
|
|
sb.appendLine("A::companion::foo")
|
|
}
|
|
}
|
|
|
|
object AObj : B(){
|
|
init {
|
|
sb.appendLine("A::Obj")
|
|
}
|
|
fun foo() {
|
|
sb.appendLine("A::AObj::foo")
|
|
}
|
|
}
|
|
}
|
|
|
|
fun box(): String {
|
|
sb.appendLine("main")
|
|
A.foo()
|
|
A.foo()
|
|
A.AObj.foo()
|
|
A.AObj.foo()
|
|
|
|
assertEquals("""
|
|
main
|
|
B::constructor(1)
|
|
A::companion
|
|
A::companion::foo
|
|
A::companion::foo
|
|
B::constructor(0)
|
|
B::constructor()
|
|
A::Obj
|
|
A::AObj::foo
|
|
A::AObj::foo
|
|
|
|
""".trimIndent(), sb.toString())
|
|
return "OK"
|
|
}
|
|
|
|
open class B(val a:Int, val b:Int) {
|
|
constructor(a:Int):this (a, 0) {
|
|
sb.appendLine("B::constructor(" + a.toString()+ ")")
|
|
}
|
|
constructor():this(0) {
|
|
sb.appendLine("B::constructor()")
|
|
}
|
|
}
|
|
|