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