aboutsummaryrefslogtreecommitdiff
path: root/tests/invalid/pos/t5130.scala
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
  }
}