pub trait LiveNodeSliceApi {
Show 24 methods
// Required methods
fn parent(&self, child_index: usize) -> Option<usize>;
fn append_child_index(&self, parent_index: usize) -> usize;
fn first_child(&self, parent_index: usize) -> Option<usize>;
fn last_child(&self, parent_index: usize) -> Option<usize>;
fn next_child(&self, child_index: usize) -> Option<usize>;
fn node_slice(&self, parent_index: usize) -> &[LiveNode];
fn children_slice(&self, parent_index: usize) -> &[LiveNode];
fn child_by_number(
&self,
parent_index: usize,
child_number: usize
) -> Option<usize>;
fn child_or_append_index_by_name(
&self,
parent_index: usize,
name: LiveProp
) -> Result<usize, usize>;
fn child_by_name(
&self,
parent_index: usize,
name: LiveProp
) -> Option<usize>;
fn sibling_by_name(
&self,
start_index: usize,
name: LiveProp
) -> Option<usize>;
fn child_by_path(
&self,
parent_index: usize,
path: &[LiveProp]
) -> Option<usize>;
fn child_by_field_path(
&self,
parent_index: usize,
path: &[LiveId]
) -> Option<usize>;
fn child_value_by_path(
&self,
parent_index: usize,
path: &[LiveProp]
) -> Option<&LiveValue>;
fn read_field_value(&self, path: &[LiveId]) -> Option<&LiveValue>;
fn first_node_with_token_id(
&self,
match_token_id: LiveTokenId,
also_in_dsl: bool
) -> Option<usize>;
fn get_num_sibling_nodes(&self, child_index: usize) -> usize;
fn scope_up_by_name(
&self,
parent_index: usize,
name: LiveProp
) -> Option<usize>;
fn scope_up_down_by_name(
&self,
parent_index: usize,
name: LiveProp,
levels_up: usize
) -> Option<usize>;
fn count_children(&self, parent_index: usize) -> usize;
fn skip_node(&self, node_index: usize) -> usize;
fn clone_child(&self, parent_index: usize, out_vec: &mut Vec<LiveNode>);
fn to_string(&self, parent_index: usize, max_depth: usize) -> String;
fn debug_print(&self, parent_index: usize, max_depth: usize);
}