aboutsummaryrefslogtreecommitdiff
path: root/tests/pos
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-08-31 19:34:55 +0200
committerMartin Odersky <odersky@gmail.com>2014-08-31 19:34:55 +0200
commitec1d2745dce34f81578967a032253a1a84361bc7 (patch)
tree5347568cee6bf4f7c7bc6f30248362eb1bb45f7c /tests/pos
parent47b1d735e8323b2587aeb4b2a7ce5e214d9f1f8d (diff)
downloaddotty-ec1d2745dce34f81578967a032253a1a84361bc7.tar.gz
dotty-ec1d2745dce34f81578967a032253a1a84361bc7.tar.bz2
dotty-ec1d2745dce34f81578967a032253a1a84361bc7.zip
Add outer parameters in constructor calls.
1) Constructors of inner classes get outer parameters 2) Outer arguments are passed as needed.
Diffstat (limited to 'tests/pos')
-rw-r--r--tests/pos/explicitOuter.scala12
1 files changed, 6 insertions, 6 deletions
diff --git a/tests/pos/explicitOuter.scala b/tests/pos/explicitOuter.scala
index 747f07e8f..a5fb1dd70 100644
--- a/tests/pos/explicitOuter.scala
+++ b/tests/pos/explicitOuter.scala
@@ -4,8 +4,8 @@ class Outer(elem: Int, val next: Outer) {
def foo = elem
}
- class InnerClass extends next.InnerTrait {
- def bar = elem
+ class InnerClass(x: Int) extends next.InnerTrait {
+ def bar = elem + x
}
class EmptyInnerClass {
@@ -17,15 +17,15 @@ class Outer(elem: Int, val next: Outer) {
def foo = elem
}
- class InnerClass extends next.InnerTrait {
- def bar = elem
+ class InnerClass(x: Int) extends next.InnerTrait {
+ def bar = elem + x
}
class EmptyInnerClass {
def foo = 1 // does not need outer
}
- val ic = new InnerClass
+ val ic = new InnerClass(1)
println(ic.bar)
println(ic.foo)
val it = new InnerTrait {}
@@ -38,7 +38,7 @@ class Outer(elem: Int, val next: Outer) {
object Test extends App {
val o = new Outer(1, new Outer(2, null))
- val ic = new o.InnerClass
+ val ic = new o.InnerClass(1)
println(ic.bar)
println(ic.foo)
val it = new o.InnerTrait {}