JS backend: support named class objects

Temporary solution until named objects in classes are supported in js backend
This commit is contained in:
Pavel V. Talanov
2015-02-12 20:29:54 +03:00
parent f0003449e5
commit 1174010f33
3 changed files with 44 additions and 1 deletions
@@ -0,0 +1,33 @@
package foo
trait Named {
class object Bar {
val g = "a";
}
}
class Foo {
class object {
val g = "b";
}
}
fun box(): String {
assertEquals("a", Named.Bar.g, "Named.Bar.g")
assertEquals("a", Named.g, "Named.g")
assertEquals("b", Foo.Default.g, "Foo.Default.g")
assertEquals("b", Foo.g, "Foo.g")
assertEquals("b", foo(Foo), "foo(Foo)")
assertEquals("b", foo(Foo.Default), "foo(Foo.Default)")
assertEquals("c", Named.ext(), "Named.ext()")
assertEquals("c", Named.Bar.ext(), "Named.Bar.ext()")
return "OK"
}
fun foo(f: Foo.Default) = f.g
fun Named.Bar.ext() = "c"