【问题标题】:Is it possible to generate Apply from Tree and a MethodSymbol?是否可以从 Tree 和 MethodSymbol 生成 Apply?
【发布时间】:2013-07-02 04:34:22
【问题描述】:

我从某个类中获得了 MethodSymbol,现在我想创建一个代码,在某个树上调用该方法:

tpe.declarations.collect {
  case acc: MethodSymbol =>
    Apply(Select(tree.duplicate, ???), Nil)
}

是否有可能以干净的方式获取方法的名称?

【问题讨论】:

    标签: scala macros scala-2.10 scala-macros


    【解决方案1】:

    Universe 有一个 Select 工厂方法,它将符号作为其第二个参数,因此您只需编写以下内容:

    tpe.declarations.collect {
      case acc: MethodSymbol => Select(tree.duplicate, acc)
    }
    

    请注意,这里不需要Apply

    【讨论】:

    • 呃,我需要多阅读 API —— 我错过了这么明显的东西。
    猜你喜欢
    • 2013-06-28
    • 2011-11-11
    • 2021-02-18
    • 2023-02-24
    • 1970-01-01
    • 2022-01-12
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多