Files
kotlin-fork/js/js.translator/testData/box/native/nestedElements.kt
T
Alexey Andreev 3b3fd0fa0d JS: fix DCE limits in test data to fit new kotlin.js size
The size has increased due to new implementation of KClass
2017-10-06 18:16:51 +03:00

129 lines
3.8 KiB
Kotlin
Vendored

// EXPECTED_REACHABLE_NODES: 1140
package foo
fun box(): String {
// in object
assertEquals("MyObject.Object.a", MyObject.Object.a)
assertEquals("MyObject.Object.b", MyObject.Object.b)
assertEquals(123, MyObject.Object.test())
assertEquals("MyObject.Object.Class().a", MyObject.Object.Class("MyObject.Object.Class().a").a)
assertEquals("MyObject.Object.Class().b", MyObject.Object.Class("something").b)
assertEquals(42, MyObject.Object.Class("something").test())
assertEquals("MyObject.Object.Class.a", MyObject.Object.Class.a)
assertEquals("MyObject.Object.Class.b", MyObject.Object.Class.b)
assertEquals(142, MyObject.Object.Class.test())
assertEquals("MyObject.Class().a", MyObject.Class("MyObject.Class().a").a)
assertEquals("MyObject.Class().b", MyObject.Class("something").b)
assertEquals(42, MyObject.Class("something").test())
assertEquals("MyObject.Class.a", MyObject.Class.a)
assertEquals("MyObject.Class.b", MyObject.Class.b)
assertEquals(142, MyObject.Class.test())
assertEquals("MyObject.a.a", MyObject.a.a)
assertEquals("MyObject.a.b", MyObject.a.b)
assertEquals(34, MyObject.a.test())
assertEquals("MyObject.b", MyObject.b)
assertEquals(23, MyObject.test())
// in class
assertEquals("Class.Object.a", Class.Object.a)
assertEquals("Class.Object.b", Class.Object.b)
assertEquals(55, Class.Object.test())
assertEquals("Class.Class().a", Class.Class("Class.Class().a").a)
assertEquals("Class.Class().b", Class.Class("something").b)
assertEquals(66, Class.Class("something").test())
assertEquals("Class.Class.a", Class.Class.a)
assertEquals("Class.Class.b", Class.Class.b)
assertEquals(88, Class.Class.test())
assertEquals("Class.a.a", Class.a.a)
assertEquals("Class.a.b", Class.a.b)
assertEquals(22, Class.a.test())
assertEquals("Class.b", Class.b)
assertEquals(77, Class.test())
return "OK";
}
external object MyObject {
object Object {
val a: String = definedExternally
var b: String = definedExternally
fun test(): Int = definedExternally
@JsName("AnotherClass")
class Class(a: String) {
val a: String
var b: String = definedExternally
fun test(): Int = definedExternally
companion object {
val a: String = definedExternally
var b: String = definedExternally
fun test(): Int = definedExternally
}
}
}
class Class(a: String) {
val a: String
var b: String = definedExternally
fun test(): Int = definedExternally
companion object {
val a: String = definedExternally
var b: String = definedExternally
fun test(): Int = definedExternally
}
}
interface Trait {
val a: String
var b: String
fun test(): Int
}
val a: Trait = definedExternally
var b: String = definedExternally
fun test(): Int = definedExternally
}
@JsName("SomeClass")
external class Class {
object Object {
val a: String = definedExternally
var b: String = definedExternally
fun test(): Int = definedExternally
}
class Class(a: String) {
val a: String
var b: String = definedExternally
fun test(): Int = definedExternally
companion object {
val a: String = definedExternally
var b: String = definedExternally
fun test(): Int = definedExternally
}
}
interface Trait {
val a: String
var b: String
fun test(): Int
}
companion object {
@JsName("aaa")
val a: Trait = definedExternally
var b: String = definedExternally
fun test(): Int = definedExternally
}
}