pub struct UseTree { /* private fields */ }
Implementations§
source§impl UseTree
impl UseTree
sourcepub fn remove_recursive(self)
pub fn remove_recursive(self)
Deletes the usetree node represented by the input. Recursively removes parents, including use nodes that become empty.
pub fn get_or_create_use_tree_list(&self) -> UseTreeList
sourcepub fn split_prefix(&self, prefix: &Path)
pub fn split_prefix(&self, prefix: &Path)
Splits off the given prefix, making it the path component of the use tree, appending the rest of the path to all UseTreeList items.
§Examples
prefix$0::suffix
-> prefix::{suffix}
prefix$0
-> prefix::{self}
prefix$0::*
-> prefix::{*}
sourcepub fn wrap_in_tree_list(&self) -> Option<()>
pub fn wrap_in_tree_list(&self) -> Option<()>
Wraps the use tree in use tree list with no top level path (if it isn’t already).
§Examples
foo::bar
-> {foo::bar}
{foo::bar}
-> {foo::bar}
source§impl UseTree
impl UseTree
pub fn path(&self) -> Option<Path>
pub fn rename(&self) -> Option<Rename>
pub fn use_tree_list(&self) -> Option<UseTreeList>
pub fn star_token(&self) -> Option<SyntaxToken>
pub fn coloncolon_token(&self) -> Option<SyntaxToken>
source§impl UseTree
impl UseTree
pub fn is_simple_path(&self) -> bool
pub fn parent_use_tree_list(&self) -> Option<UseTreeList>
pub fn top_use_tree(&self) -> UseTree
Trait Implementations§
source§impl AstNode for UseTree
impl AstNode for UseTree
fn can_cast(kind: SyntaxKind) -> bool
fn cast(syntax: SyntaxNode) -> Option<Self>
fn syntax(&self) -> &SyntaxNode
fn clone_for_update(&self) -> Selfwhere
Self: Sized,
fn clone_subtree(&self) -> Selfwhere
Self: Sized,
impl Eq for UseTree
impl StructuralPartialEq for UseTree
Auto Trait Implementations§
impl Freeze for UseTree
impl !RefUnwindSafe for UseTree
impl !Send for UseTree
impl !Sync for UseTree
impl Unpin for UseTree
impl !UnwindSafe for UseTree
Blanket Implementations§
source§impl<N> AstNodeEdit for N
impl<N> AstNodeEdit for N
fn indent_level(&self) -> IndentLevel
fn indent(&self, level: IndentLevel) -> Self
fn dedent(&self, level: IndentLevel) -> Self
fn reset_indent(&self) -> Self
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
source§impl<N> Indent for N
impl<N> Indent for N
fn indent_level(&self) -> IndentLevel
fn indent(&self, by: IndentLevel)
fn dedent(&self, by: IndentLevel)
fn reindent_to(&self, target_level: IndentLevel)
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more