我知道案例类、模式匹配、取消应用和 PartialFunction,但我对下面的宏片段感到困惑。
val declarations = weakTypeOf[T].declarations
val methods = declarations.collect { case m: MethodSymbol => m }
MemberScope 的 Scaladoc http://www.scala-lang.org/api/2.10.4/#scala.reflect.api.Scopes $MemberScope
收集方法接受PartialFunction[Universe.Symbol, B]
我找不到unapply
方法,MethodSymbol
它也不是案例类的特征,所以在女巫代码编译器中转换
{ case m: MethodSymbol => m }