summaryrefslogtreecommitdiff
path: root/test/files/run/reflect-resolveoverload1.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-07-13 12:08:20 -0700
committerPaul Phillips <paulp@improving.org>2012-07-13 12:08:20 -0700
commit453b7068ed4294eef18bf10a321a5b63497c7466 (patch)
tree8cfc64ec934fdf15d7665208a366611ce9474855 /test/files/run/reflect-resolveoverload1.scala
parent724b0dc71f1f8f91b995d01e9e027789f54ecdfe (diff)
parent3d0099dbc990ab914de5b9deb5087d9d3fb6220c (diff)
downloadscala-453b7068ed4294eef18bf10a321a5b63497c7466.tar.gz
scala-453b7068ed4294eef18bf10a321a5b63497c7466.tar.bz2
scala-453b7068ed4294eef18bf10a321a5b63497c7466.zip
Merge branch '2.10.x' into topic/name-implicits
Diffstat (limited to 'test/files/run/reflect-resolveoverload1.scala')
-rw-r--r--test/files/run/reflect-resolveoverload1.scala19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/files/run/reflect-resolveoverload1.scala b/test/files/run/reflect-resolveoverload1.scala
new file mode 100644
index 0000000000..a859a0ec4e
--- /dev/null
+++ b/test/files/run/reflect-resolveoverload1.scala
@@ -0,0 +1,19 @@
+import scala.reflect.runtime.universe._
+import scala.reflect.runtime.{currentMirror => cm}
+
+object Test extends App {
+
+ val s = "hello world"
+ val m = cm.reflect(s)
+ val sc = m.symbol
+ val st = sc.asType
+ val meth = (st member newTermName("indexOf")).asTermSymbol
+ val IntType = definitions.IntClass.asType
+ val indexOf = (meth resolveOverloaded(posVargs = List(IntType))).asMethodSymbol
+ assert(m.reflectMethod(indexOf)('w') == 6)
+ assert((m.reflectMethod(indexOf)('w') match { case x: Int => x }) == 6)
+
+ val meth2 = (st member newTermName("substring")).asTermSymbol
+ val substring = (meth2 resolveOverloaded(posVargs = List(IntType, IntType))).asMethodSymbol
+ assert(m.reflectMethod(substring)(2, 6) == "llo ")
+}