diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-08-06 21:53:42 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-08-06 23:18:49 +0200 |
commit | cac52ac3e3bd34dfc6540968c30d3e861799f9e4 (patch) | |
tree | 241dc7cc3cdaebd1c70fda523e336d76e5794679 /test/files/run/t6199-mirror.scala | |
parent | 7bcb9da47362ba862a695f7c82c0095a8205e3e2 (diff) | |
download | scala-cac52ac3e3bd34dfc6540968c30d3e861799f9e4.tar.gz scala-cac52ac3e3bd34dfc6540968c30d3e861799f9e4.tar.bz2 scala-cac52ac3e3bd34dfc6540968c30d3e861799f9e4.zip |
SI-6199 unit-returning methods now return unit
Since Scala reflection relies on Java reflection to perform member invocations,
it inherits some of the quirks of the underlying platform.
One of such quirks is returning null when invoking a void-returning method.
This is now fixed by introducing a check after calling invoke.
Diffstat (limited to 'test/files/run/t6199-mirror.scala')
-rw-r--r-- | test/files/run/t6199-mirror.scala | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/test/files/run/t6199-mirror.scala b/test/files/run/t6199-mirror.scala new file mode 100644 index 0000000000..772a384542 --- /dev/null +++ b/test/files/run/t6199-mirror.scala @@ -0,0 +1,7 @@ +import scala.reflect.runtime.universe._ +import scala.reflect.runtime.{currentMirror => cm} + +object Test extends App { + class C { def foo = () } + println(cm.reflect(new C).reflectMethod(typeOf[C].member(newTermName("foo")).asMethod)()) +}
\ No newline at end of file |