如何附加隐式参数使用 scala 元注释?
how to append a implicit params use scala meta annotation?
例如,为 func
方法附加一个隐式参数 ID:
之前
def func(p1: String) = { println("hi")}
之后
@Param
def func(p1: String)(implicit id: String = "default") = { println("hi")}
scala meta 能做到这一点吗?
我知道怎么做了:
//create Param
val impParam = Term.Param(Nil, Term.Name("id"), Some(Type.Name("String")), Some(Term.Name("default")))
//append to existing params seq.`defn` is this method meta object
val appendImpParam = defn.paramss :+ impParam
注意:您最好检查方法是否存在隐式参数。
例如,为 func
方法附加一个隐式参数 ID:
之前
def func(p1: String) = { println("hi")}
之后
@Param
def func(p1: String)(implicit id: String = "default") = { println("hi")}
scala meta 能做到这一点吗?
我知道怎么做了:
//create Param
val impParam = Term.Param(Nil, Term.Name("id"), Some(Type.Name("String")), Some(Term.Name("default")))
//append to existing params seq.`defn` is this method meta object
val appendImpParam = defn.paramss :+ impParam
注意:您最好检查方法是否存在隐式参数。