diff options
author | Ben Bridle <ben@derelict.engineering> | 2025-03-18 11:50:19 +1300 |
---|---|---|
committer | Ben Bridle <ben@derelict.engineering> | 2025-03-18 11:50:29 +1300 |
commit | f8a694267d3981b0437c05fc248406116ea9ec06 (patch) | |
tree | e7c0426f4278481490e269be7ccb0a710c22ebae /src/reports | |
parent | 87cdf5e88fd1d0aaddb91e216c47344effd63ed3 (diff) | |
download | assembler-f8a694267d3981b0437c05fc248406116ea9ec06.zip |
Large restructure
Files were moved to be better organised, error messages were changed to
be more general, and a Compiler type was added to the library.
Diffstat (limited to 'src/reports')
-rw-r--r-- | src/reports/resolver_error.rs | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/reports/resolver_error.rs b/src/reports/resolver_error.rs index 1aa3e37..0fce3c4 100644 --- a/src/reports/resolver_error.rs +++ b/src/reports/resolver_error.rs @@ -8,20 +8,18 @@ pub struct ResolverError<'a> { impl<'a> ResolverError<'a> { pub fn report(&self) { for reference in &self.resolver.unresolved { - let message = format!( - "Undefined symbol, no label or macro has been defined with the name {:?}", - &reference.symbol.name, - ); + let message = format!("Undefined symbol '{}'", reference.symbol.name); let context = reference.context(&self.resolver); report_source_issue(LogLevel::Error, &context, &message); } for redefinition in &self.resolver.redefinitions { let definition = &self.resolver.definitions[redefinition.definition]; - let message = format!( - "Redefined symbol, first defined at {}", - &definition.tracked.symbol.source.in_merged, - ); + let message = format!("Redefined symbol '{}'", definition.tracked.symbol.name); let context = redefinition.tracked.context(&self.resolver); + let context = Context { + source_code: context.source_code, + source: &context.source.wrap(&definition.tracked.symbol.source) + }; report_source_issue(LogLevel::Error, &context, &message); } } |