]> git.lizzy.rs Git - rust.git/commitdiff
libsyntax: Update view_item_use/import to reflect actual usage
authorLuqman Aden <laden@csclub.uwaterloo.ca>
Mon, 18 Feb 2013 02:45:00 +0000 (21:45 -0500)
committerLuqman Aden <laden@csclub.uwaterloo.ca>
Mon, 18 Feb 2013 02:45:00 +0000 (21:45 -0500)
src/librustc/front/core_inject.rs
src/librustc/front/test.rs
src/librustc/metadata/creader.rs
src/librustc/metadata/cstore.rs
src/librustc/middle/resolve.rs
src/libsyntax/ast.rs
src/libsyntax/ast_util.rs
src/libsyntax/ext/build.rs
src/libsyntax/ext/pipes/ast_builder.rs
src/libsyntax/parse/parser.rs
src/libsyntax/print/pprust.rs

index 143eb556f96de36f00b8038df1e7c03a69b098e4..b7f0f5189c678a419f3df96bc6e171450af9d448 100644 (file)
@@ -45,7 +45,8 @@ fn spanned<T: Copy>(x: T) -> codemap::spanned<T> {
         fold_crate: |crate, span, fld| {
             let n1 = sess.next_node_id();
             let vi1 = @ast::view_item {
-                node: ast::view_item_use(sess.ident_of(~"core"), ~[], n1),
+                node: ast::view_item_extern_mod(
+                        sess.ident_of(~"core"), ~[], n1),
                 attrs: ~[
                     spanned(ast::attribute_ {
                         style: ast::attr_inner,
@@ -86,7 +87,7 @@ fn spanned<T: Copy>(x: T) -> codemap::spanned<T> {
             };
 
             let vp = @spanned(ast::view_path_glob(prelude_path, n2));
-            let vi2 = @ast::view_item { node: ast::view_item_import(~[vp]),
+            let vi2 = @ast::view_item { node: ast::view_item_use(~[vp]),
                                         attrs: ~[],
                                         vis: ast::private,
                                         span: dummy_sp() };
index caa2035389d6342fdb8f3ef40c10e18ed948e51a..7bd45d285b4a5d0fd5fcb552f713f7eed4c2e1c8 100644 (file)
@@ -266,13 +266,13 @@ fn mk_std(cx: &TestCtxt) -> @ast::view_item {
     let mi = nospan(mi);
     let id_std = cx.sess.ident_of(~"std");
     let vi = if is_std(cx) {
-        ast::view_item_import(
+        ast::view_item_use(
             ~[@nospan(ast::view_path_simple(id_std,
                                             path_node(~[id_std]),
                                             ast::type_value_ns,
                                             cx.sess.next_node_id()))])
     } else {
-        ast::view_item_use(id_std, ~[@mi],
+        ast::view_item_extern_mod(id_std, ~[@mi],
                            cx.sess.next_node_id())
     };
     let vi = ast::view_item {
index a2203f0a3998a6f1f9a3f30db7c6d1a19960a349..51c34a86921628dc516e31e25aa40f2b5aa341b5 100644 (file)
@@ -127,10 +127,11 @@ struct Env {
 
 fn visit_view_item(e: @mut Env, i: @ast::view_item) {
     match /*bad*/copy i.node {
-      ast::view_item_use(ident, meta_items, id) => {
-        debug!("resolving use stmt. ident: %?, meta: %?", ident, meta_items);
+      ast::view_item_extern_mod(ident, meta_items, id) => {
+        debug!("resolving extern mod stmt. ident: %?, meta: %?",
+               ident, meta_items);
         let cnum = resolve_crate(e, ident, meta_items, ~"", i.span);
-        cstore::add_use_stmt_cnum(e.cstore, id, cnum);
+        cstore::add_extern_mod_stmt_cnum(e.cstore, id, cnum);
       }
       _ => ()
     }
index 73ec872b6a6ecfe9cc15c6f7e0c26f115d7eb9ec..5b5f9bf08183d1f26ab1d166dad0b9d73631e0e5 100644 (file)
 
 pub struct CStore {
     priv metas: oldmap::HashMap<ast::crate_num, crate_metadata>,
-    priv use_crate_map: use_crate_map,
+    priv extern_mod_crate_map: extern_mod_crate_map,
     priv used_crate_files: ~[Path],
     priv used_libraries: ~[~str],
     priv used_link_args: ~[~str],
     intr: @ident_interner
 }
 
-// Map from node_id's of local use statements to crate numbers
-type use_crate_map = oldmap::HashMap<ast::node_id, ast::crate_num>;
+// Map from node_id's of local extern mod statements to crate numbers
+type extern_mod_crate_map = oldmap::HashMap<ast::node_id, ast::crate_num>;
 
 pub fn mk_cstore(intr: @ident_interner) -> CStore {
     let meta_cache = oldmap::HashMap();
     let crate_map = oldmap::HashMap();
     return CStore {
         metas: meta_cache,
-        use_crate_map: crate_map,
+        extern_mod_crate_map: crate_map,
         used_crate_files: ~[],
         used_libraries: ~[],
         used_link_args: ~[],
@@ -127,18 +127,18 @@ pub fn get_used_link_args(cstore: @mut CStore) -> ~[~str] {
     return /*bad*/copy cstore.used_link_args;
 }
 
-pub fn add_use_stmt_cnum(cstore: @mut CStore,
-                         use_id: ast::node_id,
-                         cnum: ast::crate_num) {
-    let use_crate_map = cstore.use_crate_map;
-    use_crate_map.insert(use_id, cnum);
+pub fn add_extern_mod_stmt_cnum(cstore: @mut CStore,
+                                emod_id: ast::node_id,
+                                cnum: ast::crate_num) {
+    let extern_mod_crate_map = cstore.extern_mod_crate_map;
+    extern_mod_crate_map.insert(emod_id, cnum);
 }
 
-pub fn find_use_stmt_cnum(cstore: @mut CStore,
-                          use_id: ast::node_id)
+pub fn find_extern_mod_stmt_cnum(cstore: @mut CStore,
+                                 emod_id: ast::node_id)
                        -> Option<ast::crate_num> {
-    let use_crate_map = cstore.use_crate_map;
-    use_crate_map.find(&use_id)
+    let extern_mod_crate_map = cstore.extern_mod_crate_map;
+    extern_mod_crate_map.find(&emod_id)
 }
 
 // returns hashes of crates directly used by this crate. Hashes are
@@ -147,8 +147,8 @@ pub fn get_dep_hashes(cstore: @mut CStore) -> ~[~str] {
     type crate_hash = {name: ~str, hash: ~str};
     let mut result = ~[];
 
-    let use_crate_map = cstore.use_crate_map;
-    for use_crate_map.each_value |&cnum| {
+    let extern_mod_crate_map = cstore.extern_mod_crate_map;
+    for extern_mod_crate_map.each_value |&cnum| {
         let cdata = cstore::get_crate_data(cstore, cnum);
         let hash = decoder::get_crate_hash(cdata.data);
         debug!("Add hash[%s]: %s", cdata.name, hash);
index 44b0da626b68d1e54a6c02021910905c277b4c6c..e67734179476a1c711d7f631401fee9560d3ee78 100644 (file)
@@ -15,7 +15,7 @@
 use metadata::csearch::{each_path, get_method_names_if_trait};
 use metadata::csearch::{get_static_methods_if_impl, get_struct_fields};
 use metadata::csearch::{get_type_name_if_impl};
-use metadata::cstore::find_use_stmt_cnum;
+use metadata::cstore::find_extern_mod_stmt_cnum;
 use metadata::decoder::{def_like, dl_def, dl_field, dl_impl};
 use middle::lang_items::LanguageItems;
 use middle::lint::{deny, allow, forbid, level, unused_imports, warn};
@@ -55,7 +55,7 @@
 use syntax::ast::{ty_i16, ty_i32, ty_i64, ty_i8, ty_int, ty_param, ty_path};
 use syntax::ast::{ty_str, ty_u, ty_u16, ty_u32, ty_u64, ty_u8, ty_uint};
 use syntax::ast::{type_value_ns, ty_param_bound, unnamed_field};
-use syntax::ast::{variant, view_item, view_item_import};
+use syntax::ast::{variant, view_item, view_item_extern_mod};
 use syntax::ast::{view_item_use, view_path_glob, view_path_list};
 use syntax::ast::{view_path_simple, visibility, anonymous, named, not};
 use syntax::ast::{unsafe_fn};
@@ -1388,7 +1388,7 @@ fn build_reduced_graph_for_view_item(view_item: @view_item,
                                          &&_visitor: vt<ReducedGraphParent>) {
         let privacy = visibility_to_privacy(view_item.vis);
         match /*bad*/copy view_item.node {
-            view_item_import(view_paths) => {
+            view_item_use(view_paths) => {
                 for view_paths.each |view_path| {
                     // Extract and intern the module part of the path. For
                     // globs and lists, the path is found directly in the AST;
@@ -1462,8 +1462,8 @@ fn build_reduced_graph_for_view_item(view_item: @view_item,
                 }
             }
 
-            view_item_use(name, _, node_id) => {
-                match find_use_stmt_cnum(self.session.cstore, node_id) {
+            view_item_extern_mod(name, _, node_id) => {
+                match find_extern_mod_stmt_cnum(self.session.cstore, node_id) {
                     Some(crate_id) => {
                         let (child_name_bindings, new_parent) =
                             self.add_child(name, parent, ForbidDuplicateTypes,
index 5fcc53a407bc9fa668334fffd8b8c5f44df57363..bf64402d2375bcbb700438dc8c290795ec5aa6a4 100644 (file)
@@ -1121,8 +1121,8 @@ pub struct view_item {
 #[auto_decode]
 #[deriving_eq]
 pub enum view_item_ {
-    view_item_use(ident, ~[@meta_item], node_id),
-    view_item_import(~[@view_path]),
+    view_item_extern_mod(ident, ~[@meta_item], node_id),
+    view_item_use(~[@view_path]),
 }
 
 // Meta-data associated with an item
index f7ae2058095494537e84154be1b7fc364a96c1f1..9f7b28c36f59eba92c53c1b842c856c902974f77 100644 (file)
@@ -395,8 +395,8 @@ pub fn id_visitor(vfn: fn@(node_id)) -> visit::vt<()> {
 
         visit_view_item: fn@(vi: @view_item) {
             match vi.node {
-              view_item_use(_, _, id) => vfn(id),
-              view_item_import(vps) => {
+              view_item_extern_mod(_, _, id) => vfn(id),
+              view_item_use(vps) => {
                   for vec::each(vps) |vp| {
                       match vp.node {
                           view_path_simple(_, _, _, id) => vfn(id),
index 963ea5bfe3329879adf68133620603bed6c82da4..0a6840ceea0b12510be1e1a264b1cf5a73406401 100644 (file)
@@ -192,7 +192,7 @@ pub fn mk_glob_use(cx: ext_ctxt,
         node: ast::view_path_glob(mk_raw_path(sp, path), cx.next_id()),
         span: sp,
     };
-    @ast::view_item { node: ast::view_item_import(~[glob]),
+    @ast::view_item { node: ast::view_item_use(~[glob]),
                       attrs: ~[],
                       vis: ast::private,
                       span: sp }
index 12e5f1891aa82f6e07e213abcf579bf0b1f022bc..ea090f008fc39af805f4e1ea20db4a3de4b92d38 100644 (file)
@@ -310,7 +310,7 @@ fn item_mod(name: ident,
                 +items: ~[@ast::item]) -> @ast::item {
         // XXX: Total hack: import `core::kinds::Owned` to work around a
         // parser bug whereby `fn f<T: ::kinds::Owned>` doesn't parse.
-        let vi = ast::view_item_import(~[
+        let vi = ast::view_item_use(~[
             @codemap::spanned {
                 node: ast::view_path_simple(
                     self.ident_of(~"Owned"),
index 799f0d40a46171720fd070011ade8c43fd7ca452..fa51d4c29d24dbe8d652ae79aa6da6a0a510c386 100644 (file)
@@ -54,7 +54,7 @@
 use ast::{ty_nil, ty_param, ty_param_bound, ty_path, ty_ptr, ty_rec, ty_rptr};
 use ast::{ty_tup, ty_u32, ty_uniq, ty_vec, type_value_ns, uniq};
 use ast::{unnamed_field, unsafe_blk, unsafe_fn, variant, view_item};
-use ast::{view_item_, view_item_import, view_item_use};
+use ast::{view_item_, view_item_extern_mod, view_item_use};
 use ast::{view_path, view_path_glob, view_path_list, view_path_simple};
 use ast::{visibility, vstore, vstore_box, vstore_fixed, vstore_slice};
 use ast::{vstore_uniq};
@@ -3503,7 +3503,7 @@ fn parse_item_foreign_mod(lo: BytePos,
         let metadata = self.parse_optional_meta();
         self.expect(token::SEMI);
         iovi_view_item(@ast::view_item {
-            node: view_item_use(ident, metadata, self.get_id()),
+            node: view_item_extern_mod(ident, metadata, self.get_id()),
             attrs: attrs,
             vis: visibility,
             span: mk_sp(lo, self.last_span.hi)
@@ -3884,7 +3884,7 @@ fn parse_item(+attrs: ~[attribute]) -> Option<@ast::item> {
     }
 
     fn parse_use() -> view_item_ {
-        return view_item_import(self.parse_view_paths());
+        return view_item_use(self.parse_view_paths());
     }
 
     fn parse_view_path() -> @view_path {
@@ -4006,7 +4006,7 @@ fn parse_view_item(+attrs: ~[attribute], vis: visibility) -> @view_item {
             self.expect_keyword(~"mod");
             let ident = self.parse_ident();
             let metadata = self.parse_optional_meta();
-            view_item_use(ident, metadata, self.get_id())
+            view_item_extern_mod(ident, metadata, self.get_id())
         } else {
             fail!();
         };
@@ -4053,8 +4053,8 @@ fn parse_items_and_view_items(+first_item_attrs: ~[attribute],
                 iovi_view_item(view_item) => {
                     if restricted_to_imports {
                             match view_item.node {
-                                view_item_import(_) => {}
-                                view_item_use(*) =>
+                                view_item_use(*) => {}
+                                view_item_extern_mod(*) =>
                                     self.fatal(~"\"extern mod\" \
                                                  declarations are not \
                                                  allowed here")
index b05461aa8d98f5a12de747171279776579a99045..d5cba4312b7a23342589d6220b84d91a1d88bf24 100644 (file)
@@ -1859,7 +1859,7 @@ pub fn print_view_item(s: @ps, item: @ast::view_item) {
     print_outer_attributes(s, item.attrs);
     print_visibility(s, item.vis);
     match item.node {
-        ast::view_item_use(id, mta, _) => {
+        ast::view_item_extern_mod(id, mta, _) => {
             head(s, ~"extern mod");
             print_ident(s, id);
             if !mta.is_empty() {
@@ -1869,7 +1869,7 @@ pub fn print_view_item(s: @ps, item: @ast::view_item) {
             }
         }
 
-        ast::view_item_import(vps) => {
+        ast::view_item_use(vps) => {
             head(s, ~"use");
             print_view_paths(s, vps);
         }