在Pharo中获取所有已安装方法的正确方法

时间:2016-10-12 09:42:54

标签: methods reflection pharo idiomatic

有时您想要分析图像中的所有方法。一种方法是使用CompiledMethod allInstances。但这样做是危险的,如

  1. 您最终可能会使用尚未进行垃圾收集的旧方法。
  2. 由于技术原因,可能存在匿名类或其他实例的编译方法。

3 个答案:

答案 0 :(得分:2)

与方言无关的表达将是

ProtoObject withAllSubclasses gather: [:cls |
  cls methodDictionary values asArray,
    cls class methodDictionary values asArray]

答案 1 :(得分:1)

我想出的一件事是:

RPackage organizer packages flatCollect: #methods 

答案 2 :(得分:0)

我建议使用HttpServletResponseWrapper这是为此设计的类:

SystemNavigation