use crate::syntax::{SyntaxGraphArgs, SyntaxGraphError, SyntaxNode};
use crate::NodeId;
pub fn build_switch_statement_node(
args: &mut SyntaxGraphArgs<'_>,
n_id: NodeId,
body_id: NodeId,
value_id: NodeId,
) -> Result<NodeId, SyntaxGraphError> {
args.syntax_graph.add_node(
n_id,
SyntaxNode::SwitchStatement {
block_id: body_id,
value_id,
},
);
let built_body = args.generic(body_id)?;
args.syntax_graph.add_ast_edge(n_id, built_body);
let built_value = args.generic(value_id)?;
args.syntax_graph.add_ast_edge(n_id, built_value);
Ok(n_id)
}