blob: 676d3c7050038a9232d9c918bdf85d615060edb8 (
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
|
import scala.language.reflectiveCalls
class A {
this_a =>
def b = new B
class B { def a: this_a.type = this_a }
}
trait A2 { def c = () }
object Test {
val v1 = new A { def c = () }
val v2 = new A with A2 { }
val v3: A { def c: Unit } = null
def d1 = new A { def c = () }
def d2 = new A with A2 { }
def d3: A { def c: Unit } = null
var x1 = new A { def c = () }
var x2 = new A with A2 { }
var x3: A { def c: Unit } = null
def main(args: Array[String]): Unit = {
val mv1 = new A { def c = () }
val mv2 = new A with A2 { }
val mv3: A { def c: Unit } = null
def md1 = new A { def c = () }
def md2 = new A with A2 { }
def md3: A { def c: Unit } = null
v1.b.a.c
v2.b.a.c
v3.b.a.c
d1.b.a.c
d2.b.a.c
d3.b.a.c
x1.b.a.c
x2.b.a.c
x3.b.a.c
mv1.b.a.c
mv2.b.a.c
mv3.b.a.c
md1.b.a.c
md2.b.a.c
md3.b.a.c
}
}
|