Невозможно выполнить рефакторинг / удалить метод - PullRequest
1 голос
/ 07 декабря 2011

Надеюсь, это должен быть простой вопрос. :)

Я использую Pharo / Seaside. Я использовал возможность рефакторинга в IDE, чтобы переименовать и удалить некоторые из моих методов и классов. Пока все хорошо.

Однако мне трудно удалить метод, который переопределяет родительский класс. Например, у меня есть класс "MyClass", который подклассы "WAComponent". Я создал метод "style", который переопределяет метод в родительском классе.

Я решил, что мне больше не нужно переопределять «стиль», и я хочу изменить метод Refactor> Удалить «стиль». В этот момент я получаю следующее приглашение «Возможный вызов стиля в WAPresenter. Просмотр ссылок?»

Как мне поступить? Я просто хочу метод "стиля" супер, а не мое собственное переопределение.

Большое спасибо!

1 Ответ

5 голосов
/ 07 декабря 2011

при попытке удалить метод;с браузером рефакторинга, OmniBrowser или стандартным браузером;система предупреждает вас, если на изображении есть отправители этого сообщения.Это дает вам возможность увидеть возможные последствия удаления.Это не идеально, потому что а) в динамической системе нельзя быть уверенным, является ли получатель экземпляром вашего класса, и б) он не перехватывает отправителей, используя #perform:

В вашем случае,сообщение кажется немного запутанным.Кроме того, в Pharo 1.3, кажется, не удалить метод, независимо от того, что вы выбираете!Но нет никакого вреда, если вы просто удалите его непосредственно через браузер (Cmd-x в OmniBrowser на Mac или через меню), потому что любые вызовы этого метода перейдут в суперкласс.

...