Files
kotlin-fork/js/js.translator/testData/native/cases/nestedElements.kt
T
2015-09-22 15:00:24 +02:00

219 lines
5.9 KiB
Kotlin
Vendored

package foo
fun box(): String {
// in object
assertEquals("Object.Object.a", Object.Object.a)
assertEquals("Object.Object.b", Object.Object.b)
assertEquals(123, Object.Object.test())
assertEquals("Object.Object.Class().a", Object.Object.Class("Object.Object.Class().a").a)
assertEquals("Object.Object.Class().b", Object.Object.Class("something").b)
assertEquals(42, Object.Object.Class("something").test())
assertEquals("Object.Object.Class.a", Object.Object.Class.a)
assertEquals("Object.Object.Class.b", Object.Object.Class.b)
assertEquals(142, Object.Object.Class.test())
assertEquals("Object.Class().a", Object.Class("Object.Class().a").a)
assertEquals("Object.Class().b", Object.Class("something").b)
assertEquals(42, Object.Class("something").test())
assertEquals("Object.Class.a", Object.Class.a)
assertEquals("Object.Class.b", Object.Class.b)
assertEquals(142, Object.Class.test())
assertEquals("Object.Trait.a", Object.Trait.a)
assertEquals("Object.Trait.b", Object.Trait.b)
assertEquals(324, Object.Trait.test())
assertEquals("Object.a.a", Object.a.a)
assertEquals("Object.a.b", Object.a.b)
assertEquals(34, Object.a.test())
assertEquals("Object.b", Object.b)
assertEquals(23, Object.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())
//TODO inner class
// assertEquals("Class.InnerClass().a", Class().InnerClass("Class.InnerClass().a").a)
// assertEquals("Class.InnerClass().b", Class().InnerClass("something").b)
// assertEquals(66, Class().InnerClass("something").test())
assertEquals("Class.Trait.a", Class.Trait.a)
assertEquals("Class.Trait.b", Class.Trait.b)
assertEquals(55, Class.Trait.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())
// in trit
assertEquals("Trait.Object.a", Trait.Object.a)
assertEquals("Trait.Object.b", Trait.Object.b)
assertEquals(90, Trait.Object.test())
assertEquals("Trait.Class().a", Trait.Class("Trait.Class().a").a)
assertEquals("Trait.Class().b", Trait.Class("something").b)
assertEquals(66, Trait.Class("something").test())
assertEquals("Trait.Class.a", Trait.Class.a)
assertEquals("Trait.Class.b", Trait.Class.b)
assertEquals(88, Trait.Class.test())
assertEquals("Trait.Trait.a", Trait.Trait.a)
assertEquals("Trait.Trait.b", Trait.Trait.b)
assertEquals(55, Trait.Trait.test())
assertEquals("Trait.a.a", Trait.a.a)
assertEquals("Trait.a.b", Trait.a.b)
assertEquals(22, Trait.a.test())
assertEquals("Trait.b", Trait.b)
assertEquals(277, Trait.test())
return "OK";
}
@native
object Object {
object Object {
val a: String = noImpl
var b: String = noImpl
fun test(): Int = noImpl
@native("AnotherClass")
class Class(val a: String) {
var b: String = noImpl
fun test(): Int = noImpl
companion object {
val a: String = noImpl
var b: String = noImpl
fun test(): Int = noImpl
}
}
}
class Class(val a: String) {
var b: String = noImpl
fun test(): Int = noImpl
companion object {
val a: String = noImpl
var b: String = noImpl
fun test(): Int = noImpl
}
}
interface Trait {
val a: String
var b: String
fun test(): Int = noImpl
companion object {
val a: String = noImpl
var b: String = noImpl
fun test(): Int = noImpl
}
}
val a: Trait = noImpl
var b: String = noImpl
fun test(): Int = noImpl
}
@native("SomeClass")
class Class {
object Object {
val a: String = noImpl
var b: String = noImpl
fun test(): Int = noImpl
}
class Class(val a: String) {
var b: String = noImpl
fun test(): Int = noImpl
companion object {
val a: String = noImpl
var b: String = noImpl
fun test(): Int = noImpl
}
}
inner class InnerClass(val a: String) {
var b: String = noImpl
fun test(): Int = noImpl
}
interface Trait {
val a: String
var b: String
fun test(): Int = noImpl
companion object {
val a: String = noImpl
var b: String = noImpl
fun test(): Int = noImpl
}
}
companion object {
@native("aaa")
val a: Trait = noImpl
var b: String = noImpl
fun test(): Int = noImpl
}
}
@native
interface Trait {
@native("SomeObject")
object Object {
val a: String = noImpl
var b: String = noImpl
fun test(): Int = noImpl
}
class Class(val a: String) {
var b: String = noImpl
fun test(): Int = noImpl
companion object {
val a: String = noImpl
var b: String = noImpl
fun test(): Int = noImpl
}
}
@native("SomeTrait")
interface Trait {
val a: String
var b: String
fun test(): Int = noImpl
companion object {
val a: String = noImpl
var b: String = noImpl
fun test(): Int = noImpl
}
}
companion object {
val a: Trait = noImpl
var b: String = noImpl
fun test(): Int = noImpl
}
}