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);
}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)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".