libextra: Another round of de-Cell-ing.
34 uses of `Cell` remain.
This commit is contained in:
parent
5aad292fb9
commit
786dea207d
35 changed files with 211 additions and 387 deletions
|
|
@ -24,7 +24,6 @@ extern mod syntax;
|
|||
extern mod rustc;
|
||||
extern mod extra;
|
||||
|
||||
use std::cell::Cell;
|
||||
use std::local_data;
|
||||
use std::io;
|
||||
use std::io::File;
|
||||
|
|
@ -194,13 +193,13 @@ fn rust_input(cratefile: &str, matches: &getopts::Matches) -> Output {
|
|||
let mut plugins = matches.opt_strs("plugins");
|
||||
|
||||
// First, parse the crate and extract all relevant information.
|
||||
let libs = Cell::new(matches.opt_strs("L").map(|s| Path::new(s.as_slice())));
|
||||
let cfgs = Cell::new(matches.opt_strs("cfg"));
|
||||
let cr = Cell::new(Path::new(cratefile));
|
||||
let libs = matches.opt_strs("L").map(|s| Path::new(s.as_slice()));
|
||||
let cfgs = matches.opt_strs("cfg");
|
||||
let cr = Path::new(cratefile);
|
||||
info!("starting to run rustc");
|
||||
let (crate, analysis) = do std::task::try {
|
||||
let cr = cr.take();
|
||||
core::run_core(libs.take().move_iter().collect(), cfgs.take(), &cr)
|
||||
let cr = cr;
|
||||
core::run_core(libs.move_iter().collect(), cfgs, &cr)
|
||||
}.unwrap();
|
||||
info!("finished with rustc");
|
||||
local_data::set(analysiskey, analysis);
|
||||
|
|
|
|||
|
|
@ -8,12 +8,10 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
use std::num;
|
||||
use std::cell::Cell;
|
||||
use std::uint;
|
||||
use std::hashmap::HashSet;
|
||||
use std::local_data;
|
||||
|
||||
use std::num;
|
||||
use std::uint;
|
||||
use syntax::ast;
|
||||
|
||||
use clean;
|
||||
|
|
@ -56,11 +54,10 @@ pub fn strip_hidden(crate: clean::Crate) -> plugins::PluginResult {
|
|||
pub fn strip_private(crate: clean::Crate) -> plugins::PluginResult {
|
||||
// This stripper collects all *retained* nodes.
|
||||
let mut retained = HashSet::new();
|
||||
let crate = Cell::new(crate);
|
||||
let exported_items = local_data::get(super::analysiskey, |analysis| {
|
||||
analysis.unwrap().exported_items.clone()
|
||||
});
|
||||
let mut crate = crate.take();
|
||||
let mut crate = crate;
|
||||
|
||||
// strip all private items
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue