Правильный способ получить все установленные методы в Pharo

Иногда вы хотите проанализировать все методы в изображении. Один из способов сделать это - работать с CompiledMethod allInstances, Но так опасно делать, так как

  1. Вы можете использовать старые методы, которые еще не были собраны.
  2. Могут быть скомпилированные методы анонимных классов или других экземпляров, которые существуют по техническим причинам.

3 ответа

Решение

Я придумал одну вещь:

RPackage organizer packages flatCollect: #methods 

Независимое от диалекта выражение будет

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

Я бы предложил использовать SystemNavigation какой класс предназначен для этого:

SystemNavigation default allMethodsSelect: [:m | true]
Другие вопросы по тегам