aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle
diff options
context:
space:
mode:
Diffstat (limited to 'src/comp/middle')
-rw-r--r--src/comp/middle/resolve.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/comp/middle/resolve.rs b/src/comp/middle/resolve.rs
index 7f344d95..551993dd 100644
--- a/src/comp/middle/resolve.rs
+++ b/src/comp/middle/resolve.rs
@@ -67,10 +67,24 @@ fn lookup_name(&env e, ast.ident i) -> option.t[def] {
ret none[def];
}
+ fn found_def_view(@ast.view_item i) -> option.t[def] {
+ alt (i.node) {
+ case (ast.view_item_use(_, _, ?id)) {
+ ret some[def](ast.def_use(id));
+ }
+ case (ast.view_item_import(_,?id)) {
+ fail;
+ }
+ }
+ }
+
fn check_mod(ast.ident i, ast._mod m) -> option.t[def] {
alt (m.index.find(i)) {
case (some[ast.mod_index_entry](?ent)) {
alt (ent) {
+ case (ast.mie_use(?ix)) {
+ ret found_def_view(m.view_items.(ix));
+ }
case (ast.mie_item(?ix)) {
ret found_def_item(m.items.(ix));
}