summaryrefslogtreecommitdiff
path: root/src/stages/semantic_tokens.rs
diff options
context:
space:
mode:
authorBen Bridle <ben@derelict.engineering>2025-07-04 21:17:30 +1200
committerBen Bridle <ben@derelict.engineering>2025-07-04 21:17:30 +1200
commit99ad972395af9953e433b4a7c11bcfd6c4daad3f (patch)
tree78e6b2c8f3dcc4acc0a3d7bc3e22fbfbc2d973ad /src/stages/semantic_tokens.rs
parentf454238e433792fda0f66f807f7ec12d3e560fa2 (diff)
downloadbedrock-asm-99ad972395af9953e433b4a7c11bcfd6c4daad3f.zip
Fix sort order of generated symbols file
The symbols file was not being generated in ascending address order. This was because the assembler was using unordered HashMaps, which have now been replaced with ordered IndexMaps.
Diffstat (limited to 'src/stages/semantic_tokens.rs')
-rw-r--r--src/stages/semantic_tokens.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/stages/semantic_tokens.rs b/src/stages/semantic_tokens.rs
index fe49c26..fc454be 100644
--- a/src/stages/semantic_tokens.rs
+++ b/src/stages/semantic_tokens.rs
@@ -1,10 +1,10 @@
use crate::*;
-use std::collections::HashMap;
+use indexmap::IndexMap;
pub struct Program {
- pub definitions: HashMap<String, Tracked<Definition>>,
+ pub definitions: IndexMap<String, Tracked<Definition>>,
pub tokens: Vec<Tracked<SemanticToken>>,
}
@@ -69,7 +69,7 @@ fn report_semantic_error(error: &Tracked<SemanticError>, source_code: &str) {
}
-pub fn print_semantic_token(i: usize, token: &SemanticToken, definitions: &HashMap<String, Tracked<Definition>>) {
+pub fn print_semantic_token(i: usize, token: &SemanticToken, definitions: &IndexMap<String, Tracked<Definition>>) {
match token {
SemanticToken::Literal(value) => indent!(i, "Literal({value})"),
SemanticToken::Pad(value) => indent!(i, "Pad({value})"),