diff options
Diffstat (limited to 'src/comp/front')
| -rw-r--r-- | src/comp/front/ast.rs | 3 | ||||
| -rw-r--r-- | src/comp/front/parser.rs | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/comp/front/ast.rs b/src/comp/front/ast.rs index 15c0e499..fff7b24c 100644 --- a/src/comp/front/ast.rs +++ b/src/comp/front/ast.rs @@ -36,6 +36,7 @@ tag def { def_ty_arg(def_id); def_binding(def_id); def_use(def_id); + def_import(def_id); } type crate = spanned[crate_]; @@ -213,7 +214,7 @@ type _obj = rec(vec[obj_field] fields, tag mod_index_entry { - mie_use(uint); + mie_view_item(uint); mie_item(uint); mie_tag_variant(uint /* tag item index */, uint /* variant index */); } diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs index 8c3db0e1..f71fae61 100644 --- a/src/comp/front/parser.rs +++ b/src/comp/front/parser.rs @@ -1,4 +1,5 @@ import std._io; +import std._vec; import std.option; import std.option.some; import std.option.none; @@ -1751,10 +1752,12 @@ impure fn parse_view(parser p, ast.mod_index index) -> vec[@ast.view_item] { items += vec(item); alt (item.node) { case(ast.view_item_use(?id, _, _)) { - index.insert(id, ast.mie_use(u)); + index.insert(id, ast.mie_view_item(u)); } case(ast.view_item_import(?ids,_)) { - // FIXME + auto len = _vec.len[ast.ident](ids); + auto last_id = ids.(len - 1u); + index.insert(last_id, ast.mie_view_item(u)); } } u = u + 1u; |