blob: af82a1948d474a180428968d877e3dcea450a001 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 ")
}
|