2011-12-07 24 views
1

これはうまくいけば簡単な質問です。 :)メソッドをリファクタリング/削除できません

私はPharo/Seasideを使用しています。 IDEのリファクタリング機能を使用して、いくつかのメソッドとクラスの名前を変更して削除しました。ここまでは順調ですね。

ただし、親クラスをオーバーライドするメソッドを削除するのが難しいです。たとえば、 "WAComponent"をサブクラス化するクラス "MyClass"があります。親クラスのメソッドをオーバーライドするメソッド "スタイル"を作成しました。

私は本当に "スタイル"をオーバーライドする必要はなく、リファクタリングする方法> "スタイル"を削除することに決めました。この時点で、次のプロンプトが表示されます。「WAPresenterでスタイルを呼び出す可能性があります。

どうすればいいですか?私はちょうどスーパーの "スタイル"メソッドと私自身のオーバーライドではありません。

多くの感謝!

+0

あなたの方法を削除しようとしましたか? – Marcin

+0

リファクタ>削除が削除と同じ場合は、はい、私は私の質問に記載されているように試しました – Justin

答えて

5

メソッドを削除しようとすると、リファクタリングブラウザ、OmniBrowser、または標準ブラウザのいずれかを使用して、イメージにそのメッセージの送信者が存在する場合は、警告が表示されます。これにより、削除の可能性がある影響を確認できます。それは完璧ではない。なぜなら、動的システムでは、受信者がクラスのインスタンスであるかどうかを確かめることができず、b)#performを使用して送信者を捕まえないからです。

あなたの場合、ちょっと混乱しているようです。また、Pharo 1.3では、選択したものに関係なくメソッドを削除しないようです!しかし、このメソッドへの呼び出しがすべてスーパークラスに送られるため、ブラウザー(MacのOmniBrowserのCmd-xまたはメニューを介して)から直接削除するだけで問題ありません。

関連する問題