[squeak-dev] The Inbox: Monticello-ct.710.mcz

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Mon Dec 30 14:23:20 UTC 2019


By the way, it might be nice to have #mcModel, #mcPatchOperations, etc. also implemented for Traits. This would be possible because Trait implements #asClassDefinition as well. However, there are sibling classes that do not implement #asClassDefinition ...

How can we solve this? Define a Trait named TMCClass? Or would this be overkill? :-)


Best,

Christoph

________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von commits at source.squeak.org <commits at source.squeak.org>
Gesendet: Montag, 30. Dezember 2019 15:17:40
An: squeak-dev at lists.squeakfoundation.org
Betreff: [squeak-dev] The Inbox: Monticello-ct.710.mcz

A new version of Monticello was added to project The Inbox:
http://source.squeak.org/inbox/Monticello-ct.710.mcz

==================== Summary ====================

Name: Monticello-ct.710
Author: ct
Time: 30 December 2019, 3:17:37.039602 pm
UUID: 6df89c06-6946-d141-9ebc-bc42ae6d9b7f
Ancestors: Monticello-ct.706

Improve support for traits by moving some class extensions up to ClassDefinition. This is possible because PackageInfo >> #includesClass: also works with metaclasses or traits.

Just by the way, this fixes some bugs introduced by SqueakIssueIntegration's UI extensions (see https://github.com/hpi-swa-teaching/SqueakIssueIntegration/blob/master/packages/IssueIntegration-UI.package/ClassDescription.extension/instance/toolIconSelector..st).

=============== Diff against Monticello-ct.706 ===============

Item was removed:
- ----- Method: Class>>packageInfo (in category '*monticello') -----
- packageInfo
-        ^ (PackageInfo allPackages select: [ : each | each includesClass: self ])
-                ifEmpty: [ nil ]
-                ifNotEmpty:
-                        [ : myPackages | "Select the most-qualified match."
-                        myPackages detectMax: [ : each | each packageName size ] ]!

Item was removed:
- ----- Method: Class>>workingCopy (in category '*monticello') -----
- workingCopy
-        "Answer the MCWorkingCopy in which I am defined."
-        ^ self packageInfo ifNotNil: [ : pi | pi workingCopy ]!

Item was added:
+ ----- Method: ClassDescription>>packageInfo (in category '*monticello') -----
+ packageInfo
+        ^ (PackageInfo allPackages select: [ : each | each includesClass: self ])
+                ifEmpty: [ nil ]
+                ifNotEmpty:
+                        [ : myPackages | "Select the most-qualified match."
+                        myPackages detectMax: [ : each | each packageName size ] ]!

Item was added:
+ ----- Method: ClassDescription>>workingCopy (in category '*monticello') -----
+ workingCopy
+        "Answer the MCWorkingCopy in which I am defined."
+        ^ self packageInfo ifNotNil: [ : pi | pi workingCopy ]!


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191230/8b0aee47/attachment.html>


More information about the Squeak-dev mailing list