pub struct LocalSource<'db> {
pub local: Local<'db>,
pub source: InFile<Either<IdentPat, SelfParam>>,
}Fields§
§local: Local<'db>§source: InFile<Either<IdentPat, SelfParam>>Implementations§
Source§impl<'db> LocalSource<'db>
impl<'db> LocalSource<'db>
pub fn as_ident_pat(&self) -> Option<&IdentPat>
pub fn into_ident_pat(self) -> Option<IdentPat>
pub fn original_file(&self, db: &dyn HirDatabase) -> EditionedFileId
pub fn file(&self) -> HirFileId
pub fn name(&self) -> Option<InFile<Name>>
pub fn syntax(&self) -> &SyntaxNode
pub fn syntax_ptr(self) -> InFile<SyntaxNodePtr>
Trait Implementations§
Source§impl HasSource for LocalSource<'_>
impl HasSource for LocalSource<'_>
type Ast = Either<IdentPat, SelfParam>
Source§fn source(self, _: &dyn HirDatabase) -> Option<InFile<Self::Ast>>
fn source(self, _: &dyn HirDatabase) -> Option<InFile<Self::Ast>>
Fetches the definition’s source node.
Using
crate::SemanticsImpl::source is preferred when working with crate::Semantics,
as that caches the parsed file in the semantics’ cache. Read moreSource§fn source_with_range(
self,
db: &dyn HirDatabase,
) -> Option<InFile<(TextRange, Option<Self::Ast>)>>
fn source_with_range( self, db: &dyn HirDatabase, ) -> Option<InFile<(TextRange, Option<Self::Ast>)>>
Fetches the source node, along with its full range. Read more
Auto Trait Implementations§
impl<'db> Freeze for LocalSource<'db>
impl<'db> !RefUnwindSafe for LocalSource<'db>
impl<'db> !Send for LocalSource<'db>
impl<'db> !Sync for LocalSource<'db>
impl<'db> Unpin for LocalSource<'db>
impl<'db> UnsafeUnpin for LocalSource<'db>
impl<'db> !UnwindSafe for LocalSource<'db>
Blanket Implementations§
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<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§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