我从某个类中获取了一个MethodSymbol,现在我想创建一个在某个树上调用该方法的代码:
tpe.declarations.collect {
case acc: MethodSymbol =>
Apply(Select(tree.duplicate, ???), Nil)
}
是否可以以干净的方式获取方法的名称?
答案 0 :(得分:1)
Universe有一个Select
工厂方法,它将一个符号作为其第二个参数,因此您只需编写以下内容:
tpe.declarations.collect {
case acc: MethodSymbol => Select(tree.duplicate, acc)
}
请注意,此处不需要Apply
。