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 <pa...@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.dor...@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.