diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2012-05-20 13:59:00 +0200 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2012-05-20 13:59:00 +0200 |
commit | 076b1c4235293d4b306913aee485c49ec4736af9 (patch) | |
tree | 62b0efe65c503da1857d3a185021b00301b8910b /test/files/run/t5125.scala | |
parent | 1f5584fbe183041d4af269278f0125e2f0b94a44 (diff) | |
download | scala-076b1c4235293d4b306913aee485c49ec4736af9.tar.gz scala-076b1c4235293d4b306913aee485c49ec4736af9.tar.bz2 scala-076b1c4235293d4b306913aee485c49ec4736af9.zip |
Fix @varargs forwarder generation in the presence of nested templates.
Makes `newMembers` a Map[Symbol, Buffer[Tree]] to ensure we add the forwarders to the right template.
Closes SI-5125.
Diffstat (limited to 'test/files/run/t5125.scala')
-rw-r--r-- | test/files/run/t5125.scala | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/files/run/t5125.scala b/test/files/run/t5125.scala new file mode 100644 index 0000000000..7ec2b929d9 --- /dev/null +++ b/test/files/run/t5125.scala @@ -0,0 +1,24 @@ +object O1 { + def instance = this + @scala.annotation.varargs + def f(values:String*) = println("Calling O1.f(): " + values) +} + +object O2 { + def instance = this + @scala.annotation.varargs + def f(values:String*) = println("Calling O2.f(): " + values) + // uncommenting g() results in errors in A.java + def g(): String => Int = s => s.hashCode +} + +object Test extends App { + def check(c: Class[_]) { + val methodName = "f" + val methods = c.getDeclaredMethods.filter(_.getName == methodName) + println(methods.map(_.toString).sorted.mkString("\n")) + } + + check(O1.getClass) + check(O2.getClass) +}
\ No newline at end of file |