]> git.lizzy.rs Git - rust.git/commitdiff
Use quotes around tokens in parser error messages to make them more readable
authorMarijn Haverbeke <marijnh@gmail.com>
Mon, 19 Dec 2011 08:48:28 +0000 (09:48 +0100)
committerMarijn Haverbeke <marijnh@gmail.com>
Mon, 19 Dec 2011 08:59:51 +0000 (09:59 +0100)
Closes #1328

src/comp/syntax/parse/parser.rs
src/test/compile-fail/attr-bad-meta.rs
src/test/compile-fail/ext-after-attrib.rs

index 12df9ecd1ad493c03a42d95263f5addf9be4263a..752a433e9536070afebaa8342713681cb0582631 100644 (file)
@@ -162,8 +162,8 @@ fn bad_expr_word_table() -> hashmap<str, ()> {
 }
 
 fn unexpected(p: parser, t: token::token) -> ! {
-    let s: str = "unexpected token: ";
-    s += token::to_str(p.get_reader(), t);
+    let s: str = "unexpected token: '" + token::to_str(p.get_reader(), t) +
+        "'";
     p.fatal(s);
 }
 
@@ -171,11 +171,11 @@ fn expect(p: parser, t: token::token) {
     if p.peek() == t {
         p.bump();
     } else {
-        let s: str = "expecting ";
+        let s: str = "expecting '";
         s += token::to_str(p.get_reader(), t);
-        s += ", found ";
+        s += "' but found '";
         s += token::to_str(p.get_reader(), p.peek());
-        p.fatal(s);
+        p.fatal(s + "'");
     }
 }
 
@@ -1703,9 +1703,9 @@ fn parse_block_tail(p: parser, lo: uint, s: ast::blk_check_mode) -> ast::blk {
                   token::RBRACE. { expr = some(e); }
                   t {
                     if stmt_ends_with_semi(*stmt) {
-                        p.fatal("expected ';' or '}' after " +
-                                    "expression but found " +
-                                    token::to_str(p.get_reader(), t));
+                        p.fatal("expected ';' or '}' after expression but \
+                                 found '" + token::to_str(p.get_reader(), t) +
+                                "'");
                     }
                     stmts += [stmt];
                   }
@@ -1908,8 +1908,8 @@ fn parse_mod_items(p: parser, term: token::token,
         alt parse_item(p, attrs) {
           some(i) { items += [i]; }
           _ {
-            p.fatal("expected item but found " +
-                        token::to_str(p.get_reader(), p.peek()));
+            p.fatal("expected item but found '" +
+                    token::to_str(p.get_reader(), p.peek()) + "'");
           }
         }
     }
@@ -2079,8 +2079,8 @@ fn parse_item_tag(p: parser, attrs: [ast::attribute]) -> @ast::item {
           }
           token::RBRACE. {/* empty */ }
           _ {
-            p.fatal("expected name of variant or '}' but found " +
-                        token::to_str(p.get_reader(), tok));
+            p.fatal("expected name of variant or '}' but found '" +
+                        token::to_str(p.get_reader(), tok) + "'");
           }
         }
     }
index 51b62a5912fa9c5abe060ba8763881dda1d14ed4..ec883d5ba204c2d54fab5cf56dc4b9f57def439c 100644 (file)
@@ -1,4 +1,4 @@
-// error-pattern:expecting ]
+// error-pattern:expecting ']'
 
 // asterisk is bogus
 #[attr*]
index ef15958c3fc84784235d31a3517150f0befca07f..1eea33bc2e9ffb685fb6b5314306878b0411f87c 100644 (file)
@@ -1,4 +1,4 @@
-// error-pattern:expecting [, found fmt
+// error-pattern:expecting '[' but found 'fmt'
 
 // Don't know how to deal with a syntax extension appearing after an
 // item attribute. Probably could use a better error message.