about summary refs log tree commit diff
path: root/src/comp/syntax/parse
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-07-05 17:01:23 -0700
committerBrian Anderson <banderson@mozilla.com>2011-07-05 17:25:18 -0700
commit2cb129355b93b8f5d932120a2f002fb59d1344fd (patch)
tree350360e3634b1fa47d1f9aa4d7e6da9f759baa56 /src/comp/syntax/parse
parent8261d2e6fb32dd4e811d33b3ef40abde8e67ae3d (diff)
downloadrust-2cb129355b93b8f5d932120a2f002fb59d1344fd.tar.gz
rust-2cb129355b93b8f5d932120a2f002fb59d1344fd.zip
Change ast::meta_name_value to accept any literal, not just string
This isn't useful for much of anything yet, since metadata::encoder doesn't
know how to handle the non-string variants.

Issue #611
Diffstat (limited to 'src/comp/syntax/parse')
-rw-r--r--src/comp/syntax/parse/parser.rs14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/comp/syntax/parse/parser.rs b/src/comp/syntax/parse/parser.rs
index e852fdcb0af..b671e9eaa69 100644
--- a/src/comp/syntax/parse/parser.rs
+++ b/src/comp/syntax/parse/parser.rs
@@ -2172,17 +2172,9 @@ fn parse_meta_item(&parser p) -> @ast::meta_item {
     alt (p.peek()) {
         case (token::EQ) {
             p.bump();
-            alt (p.peek()) {
-                case (token::LIT_STR(?s)) {
-                    p.bump();
-                    auto value = p.get_str(s);
-                    auto hi = p.get_hi_pos();
-                    ret @spanned(lo, hi, ast::meta_name_value(ident, value));
-                }
-                case (_) {
-                    p.fatal("Metadata items must be string literals");
-                }
-            }
+            auto lit = parse_lit(p);
+            auto hi = p.get_hi_pos();
+            ret @spanned(lo, hi, ast::meta_name_value(ident, lit));
         }
         case (token::LPAREN) {
             auto inner_items = parse_meta_seq(p);