@@ -92,7 +92,7 @@ fn new_ext_hash() -> ext_hash {
92
92
93
93
tag mod_index_entry {
94
94
mie_view_item( @ast : : view_item) ;
95
- mie_import_ident ( node_id) ;
95
+ mie_import_ident ( node_id, syntax :: codemap :: span ) ;
96
96
mie_item ( @ast:: item) ;
97
97
mie_native_item ( @ast:: native_item) ;
98
98
mie_tag_variant ( /* tag item */ @ast:: item, /* variant index */ uint) ;
@@ -949,9 +949,6 @@ fn found_view_item(e: &env, vi: @ast::view_item, ns: namespace) ->
949
949
let cnum = cstore:: get_use_stmt_cnum ( e. cstore , id) ;
950
950
ret some( ast:: def_mod ( { crate : cnum, node: -1 } ) ) ;
951
951
}
952
- ast:: view_item_import ( _, _, id) {
953
- ret lookup_import ( e, local_def ( id) , ns) ;
954
- }
955
952
ast:: view_item_import_glob ( _, defid) {
956
953
ret none :: < def > ; //will be handled in the fallback glob pass
957
954
@@ -1073,7 +1070,7 @@ fn lookup_in_mie(e: &env, mie: &mod_index_entry, ns: namespace) ->
1073
1070
option:: t<def> {
1074
1071
alt mie {
1075
1072
mie_view_item( view_item) { ret found_view_item ( e, view_item, ns) ; }
1076
- mie_import_ident ( id) { ret lookup_import ( e, local_def ( id) , ns) ; }
1073
+ mie_import_ident ( id, _ ) { ret lookup_import ( e, local_def ( id) , ns) ; }
1077
1074
mie_item ( item) { ret found_def_item ( item, ns) ; }
1078
1075
mie_tag_variant ( item, variant_idx) {
1079
1076
alt item. node {
@@ -1118,15 +1115,19 @@ fn index_mod(md: &ast::_mod) -> mod_index {
1118
1115
let index = new_str_hash :: < list < mod_index_entry > > ( ) ;
1119
1116
for it: @ast:: view_item in md. view_items {
1120
1117
alt it. node {
1121
- ast:: view_item_import ( ident , _ , _ ) | ast :: view_item_use ( ident, _, _)
1118
+ ast:: view_item_use ( ident, _, _)
1122
1119
{
1123
1120
add_to_index ( index, ident, mie_view_item ( it) ) ;
1124
1121
}
1125
1122
1123
+ ast:: view_item_import ( ident, _, id) {
1124
+ add_to_index ( index, ident, mie_import_ident ( id, it. span ) ) ;
1125
+ }
1126
+
1126
1127
ast:: view_item_import_from ( _, idents, _) {
1127
1128
for ident in idents {
1128
1129
add_to_index ( index, ident. node . name ,
1129
- mie_import_ident ( ident. node . id ) ) ;
1130
+ mie_import_ident ( ident. node . id , ident . span ) ) ;
1130
1131
}
1131
1132
}
1132
1133
@@ -1160,14 +1161,16 @@ fn index_nmod(md: &ast::native_mod) -> mod_index {
1160
1161
let index = new_str_hash :: < list < mod_index_entry > > ( ) ;
1161
1162
for it: @ast:: view_item in md. view_items {
1162
1163
alt it. node {
1163
- ast:: view_item_use ( ident, _, _) | ast:: view_item_import ( ident, _, _)
1164
- {
1164
+ ast:: view_item_use ( ident, _, _) {
1165
1165
add_to_index ( index, ident, mie_view_item ( it) ) ;
1166
1166
}
1167
+ ast:: view_item_import ( ident, _, id) {
1168
+ add_to_index ( index, ident, mie_import_ident ( id, it. span ) ) ;
1169
+ }
1167
1170
ast:: view_item_import_from ( _, idents, _) {
1168
1171
for ident in idents {
1169
1172
add_to_index ( index, ident. node . name ,
1170
- mie_import_ident ( ident. node . id ) ) ;
1173
+ mie_import_ident ( ident. node . id , ident . span ) ) ;
1171
1174
}
1172
1175
}
1173
1176
ast:: view_item_import_glob ( _, _) | ast:: view_item_export ( _, _) { }
@@ -1265,6 +1268,7 @@ fn check_mod_name(e: &env, name: &ident, entries: list<mod_index_entry>) {
1265
1268
fn mie_span ( mie : & mod_index_entry ) -> span {
1266
1269
ret alt mie {
1267
1270
mie_view_item( item) { item. span }
1271
+ mie_import_ident ( _, span) { span }
1268
1272
mie_item ( item) { item. span }
1269
1273
mie_tag_variant ( item, _) { item. span }
1270
1274
mie_native_item ( item) { item. span }
0 commit comments