scala> class A defined class A scala> scala> class B { def foo(x: A) = 1 } defined class B scala> scala> object defs { val cm = reflect.runtime.currentMirror val u = cm.universe val im = cm.reflect(new B) val method = im.symbol.info.member(u.TermName("foo")).asMethod val mm = im.reflectMethod(method) } defined object defs scala> import defs._ import defs._ scala> scala> mm(new A) res0: Any = 1 scala> :quit