pub enum HirFileId {
FileId(EditionedFileId),
MacroFile(MacroCallId),
}Variants§
FileId(EditionedFileId)
MacroFile(MacroCallId)
Implementations§
Source§impl HirFileId
impl HirFileId
pub fn edition(self, db: &dyn ExpandDatabase) -> Edition
pub fn original_file(self, db: &dyn ExpandDatabase) -> EditionedFileId
pub fn original_file_respecting_includes( self, db: &dyn ExpandDatabase, ) -> EditionedFileId
pub fn original_call_node( self, db: &dyn ExpandDatabase, ) -> Option<InRealFile<SyntaxNode>>
pub fn call_node(self, db: &dyn ExpandDatabase) -> Option<InFile<SyntaxNode>>
pub fn as_builtin_derive_attr_node( &self, db: &dyn ExpandDatabase, ) -> Option<InFile<Attr>>
Source§impl HirFileId
impl HirFileId
pub fn macro_file(self) -> Option<MacroCallId>
pub fn is_macro(self) -> bool
pub fn file_id(self) -> Option<EditionedFileId>
Trait Implementations§
Source§impl From<EditionedFileId> for HirFileId
impl From<EditionedFileId> for HirFileId
Source§fn from(file_id: EditionedFileId) -> Self
fn from(file_id: EditionedFileId) -> Self
Converts to this type from the input type.
Source§impl From<MacroCallId> for HirFileId
impl From<MacroCallId> for HirFileId
Source§fn from(file_id: MacroCallId) -> Self
fn from(file_id: MacroCallId) -> Self
Converts to this type from the input type.
Source§impl PartialEq<EditionedFileId> for HirFileId
impl PartialEq<EditionedFileId> for HirFileId
Source§impl PartialEq<HirFileId> for EditionedFileId
impl PartialEq<HirFileId> for EditionedFileId
Source§impl SalsaStructInDb for HirFileId
impl SalsaStructInDb for HirFileId
type MemoIngredientMap = MemoIngredientIndices
Source§fn lookup_ingredient_index(__zalsa: &Zalsa) -> IngredientIndices
fn lookup_ingredient_index(__zalsa: &Zalsa) -> IngredientIndices
Lookup or create ingredient indices. Read more
Source§fn entries(zalsa: &Zalsa) -> impl Iterator<Item = DatabaseKeyIndex> + '_
fn entries(zalsa: &Zalsa) -> impl Iterator<Item = DatabaseKeyIndex> + '_
Returns the IDs of any instances of this struct in the database.
Source§fn cast(id: Id, type_id: TypeId) -> Option<Self>
fn cast(id: Id, type_id: TypeId) -> Option<Self>
Plumbing to support nested salsa supertypes. Read more
Source§unsafe fn memo_table(
zalsa: &Zalsa,
id: Id,
current_revision: Revision,
) -> MemoTableWithTypes<'_>
unsafe fn memo_table( zalsa: &Zalsa, id: Id, current_revision: Revision, ) -> MemoTableWithTypes<'_>
Return the memo table associated with
id. Read moreimpl Copy for HirFileId
impl Eq for HirFileId
impl StructuralPartialEq for HirFileId
Auto Trait Implementations§
impl Freeze for HirFileId
impl RefUnwindSafe for HirFileId
impl Send for HirFileId
impl Sync for HirFileId
impl Unpin for HirFileId
impl UnwindSafe for HirFileId
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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
§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
Compare self to
key and return true if they are equal.§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
§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