groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Dorner <felix.dor...@gmail.com>
Subject Re: Calling 'each' on org.eclipse.emf.common.util.TreeIterator
Date Tue, 16 Oct 2018 16:17:14 GMT
If I use hasNext/next in a while loop, I get at the content as expected,
but not if I use the collection extensions such as 'each'. I don't know
where the magic fails, but I want to find out.. The iterator that is being
used is created here:

http://git.eclipse.org/c/emf/org.eclipse.emf.git/tree/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/impl/BasicEObjectImpl.java#n832
and that is an anonymous subtype of
http://git.eclipse.org/c/emf/org.eclipse.emf.git/tree/plugins/org.eclipse.emf.common/src/org/eclipse/emf/common/util/AbstractTreeIterator.java




On Tue, Oct 16, 2018 at 3:21 PM Paul King <paulk@asert.com.au> wrote:

> I'd expect that to work the same as if you used a while loop with
> hasNext() and next(). If your data structure has further containers and
> next() doesn't normally walk through the containers, then I'd expect you to
> have more work to do. Is that not what you are seeing?
>
> Cheers, Paul.
>
> On Tue, Oct 16, 2018 at 8:23 PM Felix Dorner <felix.dorner@gmail.com>
> wrote:
>
>> Hi,
>>
>> I can do:
>> def a = [1,2,3].iterator()
>> a.each {
>>    println it
>> }
>>
>> Cool, I can walk EMF EObject trees like this, I thought:
>>
>> Iterator i = anEObject.eAllContents() // this gives a TreeIterator, a
>> subinterface of Iterator
>> it.each {
>>   println it
>> }
>>
>> But that doesn't work :(. It only prints anEObject, not the whole content
>> tree. Anyone can explain why?
>>
>>
>> --
>> Linux. The choice of a GNU generation.
>>
>

-- 
Linux. The choice of a GNU generation.

Mime
View raw message