#![cfg_attr(not(test), no_std)]
extern crate alloc;
use alloc::vec::Vec;
pub mod ast;
pub mod content;
pub mod graph_set;
pub mod language;
pub mod path_search;
pub mod query;
pub mod syntax;
pub(crate) mod utilities;
pub use language::Language;
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
pub struct NodeId(pub u64);
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
pub struct Ast;
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
pub struct Cfg;
pub trait CodeGraph {
fn children(&self, n_id: NodeId) -> Vec<NodeId>;
fn parents(&self, n_id: NodeId) -> Vec<NodeId>;
fn ast_children(&self, n_id: NodeId) -> Vec<NodeId>;
fn ast_parents(&self, n_id: NodeId) -> Vec<NodeId>;
fn cfg_children(&self, n_id: NodeId) -> Vec<NodeId>;
fn cfg_parents(&self, n_id: NodeId) -> Vec<NodeId>;
fn label_type(&self, n_id: NodeId) -> Option<&str>;
}