1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
import scala.language.postfixOps
class A {
def foo1(x: Int*) = ???
def foo2(x: => Int) = ???
def foo3(x: Any) = ???
def foo4(x: AnyRef) = ???
def foo5(x: AnyVal) = ???
def foo6(x: Null) = ???
def foo7(x: Nothing) = ???
def foo8(x: Singleton) = ???
}
object Test extends App {
import scala.reflect.runtime.universe._
def test(n: Int): Unit = {
val sig = typeOf[A] member TermName("foo" + n) info
val x = sig.asInstanceOf[MethodType].params.head
println(x.info)
}
for (i <- 1 to 8) test(i)
}
|