1
Fork 0

Split module and crate late pass registration

This commit is contained in:
Mark Rousskov 2019-10-07 16:59:12 -04:00
parent 748eccd488
commit b060f3b84d
3 changed files with 16 additions and 23 deletions

View file

@ -188,17 +188,17 @@ impl LintStore {
}
}
pub fn register_late_pass(&mut self,
register_only: bool,
per_module: bool,
pass: LateLintPassObject) {
pub fn register_late_pass(&mut self, register_only: bool, pass: LateLintPassObject) {
self.push_lints(&pass.get_lints());
if !register_only {
if per_module {
self.late_module_passes.push(pass);
} else {
self.late_passes.lock().as_mut().unwrap().push(pass);
}
self.late_passes.lock().as_mut().unwrap().push(pass);
}
}
pub fn register_late_mod_pass(&mut self, register_only: bool, pass: LateLintPassObject) {
self.push_lints(&pass.get_lints());
if !register_only {
self.late_module_passes.push(pass);
}
}

View file

@ -302,7 +302,7 @@ pub fn register_plugins<'a>(
ls.register_early_pass(false, pass);
}
for pass in late_lint_passes {
ls.register_late_pass(false, false, pass);
ls.register_late_pass(false, pass);
}
for (name, (to, deprecated_name)) in lint_groups {

View file

@ -220,20 +220,13 @@ pub fn register_builtins(store: &mut lint::LintStore, no_interleave_lints: bool)
if no_interleave_lints {
pre_expansion_lint_passes!(register_passes, [register_pre_expansion_pass, []]);
early_lint_passes!(register_passes, [register_early_pass, []]);
late_lint_passes!(register_passes, [register_late_pass, [false]]);
late_lint_mod_passes!(register_passes, [register_late_pass, [true]]);
late_lint_passes!(register_passes, [register_late_pass, []]);
late_lint_mod_passes!(register_passes, [register_late_mod_pass, []]);
} else {
store.register_pre_expansion_pass(
true,
box BuiltinCombinedPreExpansionLintPass::new()
);
store.register_pre_expansion_pass(true, box BuiltinCombinedPreExpansionLintPass::new());
store.register_early_pass(true, box BuiltinCombinedEarlyLintPass::new());
store.register_late_pass(
true, true, box BuiltinCombinedModuleLateLintPass::new()
);
store.register_late_pass(
true, false, box BuiltinCombinedLateLintPass::new()
);
store.register_late_mod_pass(true, box BuiltinCombinedModuleLateLintPass::new());
store.register_late_pass(true, box BuiltinCombinedLateLintPass::new());
}
add_lint_group!("nonstandard_style",
@ -493,7 +486,7 @@ pub fn register_builtins(store: &mut lint::LintStore, no_interleave_lints: bool)
pub fn register_internals(store: &mut lint::LintStore) {
store.register_early_pass(false, box DefaultHashTypes::new());
store.register_early_pass(false, box LintPassImpl);
store.register_late_pass(false, false, box TyTyKind);
store.register_late_pass(false, box TyTyKind);
store.register_group(
false,
"rustc::internal",