use crate::alloc::borrow::ToOwned;
use crate::{
syntax::{
_node_builders::languages::rust::boolean_literal::build_boolean_literal,
core_nodes::BoolLiteral, readers::rust::generic_reader::generic_reader, SyntaxGraph,
SyntaxGraphArgs, SyntaxGraphError, SyntaxNode,
},
NodeId,
};
use alloc::string::String;
fn encode_bool(value: bool) -> String {
if value {
"true".to_owned()
} else {
"false".to_owned()
}
}
fn bool_reader(graph: &mut SyntaxGraph, n_id: NodeId, bool_node: &BoolLiteral) {
graph.add_node(
n_id,
SyntaxNode::Literal {
value: encode_bool(bool_node.value),
value_type: "bool".to_owned(),
},
);
}
pub fn reader(
args: &mut SyntaxGraphArgs<'_>,
n_id: NodeId,
) -> Result<Option<NodeId>, SyntaxGraphError> {
generic_reader(args, n_id, build_boolean_literal, |a, n| {
bool_reader(a.syntax_graph, n_id, n);
Ok(Some(n_id))
})
}