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);
            }
        }
    }
}