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

Reply via email to