[squeak-dev] The Trunk: Traits-laza.234.mcz

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

[squeak-dev] The Trunk: Traits-laza.234.mcz

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