summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-04-06 11:58:05 -0700
committerPaul Phillips <paulp@improving.org>2012-04-06 11:58:05 -0700
commit8e179506e7c230a9ff01cda9584ce2a73953e446 (patch)
tree0bbcf7f956784646fb996b8c6a944a3d8155e80c /test
parent22c229e4ed2100d662fe05f9a610186ce1ebbb5a (diff)
parent115f5467e3f3ff07abbba2b23c40c2ff0d7ddd1b (diff)
downloadscala-8e179506e7c230a9ff01cda9584ce2a73953e446.tar.gz
scala-8e179506e7c230a9ff01cda9584ce2a73953e446.tar.bz2
scala-8e179506e7c230a9ff01cda9584ce2a73953e446.zip
Merge commit 'pull/358/head' into develop
Diffstat (limited to 'test')
-rw-r--r--test/files/run/reflect-overload.scala16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/files/run/reflect-overload.scala b/test/files/run/reflect-overload.scala
new file mode 100644
index 0000000000..af82a1948d
--- /dev/null
+++ b/test/files/run/reflect-overload.scala
@@ -0,0 +1,16 @@
+object Test extends App {
+ import reflect.mirror._
+
+ val s = "hello world"
+ val sc = symbolOfInstance(s)
+ val st = sc.asType
+ val m = st member newTermName("indexOf")
+ val IntType = definitions.IntClass.asType
+ val indexOf = m resolveOverloaded(actuals = List(IntType))
+ assert(invoke(s, indexOf)('w') == 6)
+ assert((invoke(s, indexOf)('w') match { case x: Int => x }) == 6)
+
+ val m2 = st member newTermName("substring")
+ val substring = m2 resolveOverloaded(actuals = List(IntType, IntType))
+ assert(invoke(s, substring)(2, 6) == "llo ")
+}