Struct hir::LocalSource
source · pub struct LocalSource {
pub local: Local,
pub source: InFile<Either<IdentPat, SelfParam>>,
}
Fields§
§local: Local
§source: InFile<Either<IdentPat, SelfParam>>
Implementations§
source§impl LocalSource
impl LocalSource
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::Semantics::source
] is preferred when working with crate::Semantics
,
as that caches the parsed file in the semantics’ cache. Read moreAuto Trait Implementations§
impl Freeze for LocalSource
impl !RefUnwindSafe for LocalSource
impl !Send for LocalSource
impl !Sync for LocalSource
impl Unpin for LocalSource
impl !UnwindSafe for LocalSource
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> Cast for T
impl<T> Cast 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