org.eclipse.xtext.nodemodel.impl.BasicNodeIterable Maven / Gradle / Ivy
package org.eclipse.xtext.nodemodel.impl;
import org.eclipse.xtext.nodemodel.BidiIterable;
import org.eclipse.xtext.nodemodel.BidiIterator;
import org.eclipse.xtext.nodemodel.util.ReversedBidiIterator;
/**
* @author Sebastian Zarnekow - Initial contribution and API
* @noextend This class is not intended to be subclassed by clients.
*/
public class BasicNodeIterable implements BidiIterable {
private final AbstractNode startWith;
protected BasicNodeIterable(AbstractNode startWith) {
this.startWith = startWith;
}
public BidiIterator iterator() {
return new BasicNodeIterator(startWith);
}
public BidiIterable reverse() {
return new BidiIterable() {
public BidiIterator iterator() {
BidiIterator delegate = BasicNodeIterable.this.iterator();
return new ReversedBidiIterator(delegate);
}
public BidiIterable reverse() {
return BasicNodeIterable.this;
}
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy