例如,为func
方法添加隐式参数id:
之前
def func(p1: String) = { println("hi")}
后
@Param
def func(p1: String)(implicit id: String = "default") = { println("hi")}
scala meta能够做到吗?
答案 0 :(得分:1)
我知道如何做到这一点:
//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
注意:您最好检查方法是否存在隐式参数。