fluidattacks-blends-domain 0.17.1

Blends functional core: pure AST graph to syntax graph (no_std)
Documentation
use crate::syntax::fields::php::class_declaration;
use crate::{
    query::label_text,
    syntax::{builders::class_declaration::build_class_node, SyntaxGraphArgs, SyntaxGraphError},
    NodeId,
};
use alloc::borrow::ToOwned;
pub fn reader(
    args: &mut SyntaxGraphArgs<'_>,
    n_id: NodeId,
) -> Result<Option<NodeId>, SyntaxGraphError> {
    let graph = args.ast_graph;

    let name_n_id = args.required_field_alt(n_id, class_declaration::NAME)?;

    let name = label_text(graph, name_n_id).unwrap_or("");

    let block_id = args.required_field_alt(n_id, class_declaration::BODY)?;

    build_class_node(
        args,
        n_id,
        name.to_owned(),
        Some(block_id),
        &[],
        None,
        None,
        None,
    )
    .map(Some)
}