summaryrefslogtreecommitdiff
path: root/src/reports/unused_symbols.rs
diff options
context:
space:
mode:
authorBen Bridle <bridle.benjamin@gmail.com>2025-02-13 20:23:25 +1300
committerBen Bridle <bridle.benjamin@gmail.com>2025-02-13 20:23:25 +1300
commite717e32badebcd34f590e1e58d6417ebf8c8d973 (patch)
treed760edb12b84ee15036200fc5c7092f692815b2b /src/reports/unused_symbols.rs
parentd0fcd03c363475aa5020743ce16f04fab70ac59d (diff)
downloadassembler-e717e32badebcd34f590e1e58d6417ebf8c8d973.zip
Create struct for reporting unused definitions
Diffstat (limited to 'src/reports/unused_symbols.rs')
-rw-r--r--src/reports/unused_symbols.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/reports/unused_symbols.rs b/src/reports/unused_symbols.rs
new file mode 100644
index 0000000..7cd3596
--- /dev/null
+++ b/src/reports/unused_symbols.rs
@@ -0,0 +1,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);
+ }
+ }
+ }
+}