[squeak-dev] The Inbox: Monticello-cmm.568.mcz
Bert Freudenberg
bert at freudenbergs.de
Mon Sep 9 12:26:35 UTC 2013
A class can be in multiple packages at the same time. These new #packageInfo methods only answer a random one.
Wouldn't it be better if they returned a (possibly empty) collection of package infos, and the senders would deal with them?
- Bert -
On 2013-09-07, at 16:29, commits at source.squeak.org wrote:
> A new version of Monticello was added to project The Inbox:
> http://source.squeak.org/inbox/Monticello-cmm.568.mcz
>
> ==================== Summary ====================
>
> Name: Monticello-cmm.568
> Author: cmm
> Time: 7 September 2013, 11:23:41.529 am
> UUID: 575ad6a3-2df6-4ae5-99a8-24c15f032558
> Ancestors: Monticello-cmm.567
>
> - Adopt two more methods needed for browsing MC history.
>
> =============== Diff against Monticello-cmm.567 ===============
>
> Item was added:
> + ----- Method: Class>>packageInfo (in category '*monticello') -----
> + packageInfo
> + ^ PackageInfo allPackages
> + detect: [ : each | each includesClass: self ]
> + ifNone: [ nil ]!
>
> Item was changed:
> ----- Method: MCHttpRepository>>httpGet:for: (in category 'private') -----
> httpGet: actionString for: aMCDefinition
> - self halt.
> ^ HTTPSocket
> httpGet: self locationWithTrailingSlash
> args:
> { 'action'->{actionString}.
> 'mc-definition'-> {self serializeForRequest: aMCDefinition}}
> user: self user
> passwd: self password!
>
> Item was added:
> + ----- Method: MethodReference>>packageInfo (in category '*monticello') -----
> + packageInfo
> + "Answer the PackageInfo containing this method."
> + | methodCategory classCategory |
> + methodCategory := self category.
> + classCategory := methodCategory first = $* ifFalse: [ self actualClass theNonMetaClass category ].
> + ^ PackageInfo allPackages
> + detect:
> + [ : each |
> + "detect: [ : each | each methods includes: self ]" "<-- too slow"
> + (each isYourClassExtension: methodCategory) or:
> + [ classCategory notNil and: [ each systemCategories includes: classCategory ] ] ]
> + ifFound: [ : foundPackage | PackageInfo named: foundPackage packageName ]
> + ifNone: [ nil ]!
>
>
More information about the Squeak-dev
mailing list
|