diff options
author | Ben Bridle <ben@derelict.engineering> | 2025-07-04 21:39:00 +1200 |
---|---|---|
committer | Ben Bridle <ben@derelict.engineering> | 2025-07-04 21:39:03 +1200 |
commit | ad276fffb31c77135d802db6f460e1e78aeef974 (patch) | |
tree | 4e8ec8b8c4e0a9670dc37606018b6be87be90a07 /src/stages/semantic_tokens.rs | |
parent | 99ad972395af9953e433b4a7c11bcfd6c4daad3f (diff) | |
download | bedrock-asm-ad276fffb31c77135d802db6f460e1e78aeef974.zip |
Raise error if an instruction name is redefined
Diffstat (limited to 'src/stages/semantic_tokens.rs')
-rw-r--r-- | src/stages/semantic_tokens.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/stages/semantic_tokens.rs b/src/stages/semantic_tokens.rs index fc454be..c735828 100644 --- a/src/stages/semantic_tokens.rs +++ b/src/stages/semantic_tokens.rs @@ -49,6 +49,7 @@ pub enum SemanticToken { pub enum SemanticError { InvocationBeforeDefinition, + ReservedIdentifier(String), } @@ -64,6 +65,8 @@ fn report_semantic_error(error: &Tracked<SemanticError>, source_code: &str) { let message = match &error.value { SemanticError::InvocationBeforeDefinition => "Macro cannot be invoked before it has been defined", + SemanticError::ReservedIdentifier(name) => + &format!("Identifier '{name}' is reserved for a built-in instruction"), }; report_source_issue(LogLevel::Error, &context, message); } |