-
4 votesanswersviews
如何在scala宏中构建动态序列?
我有一个scala宏,它输出嵌套的case类 . 我可以汇编使用reify创建的表达式片段,以编程方式构建嵌套的case类: case class Foo(name: String) case class Bar(foo: Foo) def foo(name: String) = { c.universe reify { Foo(c.literal(name).splice) ... -
3 votesanswersviews
后代类中的宏扩展
我有下一个类结构: trait SomeType trait Root { val allMySomeTypes: Seq[SomeType] } class Child extends Root { object MyType1 extends SomeType {...} object MyType2 extends SomeType {...} } 我想初始化val all... -
1 votesanswersviews
如何在Scala宏中匹配部分函数的案例定义模式?
作为宏的一部分,我想操纵部分函数的大小写定义 . 为此,我使用Transformer来操作partial函数的case定义,并使用Traverser来检查case定义的模式: def myMatchImpl[A: c.WeakTypeTag, B: c.WeakTypeTag](c: Context) (expr: c.Expr[A])(patterns: c.Expr[PartialFu... -
0 votesanswersviews
macroparadise不再使用命令行吗?
我正在尝试开始使用天堂宏插件,所以我一直从身份宏示例开始: https://docs.scala-lang.org/overviews/macros/annotations.html 但是,当我尝试使用身份注释时,我得到了 error: enable macro paradise to expand macro annotations 正如您所期望的那样,如果没有加载插件 . 但是,我按照说明进...