diff options
author | Ben Bridle <bridle.benjamin@gmail.com> | 2024-10-29 11:40:14 +1300 |
---|---|---|
committer | Ben Bridle <bridle.benjamin@gmail.com> | 2024-10-29 11:40:47 +1300 |
commit | 4ec36c07c787ecd152b34e41dca5f2c90e66592a (patch) | |
tree | f09b8b4f06d5f9091cceb611e760a6038532c3a2 | |
parent | db2c08220e95729c1880953d00aaded693dc43c7 (diff) | |
download | bedrock-asm-4ec36c07c787ecd152b34e41dca5f2c90e66592a.zip |
Write line and column information to symbols file
Previously only the path to the source file was being written, not the
location of the symbol within the file.
-rw-r--r-- | src/translators/symbols_generator.rs | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/translators/symbols_generator.rs b/src/translators/symbols_generator.rs index 06bbaa8..6db1d46 100644 --- a/src/translators/symbols_generator.rs +++ b/src/translators/symbols_generator.rs @@ -11,16 +11,9 @@ pub fn generate_symbols_file(semantic_tokens: &[SemanticToken]) -> String { let address = token.bytecode.location.address; if address > 0xffff { break; } let name = &definition.name; - let path = match &token.source.in_source { - Some(source) => &source.path, - None => &token.source.in_merged.path, - }; - if let Some(path) = path { - let path = path.as_os_str().to_string_lossy(); - symbols.push_str(&format!("{address:04x} {name} {path}\n")); - } else { - symbols.push_str(&format!("{address:04x} {name}\n")); - } + let location = token.source.in_source.as_ref() + .unwrap_or(&token.source.in_merged); + symbols.push_str(&format!("{address:04x} {name} {location}\n")); } } |