Small fix: 2002-12-04 Miguel de Icaza <miguel@ximian.com>
authorMiguel de Icaza <miguel@gnome.org>
Thu, 5 Dec 2002 00:55:04 +0000 (00:55 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Thu, 5 Dec 2002 00:55:04 +0000 (00:55 -0000)
* cs-tokenizer.cs: Small fix, because decimal_digits is used in a
context where we need a 2-character lookahead.

svn path=/trunk/mcs/; revision=9387

mcs/mcs/ChangeLog
mcs/mcs/cs-tokenizer.cs

index 07fae8cc8f83f4147917c420ccc1bbee2f85cbf4..758b5e8ddbd156c885003e4ca2dd294119b555d7 100755 (executable)
@@ -1,5 +1,8 @@
 2002-12-04  Miguel de Icaza  <miguel@ximian.com>
 
+       * cs-tokenizer.cs: Small fix, because decimal_digits is used in a
+       context where we need a 2-character lookahead.
+
        * pending.cs (PendingImplementation): Rework so we can keep track
        of interface types all the time, and flag those which were
        implemented by parents as optional.
index af5b6a48fe6fecbda8dc727ebddcf7852a55ab09..5148a9dbd9bc32d0d9e4eee781e617b2e0319951 100755 (executable)
@@ -524,8 +524,12 @@ namespace Mono.CSharp
                        \r
                        if (c != -1)\r
                                number_builder.Append ((char) c);\r
-                       \r
-                       while ((d = peekChar ()) != -1){\r
+\r
+                       //\r
+                       // We use peekChar2, because decimal_digits needs to do a \r
+                       // 2-character look-ahead (5.ToString for example).\r
+                       //\r
+                       while ((d = peekChar2 ()) != -1){\r
                                if (d >= '0' && d <= '9'){\r
                                        number_builder.Append ((char) d);\r
                                        getChar ();\r
@@ -903,6 +907,13 @@ namespace Mono.CSharp
                        return putback_char;\r
                }\r
 \r
+               int peekChar2 ()\r
+               {\r
+                       if (putback_char != -1)\r
+                               return putback_char;\r
+                       return reader.Peek ();\r
+               }\r
+               \r
                void putback (int c)\r
                {\r
                        if (putback_char != -1){\r