[SML 7192] Re: SystemBrowserの"▲▼"について

NOBUTAKA Terauchi europa @ ps.inforyoma.or.jp
2006年 9月 26日 (火) 21:02:35 JST


こんばんは、寺内です。

返信が遅くなり、申し訳ありません。

> Refactory.Browser.ProtocolItemNavigatorPart の iconFor: をご
> 覧になってくださいませ。

Refactory.Browser.ProtocolItemNavigatorPart>>iconFor:の中で確認
したい部分を下記に記します。

-----
isOverridden := self isMethodOverridden: aMethodDefinition.
(self isOverridingMethod: aMethodDefinition)
	ifTrue:
		[^isOverridden
			ifTrue: [ListIconLibrary visualFor: #upDownArrow]
			ifFalse: [ListIconLibrary visualFor: #upArrow]]
	ifFalse: [isOverridden ifTrue: [^ListIconLibrary visualFor: #downArrow]].

isOverridingMethod: は aMethodDefinition がスーパークラスから継承
してきたメソッドをオーバーライドしているか?を判定するメソッド。

isMethodOverridden: は aMethodDefinition がサブクラスでメソッドが
オーバーライドされているか?を判定するメソッド。

上記内容が正しいとするなら、

1. "▲"は、スーパークラスから継承してきたメソッドをオーバーライド
   している場合に表示される。

2. "▼"は、サブクラスでメソッドがオーバーライドされている場合に表
   示される。

3. "▲▼"は、1,2の両方が当てはまる場合。
-----

という理解で良いのでしょうか?
Refactory.Browser.ProtocolItemNavigatorPart>>iconFor:の一部だけを
参照、メッセージ名を参考にして考えていますので、間違いがあるかも
しれません。
ほかの部分は追いかけきれていません。
もし、間違いがあれば指摘していただきたいと思います。

あと、濱崎さんに指摘されたことですが、確かにSmalltalkイディオムを
全然進めることができていません。
そのため、本に回答が載っていることなども質問してしまったかもしれ
ません。
まずは、Smalltalkイディオムを読み進め、そこで理解できない箇所が
出てくれば投稿したいと思います。
たぶん、すぐに出てくると思いますが。

ありがとうございました。


---
NOBUTAKA Terauchi<europa @ ps.inforyoma.or.jp>





SML メーリングリストの案内