The Inbox: Monticello-ct.710.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Monticello-ct.710.mcz

commits-2
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 ]!


Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Monticello-ct.710.mcz

Christoph Thiede

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 <[hidden email]> im Auftrag von [hidden email] <[hidden email]>
Gesendet: Montag, 30. Dezember 2019 15:17:40
An: [hidden email]
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 ]!




Carpe Squeak!