blob: 6db1d4691693c2b058a7c0a7daf5f01497d641c3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
use crate::*;
use SemanticTokenVariant as SemVar;
pub fn generate_symbols_file(semantic_tokens: &[SemanticToken]) -> String {
let mut symbols = String::new();
for token in semantic_tokens {
if let SemVar::LabelDefinition(definition) = &token.variant {
let address = token.bytecode.location.address;
if address > 0xffff { break; }
let name = &definition.name;
let location = token.source.in_source.as_ref()
.unwrap_or(&token.source.in_merged);
symbols.push_str(&format!("{address:04x} {name} {location}\n"));
}
}
return symbols;
}
|