summaryrefslogtreecommitdiff
path: root/src/reports/unused_symbols.rs
blob: 7cd35965bf236e5bbcfff6e544a0cd00c5b17e64 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use crate::*;


pub struct UnusedSymbols<'a> {
    pub resolver: &'a Resolver,
}

impl<'a> UnusedSymbols<'a> {
    pub fn report(&self) {
        for definition in &self.resolver.definitions {
            if definition.references.is_empty() {
                let message = format!(
                    "Unused definition '{BOLD}{:?}{NORMAL}'",
                    definition.tracked.symbol);
                let context = definition.tracked.context(self.resolver);
                report_source_issue(LogLevel::Warn, &context, &message);
            }
        }
    }
}