[Pharo-project] Bug or feature? XMLElement>>allElementsDo:

Max Leske maxleske at gmail.com
Tue Aug 30 01:51:11 EDT 2011


… and maybe it should be renamed to #withAllElementsDo: ?


On 30.08.2011, at 00:01, Levente Uzonyi wrote:

> On Mon, 29 Aug 2011, Nicolas Anquetil wrote:
> 
>> In XML-Parser-Nodes we have:
>> 
>> XMLNodeWithElements
>> XMLDocument
>> XMLElement
>> 
>> A document is composed of elements that can hold recursively other elements
>> 
>> XMLNodeWithElements implements (in protocol enumerating)
>> allElementsDo: aBlock
>> "Descend depth-first visiting each element with aBlock."
>> 
>> self hasElements
>> ifTrue: [self elementsDo: [:each | each allElementsDo: aBlock]]
>> 
>> Looks perfectly normal to me
>> But then:
>> 
>> XMLElement implements (in protocol searching !)
>> allElementsDo: aBlock
>> "See superclass version."
>> 
>> aBlock value: self.
>> 
>> super allElementsDo: aBlock.
>> 
>> which means that
>> anXMLElement allElementsDo: [...]
>> runs first on itself and then on its elements ?!?
>> Seems counter intuitive to me.
>> 
>> Should I remove this?
> 
> IMHO you shouldn't, because it is enumerating the whole tree, which is exactly what I'd expect from this method. But the method should be recategorized.
> 
> 
> Levente
> 
>> 
>> nicolas
>> 
>> 
> 





More information about the Pharo-dev mailing list