diff options
author | John Hodge <tpg@mutabah.net> | 2016-08-19 11:47:27 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-08-19 11:47:27 +0800 |
commit | eb6e05c941966dfc11a3d0377f67589023a32724 (patch) | |
tree | d957ff98684fc8a7db29e4c1871315868427ea1e | |
parent | d3e593cc70b2ae197a1c13e38c3982710f22fa69 (diff) | |
download | mrust-eb6e05c941966dfc11a3d0377f67589023a32724.tar.gz |
Parse - Fix bug in parsing `extern crate`
-rw-r--r-- | src/parse/root.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/parse/root.cpp b/src/parse/root.cpp index b932bf1a..c21cfba3 100644 --- a/src/parse/root.cpp +++ b/src/parse/root.cpp @@ -1304,12 +1304,13 @@ void Parse_ExternCrate(TokenStream& lex, AST::Module& mod, bool is_public, AST:: name = mv$(tok.str());
if(GET_TOK(tok, lex) == TOK_RWORD_AS) {
path = mv$(name);
+
GET_CHECK_TOK(tok, lex, TOK_IDENT);
name = mv$(tok.str());
}
else {
PUTBACK(tok, lex);
- name = path;
+ path = name;
}
break;
default:
@@ -1317,6 +1318,7 @@ void Parse_ExternCrate(TokenStream& lex, AST::Module& mod, bool is_public, AST:: }
GET_CHECK_TOK(tok, lex, TOK_SEMICOLON);
+ DEBUG("- `extern crate` path='" << path << "', name="<<name);
mod.add_ext_crate(is_public, mv$(path), mv$(name), mv$(meta_items));
}
|