No longer implicitly register lints when registering passes
This is in preparation for on-demand constructing passes
This commit is contained in:
parent
e1079c82be
commit
68c07db80a
3 changed files with 8 additions and 5 deletions
|
|
@ -169,22 +169,18 @@ impl LintStore {
|
|||
}
|
||||
|
||||
pub fn register_early_pass(&mut self, pass: EarlyLintPassObject) {
|
||||
self.register_lints(&pass.get_lints());
|
||||
self.early_passes.as_mut().unwrap().push(pass);
|
||||
}
|
||||
|
||||
pub fn register_pre_expansion_pass(&mut self, pass: EarlyLintPassObject) {
|
||||
self.register_lints(&pass.get_lints());
|
||||
self.pre_expansion_passes.as_mut().unwrap().push(pass);
|
||||
}
|
||||
|
||||
pub fn register_late_pass(&mut self, pass: LateLintPassObject) {
|
||||
self.register_lints(&pass.get_lints());
|
||||
self.late_passes.lock().as_mut().unwrap().push(pass);
|
||||
}
|
||||
|
||||
pub fn register_late_mod_pass(&mut self, pass: LateLintPassObject) {
|
||||
self.register_lints(&pass.get_lints());
|
||||
self.late_module_passes.push(pass);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -299,9 +299,11 @@ pub fn register_plugins<'a>(
|
|||
|
||||
let mut ls = sess.lint_store.borrow_mut();
|
||||
for pass in early_lint_passes {
|
||||
ls.register_lints(&pass.get_lints());
|
||||
ls.register_early_pass(pass);
|
||||
}
|
||||
for pass in late_lint_passes {
|
||||
ls.register_lints(&pass.get_lints());
|
||||
ls.register_late_pass(pass);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -205,7 +205,9 @@ pub fn register_builtins(store: &mut lint::LintStore, no_interleave_lints: bool)
|
|||
|
||||
macro_rules! register_pass {
|
||||
($method:ident, $constructor:expr) => (
|
||||
store.$method(box $constructor);
|
||||
let obj = box $constructor;
|
||||
store.register_lints(&obj.get_lints());
|
||||
store.$method(obj);
|
||||
)
|
||||
}
|
||||
|
||||
|
|
@ -484,8 +486,11 @@ pub fn register_builtins(store: &mut lint::LintStore, no_interleave_lints: bool)
|
|||
}
|
||||
|
||||
pub fn register_internals(store: &mut lint::LintStore) {
|
||||
store.register_lints(&DefaultHashTypes::new().get_lints());
|
||||
store.register_early_pass(box DefaultHashTypes::new());
|
||||
store.register_lints(&LintPassImpl.get_lints());
|
||||
store.register_early_pass(box LintPassImpl);
|
||||
store.register_lints(&TyTyKind.get_lints());
|
||||
store.register_late_pass(box TyTyKind);
|
||||
store.register_group(
|
||||
false,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue