scala> import scala.reflect.runtime.universe._ import scala.reflect.runtime.universe._ scala> 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) = ??? } defined class A scala> def test(n: Int): Unit = { val sig = typeOf[A] member TermName("foo" + n) info val x = sig.asInstanceOf[MethodType].params.head println(x.info) } warning: there was one feature warning; for details, enable `:setting -feature' or `:replay -feature' test: (n: Int)Unit scala> for (i <- 1 to 8) test(i) scala.Int* => scala.Int scala.Any scala.AnyRef scala.AnyVal scala.Null scala.Nothing scala.Singleton scala> :quit