如何获得所有构造函数?

时间:2014-12-26 12:23:50

标签: scala macros

ClassSymbolApi#primaryConstructor,但我需要该类可能包含的每个主要/辅助构造函数。你怎么做呢?谢谢!

1 个答案:

答案 0 :(得分:5)

scala> class A(x: Int) {
     |   def this(x: Double) = this(x.toInt)
     | }
defined class A

scala> typeOf[A].decls.filter(_.isConstructor)
res1: Iterable[reflect.runtime.universe.Symbol] = SynchronizedOps(constructor A, constructor A)

切换typeOf[A]以拨打ClassSymbolApi#toType