swc_css_lints/rules/
block_no_empty.rs

1use swc_css_ast::*;
2use swc_css_visit::{Visit, VisitWith};
3
4use crate::rule::{visitor_rule, LintRule, LintRuleContext};
5
6pub fn block_no_empty(ctx: LintRuleContext<()>) -> Box<dyn LintRule> {
7    visitor_rule(ctx.reaction(), BlockNoEmpty { ctx })
8}
9
10const MESSAGE: &str = "Unexpected empty block.";
11
12#[derive(Debug, Default)]
13struct BlockNoEmpty {
14    ctx: LintRuleContext<()>,
15}
16
17impl Visit for BlockNoEmpty {
18    fn visit_simple_block(&mut self, simple_block: &SimpleBlock) {
19        if simple_block.value.is_empty() {
20            self.ctx.report(simple_block, MESSAGE);
21        }
22
23        simple_block.visit_children_with(self);
24    }
25}