我使用scala-meta
有一个真正的初学者问题我想根据字段的名称将注释添加到案例类字段的子集中。 要注释的类和字段定义如下:
val classMapping = Map[String,String](
("com.example.employees","""OntologyContext("http://schema.org")"""),
("Employee.scala","""OntologyType("person")""")
)
val fieldMapping = Map[String,String](
("hello","""OntologyRef("name")"""),
("job","""OntologyRef("title")"""),("id","""Obfuscated""")
)
在:
package com.example.employees
import java.time.LocalDate
case class Employee(
hello: String,
job:String,
id:String,
employmentDate: Date)
后:
package com.example.employees
import java.time.LocalDate
@OntologyContext(“http://schema.org”)
@OntologyType(“person”)
case class Employee(
@OntologyRef(“name”) hello: String,
@OntologyRef(“title”) job: String,
@Obfuscated() id:String,
employmentDate: Date
)
我的问题涉及树转换中所需的quasiquotes的语法:
您能否向我推荐任何可以指明我正确方向的例子?
答案 0 :(得分:0)
如果我理解正确,目前不可能。 Scala-meta注释宏不支持参数https://github.com/scalameta/paradise/issues/11
答案 1 :(得分:0)
Now it's supported与scala.meta 1.1.0和宏天堂3.0.0-M5
仍然存在命名参数问题
答案 2 :(得分:-1)
注意:最新的IntelliJ IDEA 2016.3(2016年12月)应该有助于使用这些quasiquotes,因为现在支持它们:
另一个主要的插件改进是对scala.meta的支持 - 新的元编程工具包旨在成功
scala.reflect
。
IntelliJ IDEA支持新式宏注释,并为scala.meta
quasiquotes提供编码帮助。
新的插件版本为您带来
scala.meta
宏注释的装订图标。单击这些图标可展开相应的注释 IntelliJ IDEA会自动检测注释何时更改,并提示您通过装订线图标(或标准的重新编译操作)重新编译注释。