Tests for objects + delegation specifier resolution + override bindings for objects
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
~ns~namespace nestedObjects {
|
||||
object ~A~A {
|
||||
val b = `A.B`B
|
||||
val d = `A`A.`A.B`B.`A.B.A`A
|
||||
|
||||
object ~A.B~B {
|
||||
val a = `A.B.A`A
|
||||
val e = `A.B`B.`A.B.A`A
|
||||
|
||||
object ~A.B.A~A {
|
||||
val a = `A.B.A`A
|
||||
val b = `A.B`B
|
||||
val x = `ns`nestedObjects.`A`A.`A.B`B.`A.B.A`A
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
object ~B~B {
|
||||
val b = `B`B
|
||||
val c = `A`A.`A.B`B
|
||||
}
|
||||
|
||||
val a = `A`A
|
||||
val b = `B`B
|
||||
val c = `A`A.`A.B`B
|
||||
val d = A.B.`A.B.A`A
|
||||
val e = B.`!`A.B
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
namespace toplevelObjectDeclarations {
|
||||
class Foo(y : Int) {
|
||||
~foo()~virtual fun foo() : Int = 1
|
||||
}
|
||||
|
||||
object ~A~A : Foo(0) {
|
||||
~x~val x : Int = 2
|
||||
|
||||
fun test() {
|
||||
return `x`x + `foo()`foo()
|
||||
}
|
||||
}
|
||||
|
||||
object B : `!`A {}
|
||||
|
||||
~ns.x~val x = `A`A.`foo()`foo()
|
||||
|
||||
~y~val y = object : Foo(`ns.x`x) {
|
||||
{
|
||||
`ns.x`x + 12
|
||||
}
|
||||
|
||||
~y.foo()~override fun foo() : Int = 1
|
||||
}
|
||||
|
||||
val z = `y`y.`y.foo()`foo()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user