fix output terminal parse of gate instantation

This commit is contained in:
light-ly 2024-09-25 00:01:04 +08:00
parent ad6d2735a1
commit f343a76992

View File

@ -351,10 +351,17 @@ fn get_first_last_locate(x: &sv_parser::NeedGetLocate) -> Option<(Locate, Locate
}
}
Some(RefNode::OutputTerminal(x)) => {
let id = unwrap_node!(x, Identifier).unwrap();
if let Some(id) = unwrap_node!(x, Identifier) {
let locate = get_identifier(id).unwrap();
if locate != last_locate { last_locate = locate; }
if first_locate.offset == 0 { first_locate = locate; };
} else if let Some(RefNode::Expression(x)) = unwrap_node!(x, Expression) {
let exp = sv_parser::NeedParseExpression::Expression(x.clone());
if let Some(locate) = parse_expression_only_locate(&exp) {
if locate != last_locate { last_locate = locate; }
if first_locate.offset == 0 { first_locate = locate; };
}
}
}
_ => ()
}