pub struct Path { /* private fields */ }
Implementations§
source§impl Path
impl Path
pub fn qualifier(&self) -> Option<Path>
pub fn segment(&self) -> Option<PathSegment>
pub fn coloncolon_token(&self) -> Option<SyntaxToken>
source§impl Path
impl Path
pub fn parent_path(&self) -> Option<Path>
pub fn as_single_segment(&self) -> Option<PathSegment>
pub fn as_single_name_ref(&self) -> Option<NameRef>
pub fn first_qualifier_or_self(&self) -> Path
pub fn first_qualifier(&self) -> Option<Path>
pub fn first_segment(&self) -> Option<PathSegment>
pub fn segments(&self) -> impl Iterator<Item = PathSegment> + Clone
pub fn qualifiers(&self) -> impl Iterator<Item = Path> + Clone
pub fn top_path(&self) -> Path
Trait Implementations§
source§impl AstNode for Path
impl AstNode for Path
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 Path
impl StructuralPartialEq for Path
Auto Trait Implementations§
impl Freeze for Path
impl !RefUnwindSafe for Path
impl !Send for Path
impl !Sync for Path
impl Unpin for Path
impl !UnwindSafe for Path
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