Skip to content

Commit 8e85b39

Browse files
committed
Add test
1 parent d116ab0 commit 8e85b39

File tree

2 files changed

+73
-0
lines changed

2 files changed

+73
-0
lines changed

tests/run/t8803.check

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
a
2+
b
3+
b
4+
c
5+
a
6+
b
7+
b
8+
c
9+
a
10+
b
11+
b
12+
c
13+
a
14+
b
15+
b
16+
c

tests/run/t8803.scala

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
class A {
2+
def m = "a"
3+
protected def n = "a"
4+
}
5+
6+
trait B {
7+
def m = "b"
8+
protected def n = "b"
9+
}
10+
11+
class C extends A with B {
12+
override def m = "c"
13+
override protected def n = "c"
14+
15+
val f1 = () => super[A].m
16+
val f2 = () => super[B].m
17+
val f3 = () => super.m
18+
val f4 = () => this.m
19+
20+
val g1 = new runtime.AbstractFunction0[String] { def apply() = C.super[A].m }
21+
val g2 = new runtime.AbstractFunction0[String] { def apply() = C.super[B].m }
22+
val g3 = new runtime.AbstractFunction0[String] { def apply() = C.super.m }
23+
val g4 = new runtime.AbstractFunction0[String] { def apply() = C.this.m }
24+
25+
val h1 = () => super[A].n
26+
val h2 = () => super[B].n
27+
val h3 = () => super.n
28+
val h4 = () => this.n
29+
30+
val i1 = new runtime.AbstractFunction0[String] { def apply() = C.super[A].n }
31+
val i2 = new runtime.AbstractFunction0[String] { def apply() = C.super[B].n }
32+
val i3 = new runtime.AbstractFunction0[String] { def apply() = C.super.n }
33+
val i4 = new runtime.AbstractFunction0[String] { def apply() = C.this.n }
34+
}
35+
36+
object Test extends App {
37+
val c = new C
38+
println(c.f1())
39+
println(c.f2())
40+
println(c.f3())
41+
println(c.f4())
42+
43+
println(c.g1())
44+
println(c.g2())
45+
println(c.g3())
46+
println(c.g4())
47+
48+
println(c.h1())
49+
println(c.h2())
50+
println(c.h3())
51+
println(c.h4())
52+
53+
println(c.i1())
54+
println(c.i2())
55+
println(c.i3())
56+
println(c.i4())
57+
}

0 commit comments

Comments
 (0)