diff options
author | Martin Odersky <odersky@gmail.com> | 2017-03-20 15:53:53 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2017-03-20 16:10:11 +0100 |
commit | d1e4911596cb10d5665ff801d10f15b48250581f (patch) | |
tree | 12bf8672430b04fc39817effb5f174be8dc701e1 /tests/run | |
parent | 99a77247d1cb4de92b52aa538ce4a2b200383256 (diff) | |
download | dotty-d1e4911596cb10d5665ff801d10f15b48250581f.tar.gz dotty-d1e4911596cb10d5665ff801d10f15b48250581f.tar.bz2 dotty-d1e4911596cb10d5665ff801d10f15b48250581f.zip |
Add test cases
Diffstat (limited to 'tests/run')
-rw-r--r-- | tests/run/paramForwarding_separate/A_1.scala | 8 | ||||
-rw-r--r-- | tests/run/paramForwarding_separate/B_2.scala | 4 | ||||
-rw-r--r-- | tests/run/paramForwarding_together.check | 6 | ||||
-rw-r--r-- | tests/run/paramForwarding_together.scala | 29 | ||||
-rw-r--r-- | tests/run/paramForwarding_together_b.check | 6 | ||||
-rw-r--r-- | tests/run/paramForwarding_together_b.scala | 30 |
6 files changed, 80 insertions, 3 deletions
diff --git a/tests/run/paramForwarding_separate/A_1.scala b/tests/run/paramForwarding_separate/A_1.scala index 7e01f3ef1..86ebcad24 100644 --- a/tests/run/paramForwarding_separate/A_1.scala +++ b/tests/run/paramForwarding_separate/A_1.scala @@ -1,3 +1,7 @@ -class A(val member: Int) +class A(val member: Int) { + def getAMember = member +} -class SubA(member: Int) extends A(member) +class SubA(member: Int) extends A(member) { + def getSubAMember = member +} diff --git a/tests/run/paramForwarding_separate/B_2.scala b/tests/run/paramForwarding_separate/B_2.scala index 774967101..7c13018b7 100644 --- a/tests/run/paramForwarding_separate/B_2.scala +++ b/tests/run/paramForwarding_separate/B_2.scala @@ -1,4 +1,6 @@ -class B(member: Int) extends SubA(member) +class B(member: Int) extends SubA(member) { + def getMember = member +} object Test { def printFields(cls: Class[_]) = diff --git a/tests/run/paramForwarding_together.check b/tests/run/paramForwarding_together.check new file mode 100644 index 000000000..8df0c3100 --- /dev/null +++ b/tests/run/paramForwarding_together.check @@ -0,0 +1,6 @@ +# Fields in A: +private final int A.member$$local +# Fields in SubA: + +# Fields in B: + diff --git a/tests/run/paramForwarding_together.scala b/tests/run/paramForwarding_together.scala new file mode 100644 index 000000000..670411e58 --- /dev/null +++ b/tests/run/paramForwarding_together.scala @@ -0,0 +1,29 @@ +class A(val member: Int) { + def getAMember = member +} + +class SubA(member: Int) extends A(member) { + def getSubAMember = member +} + +class B(member: Int) extends SubA(member) { + def getBMember = member +} + +object Test { + def printFields(cls: Class[_]) = + println(cls.getDeclaredFields.map(_.toString).sorted.deep.mkString("\n")) + + def main(args: Array[String]): Unit = { + val a = new A(10) + val subA = new SubA(11) + val b = new B(12) + + println("# Fields in A:") + printFields(classOf[A]) + println("# Fields in SubA:") + printFields(classOf[SubA]) + println("# Fields in B:") + printFields(classOf[B]) + } +} diff --git a/tests/run/paramForwarding_together_b.check b/tests/run/paramForwarding_together_b.check new file mode 100644 index 000000000..8df0c3100 --- /dev/null +++ b/tests/run/paramForwarding_together_b.check @@ -0,0 +1,6 @@ +# Fields in A: +private final int A.member$$local +# Fields in SubA: + +# Fields in B: + diff --git a/tests/run/paramForwarding_together_b.scala b/tests/run/paramForwarding_together_b.scala new file mode 100644 index 000000000..cb61cd11f --- /dev/null +++ b/tests/run/paramForwarding_together_b.scala @@ -0,0 +1,30 @@ +class B(member: Int) extends SubA(member) { + def getBMember = member +} + +class SubA(member: Int) extends A(member) { + def getSubAMember = member +} + +class A(val member: Int) { + def getAMember = member +} + + +object Test { + def printFields(cls: Class[_]) = + println(cls.getDeclaredFields.map(_.toString).sorted.deep.mkString("\n")) + + def main(args: Array[String]): Unit = { + val a = new A(10) + val subA = new SubA(11) + val b = new B(12) + + println("# Fields in A:") + printFields(classOf[A]) + println("# Fields in SubA:") + printFields(classOf[SubA]) + println("# Fields in B:") + printFields(classOf[B]) + } +} |