Remove syntax and syntax_pos thread locals
This commit is contained in:
parent
fab632f975
commit
cbdf4ec03e
29 changed files with 1212 additions and 998 deletions
|
|
@ -447,6 +447,17 @@ pub fn run_compiler<'a>(args: &[String],
|
|||
file_loader: Option<Box<FileLoader + 'static>>,
|
||||
emitter_dest: Option<Box<Write + Send>>)
|
||||
-> (CompileResult, Option<Session>)
|
||||
{
|
||||
syntax::with_globals(|| {
|
||||
run_compiler_impl(args, callbacks, file_loader, emitter_dest)
|
||||
})
|
||||
}
|
||||
|
||||
fn run_compiler_impl<'a>(args: &[String],
|
||||
callbacks: &mut CompilerCalls<'a>,
|
||||
file_loader: Option<Box<FileLoader + 'static>>,
|
||||
emitter_dest: Option<Box<Write + Send>>)
|
||||
-> (CompileResult, Option<Session>)
|
||||
{
|
||||
macro_rules! do_or_return {($expr: expr, $sess: expr) => {
|
||||
match $expr {
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ use rustc::hir::map as hir_map;
|
|||
use rustc::session::{self, config};
|
||||
use rustc::session::config::{OutputFilenames, OutputTypes};
|
||||
use rustc_data_structures::sync::Lrc;
|
||||
use syntax;
|
||||
use syntax::ast;
|
||||
use syntax::abi::Abi;
|
||||
use syntax::codemap::{CodeMap, FilePathMapping, FileName};
|
||||
|
|
@ -93,9 +94,19 @@ fn errors(msgs: &[&str]) -> (Box<Emitter + Send>, usize) {
|
|||
}
|
||||
|
||||
fn test_env<F>(source_string: &str,
|
||||
(emitter, expected_err_count): (Box<Emitter + Send>, usize),
|
||||
args: (Box<Emitter + Send>, usize),
|
||||
body: F)
|
||||
where F: FnOnce(Env)
|
||||
{
|
||||
syntax::with_globals(|| {
|
||||
test_env_impl(source_string, args, body)
|
||||
});
|
||||
}
|
||||
|
||||
fn test_env_impl<F>(source_string: &str,
|
||||
(emitter, expected_err_count): (Box<Emitter + Send>, usize),
|
||||
body: F)
|
||||
where F: FnOnce(Env)
|
||||
{
|
||||
let mut options = config::basic_options();
|
||||
options.debugging_opts.verbose = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue