我正在编写一个自动完成程序(即Eclipse或IntelliJ中的代码完成),用于作为Scala子集的特定于域的语言。用户经常使用隐式转换来隐藏Scala的更高级功能,例如选项或Scalaz析取。
我正在寻找一种方法,无论是在编译时还是运行时,都可以获取接收器可用的隐式转换列表(即'val y = x.foo'中的'x')。所以,我有两个具体的问题:
*:正如您可能已经猜到的那样,我计划使用结果列表来获取可以隐式转换给定变量的所有类型的所有可用字段和方法,以便自动完成程序可以将它们全部建议用户。如果有更直接的方法,那也很棒。