fix: pass unique_aliases to assign symbol_ids for aliases
This commit is contained in:
parent
f4472c0140
commit
98acc93411
2 changed files with 12 additions and 4 deletions
|
|
@ -266,6 +266,7 @@ where
|
|||
&syntax_grammar,
|
||||
&lexical_grammar,
|
||||
&simple_aliases,
|
||||
&unique_aliases,
|
||||
&variable_info,
|
||||
&symbol_ids,
|
||||
)?;
|
||||
|
|
|
|||
|
|
@ -474,6 +474,7 @@ pub fn generate_node_types_json(
|
|||
syntax_grammar: &SyntaxGrammar,
|
||||
lexical_grammar: &LexicalGrammar,
|
||||
default_aliases: &AliasMap,
|
||||
unique_aliases: &Vec<(Alias, u16)>,
|
||||
variable_info: &[VariableInfo],
|
||||
symbol_ids: &HashMap<Symbol, (String, u16)>,
|
||||
) -> SuperTypeCycleResult<Vec<NodeInfoJSON>> {
|
||||
|
|
@ -508,6 +509,13 @@ pub fn generate_node_types_json(
|
|||
.push(*numeric_id);
|
||||
}
|
||||
|
||||
for unique_alias in unique_aliases {
|
||||
kind_to_symbol_ids.insert(
|
||||
(unique_alias.0.value.clone(), unique_alias.0.is_named),
|
||||
vec![unique_alias.1],
|
||||
);
|
||||
}
|
||||
|
||||
// Sort the symbol IDs for each kind to ensure consistent ordering
|
||||
for ids in kind_to_symbol_ids.values_mut() {
|
||||
ids.sort_unstable();
|
||||
|
|
@ -2138,18 +2146,17 @@ mod tests {
|
|||
tables: _,
|
||||
symbol_ids,
|
||||
alias_ids: _,
|
||||
unique_aliases: _,
|
||||
unique_aliases,
|
||||
} = introspect_grammar(grammar, None, OptLevel::default()).unwrap();
|
||||
|
||||
let x = generate_node_types_json(
|
||||
generate_node_types_json(
|
||||
&syntax_grammar,
|
||||
&lexical_grammar,
|
||||
&simple_aliases,
|
||||
&unique_aliases,
|
||||
&variable_info,
|
||||
&symbol_ids,
|
||||
);
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
fn build_syntax_grammar(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue