[squeak-dev] The Trunk: Traits-laza.234.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Oct 7 04:43:39 UTC 2009
Alexander Lazarević uploaded a new version of Traits to project The Trunk:
http://source.squeak.org/trunk/Traits-laza.234.mcz
==================== Summary ====================
Name: Traits-laza.234
Author: laza
Time: 7 October 2009, 6:43:30 am
UUID: b3ecf2a3-b313-5a49-ac6e-2186d6f766d3
Ancestors: Traits-ar.233
This fixes Mantis bug 0007090: "TraitsTests pollutes ProtoObject subclasses" by filing in TraitsTestSubclassesCleanup-M7090.1.cs
=============== Diff against Traits-ar.233 ===============
Item was changed:
----- Method: TraitsResource>>setUpTwoLevelRequiresFixture (in category 'as yet unclassified') -----
setUpTwoLevelRequiresFixture
self c4: (self
createClassNamed: #C4
superclass: ProtoObject
uses: { }).
+ ProtoObject removeSubclass: self c4.
self c4 superclass: nil.
self c5: (self
createClassNamed: #C5
superclass: self c4
uses: { }).
self c4 compile: 'foo ^self blew' classified: #accessing.
self c5 compile: 'foo ^self blah' classified: #accessing!
Item was changed:
----- Method: RequiresTestCase>>testSins (in category 'as yet unclassified') -----
testSins
| caa cab cac cad |
caa := self
createClassNamed: #CAA
superclass: ProtoObject
uses: { }.
+ ProtoObject removeSubclass: caa.
caa superclass: nil.
cab := self
createClassNamed: #CAB
superclass: caa
uses: {}.
cac := self
createClassNamed: #CAC
superclass: cab
uses: {}.
cad := self
createClassNamed: #CAD
superclass: cac
uses: { }.
caa compile: 'ma self foo'.
caa compile: 'md self explicitRequirement'.
cac compile: 'mb self bar'.
self noteInterestsFor: cad.
self assert: (cad requiredSelectors = (Set withAll: #(foo bar md))).
cab compile: 'mc ^3'.
self assert: (cad requiredSelectors = (Set withAll: #(foo bar md))).
self loseInterestsFor: cad.!
Item was changed:
----- Method: TraitsResource>>setUpTranslatingRequiresFixture (in category 'as yet unclassified') -----
setUpTranslatingRequiresFixture
self c6: (self
createClassNamed: #C6
superclass: ProtoObject
uses: { }).
+ ProtoObject removeSubclass: self c6.
self c6 superclass: nil.
self c7: (self
createClassNamed: #C7
superclass: self c6
uses: { }).
self c8: (self
createClassNamed: #C8
superclass: self c7
uses: { }).
self c6 compile: 'foo ^self x' classified: #accessing.
self c7 compile: 'foo ^3' classified: #accessing.
self c7 compile: 'bar ^super foo' classified: #accessing.
self c8 compile: 'bar ^self blah' classified: #accessing!
Item was changed:
Object subclass: #TraitMethodDescription
instanceVariableNames: 'selector locatedMethods'
+ classVariableNames: 'ConflictMethods RequiredMethods'
- classVariableNames: 'RequiredMethods ConflictMethods'
poolDictionaries: ''
category: 'Traits-Composition'!
!TraitMethodDescription commentStamp: '<historical>' prior: 0!
Used by TraitComposition to encapsulates a collection of methods for one particular selector when querying for changes. According to the number and kind of those methods a provided method exists, there is a conflict or there are no provided nor conflicting methods at all. I provide the interface to query for those situations, e.g., effectiveMethod returns the provided method or the conflict marker method.
!
Item was changed:
----- Method: TraitsResource>>setUpTrivialRequiresFixture (in category 'as yet unclassified') -----
setUpTrivialRequiresFixture
self c3: (self
createClassNamed: #C3
superclass: ProtoObject
uses: { }).
+ ProtoObject removeSubclass: self c3.
self c3 superclass: nil.
self c3 compile: 'foo ^self bla' classified: #accessing!
More information about the Squeak-dev
mailing list
|