From 1f52652a06655fa1c9eb3ee278b62e488e1ccc28 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sun, 13 May 2012 17:12:56 -0700 Subject: [PATCH] rustc: Eliminate some indirection to the syntax crate --- src/cargo/cargo.rc | 1 + src/cargo/cargo.rs | 6 ++--- src/fuzzer/fuzzer.rc | 2 +- src/fuzzer/fuzzer.rs | 8 +++---- src/rustc/driver.rs | 2 +- src/rustc/driver/rustc.rs | 3 ++- src/rustc/metadata.rs | 2 +- src/rustc/metadata/astencode.rs | 2 +- src/rustc/rustc.rc | 4 +--- src/rustc/syntax.rs | 33 ---------------------------- src/rustdoc/astsrv.rs | 8 +++---- src/rustdoc/attr_parser.rs | 12 +++++----- src/rustdoc/attr_pass.rs | 2 +- src/rustdoc/extract.rs | 2 +- src/rustdoc/markdown_pass.rs | 4 ++-- src/rustdoc/page_pass.rs | 4 +++- src/rustdoc/parse.rs | 8 +++---- src/rustdoc/path_pass.rs | 4 +++- src/rustdoc/prune_unexported_pass.rs | 4 ++-- src/rustdoc/reexport_pass.rs | 10 ++++----- src/rustdoc/rustdoc.rc | 1 + src/rustdoc/tystr_pass.rs | 4 ++-- 22 files changed, 49 insertions(+), 77 deletions(-) delete mode 100644 src/rustc/syntax.rs diff --git a/src/cargo/cargo.rc b/src/cargo/cargo.rc index 7a426a44cbb..c0296575c1f 100644 --- a/src/cargo/cargo.rc +++ b/src/cargo/cargo.rc @@ -22,6 +22,7 @@ use core(vers = "0.2"); use std(vers = "0.2"); use rustc(vers = "0.2"); +use syntax(name = "rustsyntax", vers = "0.2"); import core::*; diff --git a/src/cargo/cargo.rs b/src/cargo/cargo.rs index 5d543d291d8..cec10afe8a3 100644 --- a/src/cargo/cargo.rs +++ b/src/cargo/cargo.rs @@ -1,10 +1,10 @@ // cargo.rs - Rust package manager -import rustc::syntax::{ast, codemap}; -import rustc::syntax::parse; +import syntax::{ast, codemap}; +import syntax::parse; import rustc::util::filesearch::{get_cargo_root, get_cargo_root_nearest, get_cargo_sysroot, libdir}; -import rustc::driver::diagnostic; +import syntax::diagnostic; import result::{ok, err}; import io::writer_util; diff --git a/src/fuzzer/fuzzer.rc b/src/fuzzer/fuzzer.rc index be3352a6ab2..ae16acffe71 100644 --- a/src/fuzzer/fuzzer.rc +++ b/src/fuzzer/fuzzer.rc @@ -6,7 +6,7 @@ use core(vers = "0.2"); use std(vers = "0.2"); -use rustc(vers = "0.2"); +use syntax(name = "rustsyntax", vers = "0.2"); import core::*; diff --git a/src/fuzzer/fuzzer.rs b/src/fuzzer/fuzzer.rs index dd65b0142ea..50a551201e1 100644 --- a/src/fuzzer/fuzzer.rs +++ b/src/fuzzer/fuzzer.rs @@ -1,9 +1,9 @@ import io::writer_util; -import rustc::syntax::{ast, ast_util, fold, visit, codemap}; -import rustc::syntax::parse; -import rustc::syntax::print::pprust; -import rustc::driver::diagnostic; +import syntax::{ast, ast_util, fold, visit, codemap}; +import syntax::parse; +import syntax::print::pprust; +import syntax::diagnostic; enum test_mode { tm_converge, tm_run, } type context = { mode: test_mode }; // + rng diff --git a/src/rustc/driver.rs b/src/rustc/driver.rs index 737a4c3f43b..5a79913d3d2 100644 --- a/src/rustc/driver.rs +++ b/src/rustc/driver.rs @@ -1,4 +1,4 @@ -import rustsyntax::diagnostic; +import syntax::diagnostic; export diagnostic; export driver; diff --git a/src/rustc/driver/rustc.rs b/src/rustc/driver/rustc.rs index 71474865827..ee2239e3a9a 100644 --- a/src/rustc/driver/rustc.rs +++ b/src/rustc/driver/rustc.rs @@ -3,6 +3,7 @@ use core(vers = "0.2"); use std(vers = "0.2"); use rustc(vers = "0.2"); +use syntax(name = "rustsyntax", vers = "0.2"); import core::*; @@ -12,7 +13,7 @@ import std::getopts; import std::map::hashmap; import getopts::{opt_present}; import rustc::driver::driver::*; -import rustc::syntax::codemap; +import syntax::codemap; import rustc::driver::diagnostic; import rustc::middle::lint; import io::reader_util; diff --git a/src/rustc/metadata.rs b/src/rustc/metadata.rs index c5e5cecbaf1..b161fd0b248 100644 --- a/src/rustc/metadata.rs +++ b/src/rustc/metadata.rs @@ -45,7 +45,7 @@ mod back { mod driver { import session = driver_::session; export session; - import diagnostic = rustsyntax::diagnostic; + import diagnostic = syntax::diagnostic; export diagnostic; } diff --git a/src/rustc/metadata/astencode.rs b/src/rustc/metadata/astencode.rs index ba64a6614ed..f59bb55b43d 100644 --- a/src/rustc/metadata/astencode.rs +++ b/src/rustc/metadata/astencode.rs @@ -103,7 +103,7 @@ fn decode_inlined_item(cdata: cstore::crate_metadata, alt ii { ast::ii_item(i) { #debug(">>> DECODED ITEM >>>\n%s\n<<< DECODED ITEM <<<", - rustsyntax::print::pprust::item_to_str(i)); + syntax::print::pprust::item_to_str(i)); } _ { } } diff --git a/src/rustc/rustc.rc b/src/rustc/rustc.rc index 6771688137e..71235ac3313 100644 --- a/src/rustc/rustc.rc +++ b/src/rustc/rustc.rc @@ -13,7 +13,7 @@ use core(vers = "0.2"); use std(vers = "0.2"); -use rustsyntax(vers = "0.2"); +use syntax(name = "rustsyntax", vers = "0.2"); import core::*; @@ -82,8 +82,6 @@ mod middle { } } -mod syntax; - mod front { mod config; mod test; diff --git a/src/rustc/syntax.rs b/src/rustc/syntax.rs deleted file mode 100644 index bdccf3b171d..00000000000 --- a/src/rustc/syntax.rs +++ /dev/null @@ -1,33 +0,0 @@ -// Temporary wrapper modules for migrating syntax to its own crate -import rustsyntax::codemap; -export codemap; - -import rustsyntax::ast; -export ast; - -import rustsyntax::ast_util; -export ast_util; - -import rustsyntax::visit; -export visit; - -import rustsyntax::fold; -export fold; - -import rustsyntax::print; -export print; - -import rustsyntax::parse; -export parse; - -import rustsyntax::util; -export util; - -import rustsyntax::attr; -export attr; - -import rustsyntax::ext; -export ext; - -import rustsyntax::diagnostic; -export diagnostic; \ No newline at end of file diff --git a/src/rustdoc/astsrv.rs b/src/rustdoc/astsrv.rs index 1d3ead93f9a..cdb71b59331 100644 --- a/src/rustdoc/astsrv.rs +++ b/src/rustdoc/astsrv.rs @@ -10,10 +10,10 @@ import std::map::hashmap; import rustc::driver::session; import rustc::driver::driver; -import rustc::driver::diagnostic; -import rustc::driver::diagnostic::handler; -import rustc::syntax::ast; -import rustc::syntax::codemap; +import syntax::diagnostic; +import syntax::diagnostic::handler; +import syntax::ast; +import syntax::codemap; import rustc::middle::ast_map; import rustc::back::link; import rustc::util::filesearch; diff --git a/src/rustdoc/attr_parser.rs b/src/rustdoc/attr_parser.rs index 73bd801c1cc..87293354861 100644 --- a/src/rustdoc/attr_parser.rs +++ b/src/rustdoc/attr_parser.rs @@ -5,8 +5,8 @@ an AST's attributes." )]; -import rustc::syntax::ast; -import rustc::syntax::attr; +import syntax::ast; +import syntax::attr; import core::tuple; export crate_attrs; @@ -21,10 +21,10 @@ type crate_attrs = { mod test { fn parse_attributes(source: str) -> [ast::attribute] { - import rustc::syntax::parse; - import rustc::syntax::parse::parser; - import rustc::syntax::codemap; - import rustc::driver::diagnostic; + import syntax::parse; + import parse::parser; + import syntax::codemap; + import syntax::diagnostic; let cm = codemap::new_codemap(); let handler = diagnostic::mk_handler(none); diff --git a/src/rustdoc/attr_pass.rs b/src/rustdoc/attr_pass.rs index 71a179e29f0..b2557ed2621 100644 --- a/src/rustdoc/attr_pass.rs +++ b/src/rustdoc/attr_pass.rs @@ -6,7 +6,7 @@ of the natural-language documentation for a crate." )]; -import rustc::syntax::ast; +import syntax::ast; import rustc::middle::ast_map; import std::map::hashmap; diff --git a/src/rustdoc/extract.rs b/src/rustdoc/extract.rs index fc54a1ea9f6..25bf5d6c64f 100644 --- a/src/rustdoc/extract.rs +++ b/src/rustdoc/extract.rs @@ -1,6 +1,6 @@ #[doc = "Converts the Rust AST to the rustdoc document model"]; -import rustc::syntax::ast; +import syntax::ast; export from_srv, extract; diff --git a/src/rustdoc/markdown_pass.rs b/src/rustdoc/markdown_pass.rs index 7057dc67e65..a7452feec05 100644 --- a/src/rustdoc/markdown_pass.rs +++ b/src/rustdoc/markdown_pass.rs @@ -180,7 +180,7 @@ fn write_header_(ctxt: ctxt, lvl: hlvl, title: str) { fn header_kind(doc: doc::itemtag) -> str { alt doc { doc::modtag(_) { - if doc.id() == rustc::syntax::ast::crate_node_id { + if doc.id() == syntax::ast::crate_node_id { "Crate" } else { "Module" @@ -216,7 +216,7 @@ fn header_kind(doc: doc::itemtag) -> str { fn header_name(doc: doc::itemtag) -> str { let fullpath = str::connect(doc.path() + [doc.name()], "::"); alt doc { - doc::modtag(_) if doc.id() != rustc::syntax::ast::crate_node_id { + doc::modtag(_) if doc.id() != syntax::ast::crate_node_id { fullpath } doc::nmodtag(_) { diff --git a/src/rustdoc/page_pass.rs b/src/rustdoc/page_pass.rs index 257f59699ea..4855a87e99a 100644 --- a/src/rustdoc/page_pass.rs +++ b/src/rustdoc/page_pass.rs @@ -7,6 +7,8 @@ modules, pages for the crate, indexes, etc. "]; +import syntax::ast; + export mk_pass; fn mk_pass(output_style: config::output_style) -> pass { @@ -92,7 +94,7 @@ fn fold_mod( let doc = fold::default_any_fold_mod(fold, doc); - if doc.id() != rustc::syntax::ast::crate_node_id { + if doc.id() != ast::crate_node_id { let doc = strip_mod(doc); let page = doc::itempage(doc::modtag(doc)); diff --git a/src/rustdoc/parse.rs b/src/rustdoc/parse.rs index 788d9b9e4fb..7428369f6b4 100644 --- a/src/rustdoc/parse.rs +++ b/src/rustdoc/parse.rs @@ -3,10 +3,10 @@ import rustc::driver::driver; import driver::{file_input, str_input}; import rustc::driver::session; -import rustc::driver::diagnostic; -import rustc::syntax::ast; -import rustc::syntax::codemap; -import rustc::syntax::parse; +import syntax::diagnostic; +import syntax::ast; +import syntax::codemap; +import syntax::parse; export from_file, from_str, from_file_sess, from_str_sess; diff --git a/src/rustdoc/path_pass.rs b/src/rustdoc/path_pass.rs index e92845712a2..e40c19c6e02 100644 --- a/src/rustdoc/path_pass.rs +++ b/src/rustdoc/path_pass.rs @@ -1,5 +1,7 @@ #[doc = "Records the full path to items"]; +import syntax::ast; + export mk_pass; fn mk_pass() -> pass { @@ -36,7 +38,7 @@ fn fold_item(fold: fold::fold, doc: doc::itemdoc) -> doc::itemdoc { } fn fold_mod(fold: fold::fold, doc: doc::moddoc) -> doc::moddoc { - let is_topmod = doc.id() == rustc::syntax::ast::crate_node_id; + let is_topmod = doc.id() == ast::crate_node_id; if !is_topmod { vec::push(fold.ctxt.path, doc.name()); } let doc = fold::default_any_fold_mod(fold, doc); diff --git a/src/rustdoc/prune_unexported_pass.rs b/src/rustdoc/prune_unexported_pass.rs index 80fe5732d9d..6d5cdc2e5a3 100644 --- a/src/rustdoc/prune_unexported_pass.rs +++ b/src/rustdoc/prune_unexported_pass.rs @@ -1,7 +1,7 @@ #[doc = "Prunes branches of the tree that are not exported"]; -import rustc::syntax::ast; -import rustc::syntax::ast_util; +import syntax::ast; +import syntax::ast_util; import rustc::middle::ast_map; import std::map::hashmap; diff --git a/src/rustdoc/reexport_pass.rs b/src/rustdoc/reexport_pass.rs index cfb715d2fe4..89dceafd3af 100644 --- a/src/rustdoc/reexport_pass.rs +++ b/src/rustdoc/reexport_pass.rs @@ -3,12 +3,12 @@ import std::map; import std::map::hashmap; import std::list; -import rustc::syntax::ast; -import rustc::syntax::ast_util; +import syntax::ast; +import syntax::ast_util; import rustc::util::common; import rustc::middle::ast_map; -import rustc::syntax::visit; -import rustc::syntax::codemap; +import syntax::visit; +import syntax::codemap; import rustc::middle::resolve; export mk_pass; @@ -316,7 +316,7 @@ fn merge_reexports( fn fold_mod(fold: fold::fold, doc: doc::moddoc) -> doc::moddoc { let doc = fold::default_seq_fold_mod(fold, doc); - let is_topmod = doc.id() == rustc::syntax::ast::crate_node_id; + let is_topmod = doc.id() == ast::crate_node_id; // In the case of the top mod, it really doesn't have a name; // the name we have here is actually the crate name diff --git a/src/rustdoc/rustdoc.rc b/src/rustdoc/rustdoc.rc index e910d33f3a8..bcb833df5b5 100644 --- a/src/rustdoc/rustdoc.rc +++ b/src/rustdoc/rustdoc.rc @@ -14,6 +14,7 @@ use core(vers = "0.2"); use std(vers = "0.2"); use rustc(vers = "0.2"); +use syntax(name = "rustsyntax", vers = "0.2"); import core::*; diff --git a/src/rustdoc/tystr_pass.rs b/src/rustdoc/tystr_pass.rs index 56888758ede..0d7c29e4b67 100644 --- a/src/rustdoc/tystr_pass.rs +++ b/src/rustdoc/tystr_pass.rs @@ -1,8 +1,8 @@ #[doc = "Pulls type information out of the AST and attaches it to the document"]; -import rustc::syntax::ast; -import rustc::syntax::print::pprust; +import syntax::ast; +import syntax::print::pprust; import rustc::middle::ast_map; import std::map::hashmap;