2003/06/13 09:19:10
[org.ibex.core.git] / src / org / xwt / js / Lexer.java
index 4752c64..f4c386e 100644 (file)
@@ -17,6 +17,8 @@
  * Contributor(s): Roger Lawrence, Mike McCabe
  */
 
+// FIXME: mark lots of these methods 'final' so they get inlined
+
 package org.xwt.js;
 import java.io.*;
 
@@ -32,6 +34,9 @@ class Lexer implements Tokens {
 
     /** the token that was just parsed */
     protected int op;
+   /** the most recently parsed token, <i>regardless of pushbacks</i> */
+    protected int mostRecentlyReadToken;
 
     /** if the token just parsed was a NUMBER, this is the numeric value */
     protected Number number = null;
@@ -400,7 +405,10 @@ class Lexer implements Tokens {
     public int getToken() throws IOException {
        number = null;
        string = null;
-       if (pushBackDepth == 0) return op = _getToken();
+       if (pushBackDepth == 0) {
+           mostRecentlyReadToken = op;
+           return op = _getToken();
+       }
        pushBackDepth--;
        op = pushBackInts[pushBackDepth];
        if (pushBackObjects[pushBackDepth] != null) {