Палец вверх 5
Перевод
Перевод

Pharo / Squeak - Как мне быстро просмотреть реализацию данного метода в данном классе?

Допустим, я хочу посмотреть, как «копия» реализована в классе Dictionary. В настоящее время я использую системный браузер и вручную просматриваю иерархию наследования (снизу вверх), пока не найду класс, который реализует данное сообщение. Существует ли однострочник для рабочего пространства, который бы открывал системный браузер в нужном месте?

ide smalltalk pharo squeak class-hierarchy
задан Janus Troelsen 29 февр. 2012 г., 4:00:36
источник

4 ответа

Решение 6
Перевод
Перевод
( SomeClass whichClassIncludesSelector: #initialize ) browse

Это позволит просмотреть класс, который реализует сообщение #initialize.

ответ дан Jorge Ressia 29 февр. 2012 г., 10:42:35
источник
Палец вверх 6
Перевод
Перевод

Лично я просто набираю #selector в рабочей области, выделяю его и нажимаю alt + m, чтобы вызвать всех разработчиков сообщения. Гораздо быстрее, чем вводить весь этот код.

ответ дан Ramon Leon 29 февр. 2012 г., 20:40:10
источник
Палец вверх 2
Перевод
Перевод

(SomeClass >> # someSelector) просмотреть

работает также в моем образе Pharo.

работает также в моем образе Pharo. И так как вы хотите сначала найти класс, вы можете объединить его с предыдущим примером.

((SomeSubclass whichClassIncludeSelector: #someSelector) >> # someSelector) просмотрите

непосредственно перейти к данному методу.

ответ дан Igor Stasenko 29 февр. 2012 г., 20:11:54
источник
Палец вверх 2
Перевод
Перевод

Если вы используете OmniBrowser, вы можете использовать контекстное меню « Разработчики в иерархии ...», чтобы просматривать только исполнители селектора в иерархии Dictionary .

OmniBrowser также предоставляет браузер наследования . Выберите любую реализацию #copy и нажмите кнопку Inheritance на панели инструментов. Он покажет вам иерархическое представление всех разработчиков #copy .

ответ дан Lukas Renggli 10 мар. 2012 г., 12:38:32
источник