blob: a9e58d77e637e6d823e89ee3e78f05baebe89b45 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
import scala.language.dynamics
object A extends Dynamic {
var a = "a"
def selectDynamic(method:String): String = a
def updateDynamic(method:String)(v:String): Unit = { a = v }
}
class B extends Dynamic {
var b = "b"
def selectDynamic(method:String): String = b
def updateDynamic(method:String)(v:String): Unit = { b = v }
}
object Test extends dotty.runtime.LegacyApp {
assert( A.foo == "a" )
assert( A.bar == "a" )
A.aaa = "aaa"
assert( A.bar == "aaa" )
val b = new B
assert( b.foo == "b" )
assert( b.bar == "b" )
b.bbb = "bbb"
assert( b.bar == "bbb" )
{
println("Running ABTest asserts")
A.a = "a"
(new ABTest).test()
}
println("Done")
}
class ABTest {
def test(): Unit = {
assert( A.foo == "a" )
assert( A.bar == "a" )
A.aaa = "aaa"
assert( A.bar == "aaa" )
val b = new B
assert( b.foo == "b" )
assert( b.bar == "b" )
b.bbb = "bbb"
assert( b.bar == "bbb" )
}
}
|