Add names from imports to the namespace.
This commit is contained in:
parent
e0fe271d34
commit
7c8f99fdc1
3 changed files with 9 additions and 5 deletions
|
@ -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 */);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -73,7 +73,7 @@ fn lookup_name(&env e, ast.ident i) -> option.t[def] {
|
|||
ret some[def](ast.def_use(id));
|
||||
}
|
||||
case (ast.view_item_import(_,?id)) {
|
||||
fail;
|
||||
ret some[def](ast.def_import(id));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ fn lookup_name(&env e, ast.ident i) -> option.t[def] {
|
|||
alt (m.index.find(i)) {
|
||||
case (some[ast.mod_index_entry](?ent)) {
|
||||
alt (ent) {
|
||||
case (ast.mie_use(?ix)) {
|
||||
case (ast.mie_view_item(?ix)) {
|
||||
ret found_def_view(m.view_items.(ix));
|
||||
}
|
||||
case (ast.mie_item(?ix)) {
|
||||
|
|
Loading…
Reference in a new issue