Struct ra_ap_syntax::ast::Path
source · pub struct Path { /* private fields */ }Implementations§
source§impl Path
impl Path
pub fn qualifier(&self) -> Option<Path>
pub fn coloncolon_token(&self) -> Option<SyntaxToken>
pub fn segment(&self) -> Option<PathSegment>
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_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,
source§impl PartialEq<Path> for Path
impl PartialEq<Path> for Path
impl Eq for Path
impl StructuralEq for Path
impl StructuralPartialEq for Path
Auto Trait Implementations§
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 Nwhere
N: AstNode + Clone,
impl<N> AstNodeEdit for Nwhere N: AstNode + Clone,
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
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.