summaryrefslogtreecommitdiff
path: root/src/reports/unused_symbols.rs
blob: 90cb7d1308b83420e5af12ce7a379662207c5447 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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 '{:?}'", definition.tracked.symbol);
                let context = definition.tracked.context(self.resolver);
                report_source_issue(LogLevel::Warn, &context, &message);
            }
        }
    }
}