diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2018-03-08 11:26:02 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-03-08 11:26:02 -0800 |
| commit | 457975369b5cdca62a7708f46f684dfec67b3c67 (patch) | |
| tree | 526c8b74176fe716194e4f5c420ca3b8e08e4fcc /src/libsyntax/parse | |
| parent | d17eb8f68edd459ddd4cc3a9d92125f9e6e9df46 (diff) | |
| parent | 728c16c88f8db0c914cecc8b20b7f851d936fd5a (diff) | |
| download | rust-457975369b5cdca62a7708f46f684dfec67b3c67.tar.gz rust-457975369b5cdca62a7708f46f684dfec67b3c67.zip | |
Rollup merge of #48808 - Zoxc:reg-diag, r=michaelwoerister
Move REGISTERED_DIAGNOSTICS to a ParseSess field r? @michaelwoerister
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/lexer/mod.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/parse/mod.rs | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/libsyntax/parse/lexer/mod.rs b/src/libsyntax/parse/lexer/mod.rs index 94195ccc72c..cdf38453d7e 100644 --- a/src/libsyntax/parse/lexer/mod.rs +++ b/src/libsyntax/parse/lexer/mod.rs @@ -1764,6 +1764,8 @@ mod tests { use std::collections::HashSet; use std::io; use std::path::PathBuf; + use diagnostics::plugin::ErrorMap; + use rustc_data_structures::sync::Lock; fn mk_sess(cm: Lrc<CodeMap>) -> ParseSess { let emitter = errors::emitter::EmitterWriter::new(Box::new(io::sink()), Some(cm.clone()), @@ -1776,6 +1778,7 @@ mod tests { included_mod_stack: RefCell::new(Vec::new()), code_map: cm, missing_fragment_specifiers: RefCell::new(HashSet::new()), + registered_diagnostics: Lock::new(ErrorMap::new()), non_modrs_mods: RefCell::new(vec![]), } } diff --git a/src/libsyntax/parse/mod.rs b/src/libsyntax/parse/mod.rs index 1d9af682fec..3fb0c209f70 100644 --- a/src/libsyntax/parse/mod.rs +++ b/src/libsyntax/parse/mod.rs @@ -10,7 +10,7 @@ //! The main parser interface -use rustc_data_structures::sync::Lrc; +use rustc_data_structures::sync::{Lrc, Lock}; use ast::{self, CrateConfig}; use codemap::{CodeMap, FilePathMapping}; use syntax_pos::{self, Span, FileMap, NO_EXPANSION, FileName}; @@ -21,6 +21,7 @@ use ptr::P; use str::char_at; use symbol::Symbol; use tokenstream::{TokenStream, TokenTree}; +use diagnostics::plugin::ErrorMap; use std::cell::RefCell; use std::collections::HashSet; @@ -47,6 +48,8 @@ pub struct ParseSess { pub unstable_features: UnstableFeatures, pub config: CrateConfig, pub missing_fragment_specifiers: RefCell<HashSet<Span>>, + /// The registered diagnostics codes + pub registered_diagnostics: Lock<ErrorMap>, // Spans where a `mod foo;` statement was included in a non-mod.rs file. // These are used to issue errors if the non_modrs_mods feature is not enabled. pub non_modrs_mods: RefCell<Vec<(ast::Ident, Span)>>, @@ -71,6 +74,7 @@ impl ParseSess { unstable_features: UnstableFeatures::from_environment(), config: HashSet::new(), missing_fragment_specifiers: RefCell::new(HashSet::new()), + registered_diagnostics: Lock::new(ErrorMap::new()), included_mod_stack: RefCell::new(vec![]), code_map, non_modrs_mods: RefCell::new(vec![]), |
