I committed this patch which allows us to avoid looking ahead in the event stream while trying to determine whether there is a next event.
2007-07-28 Chris Burdess <[EMAIL PROTECTED]> PR 32539 * gnu/xml/stream/XMLParser.java: don't call next() during hasNext(). -- Chris Burdess
? build ? patch Index: gnu/xml/stream/XMLParser.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/xml/stream/XMLParser.java,v retrieving revision 1.33 diff -u -r1.33 XMLParser.java --- gnu/xml/stream/XMLParser.java 4 May 2007 12:18:11 -0000 1.33 +++ gnu/xml/stream/XMLParser.java 27 Jul 2007 08:49:30 -0000 @@ -178,11 +178,6 @@ private int event; /** - * Whether we are looking ahead. Used by hasNext. - */ - private boolean lookahead; - - /** * The element name stack. The first element in this stack will be the * root element. */ @@ -1013,24 +1008,12 @@ public boolean hasNext() throws XMLStreamException { - if (event == XMLStreamConstants.END_DOCUMENT) - return false; - if (!lookahead) - { - next(); - lookahead = true; - } - return event != -1; + return (event != XMLStreamConstants.END_DOCUMENT && event != -1); } public int next() throws XMLStreamException { - if (lookahead) - { - lookahead = false; - return event; - } if (event == XMLStreamConstants.END_ELEMENT) { // Pop namespace context