在Scala中使用宏作为mixin特性

时间:2015-03-05 14:08:40

标签: scala macros

假设我有这些特征:

object Sample14 {

  import scala.reflect.macros.whitebox.Context
  import scala.language.experimental.macros

  trait A
  trait B extends A
  trait C extends A
  trait D

  class ToMix {
    def mixTraits(x: A, y: D) = macro implMixTraits
  }

  def implMixTraits(c: Context)(x: c.Expr[A], y: c.Expr[D]): c.Expr[Any] = {/*...*/}

}

如何使用宏来混合特征。我使用了一些可用的资源但我真的无法理解如何以这种方式混合它们?感谢您的任何想法或建议!

0 个答案:

没有答案