如何附加一个隐式params使用scala meta注释?

时间:2017-04-22 07:01:17

标签: scala scala-meta

例如,为func方法添加隐式参数id:
之前

def func(p1: String) = { println("hi")}

@Param
def func(p1: String)(implicit id: String = "default") = { println("hi")}

scala meta能够做到吗?

1 个答案:

答案 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

注意:您最好检查方法是否存在隐式参数。

相关问题