pub struct ItemTree { /* private fields */ }
Expand description
The item tree of a source file.
Implementations§
source§impl ItemTree
impl ItemTree
sourcepub fn top_level_items(&self) -> &[ModItem]
pub fn top_level_items(&self) -> &[ModItem]
Returns an iterator over all items located at the top level of the HirFileId
this
ItemTree
was created from.
sourcepub fn top_level_attrs(&self, db: &dyn DefDatabase, krate: CrateId) -> Attrs
pub fn top_level_attrs(&self, db: &dyn DefDatabase, krate: CrateId) -> Attrs
Returns the inner attributes of the source file.
pub fn pretty_print(&self, db: &dyn DefDatabase, edition: Edition) -> String
Trait Implementations§
source§impl<N: ItemTreeNode> Index<FileItemTreeId<N>> for ItemTree
impl<N: ItemTreeNode> Index<FileItemTreeId<N>> for ItemTree
source§impl Index<Idx<ExternBlock>> for ItemTree
impl Index<Idx<ExternBlock>> for ItemTree
source§type Output = ExternBlock
type Output = ExternBlock
The returned type after indexing.
source§impl Index<Idx<ExternCrate>> for ItemTree
impl Index<Idx<ExternCrate>> for ItemTree
source§type Output = ExternCrate
type Output = ExternCrate
The returned type after indexing.
source§impl Index<Idx<MacroRules>> for ItemTree
impl Index<Idx<MacroRules>> for ItemTree
source§type Output = MacroRules
type Output = MacroRules
The returned type after indexing.
source§impl Index<Idx<TraitAlias>> for ItemTree
impl Index<Idx<TraitAlias>> for ItemTree
source§type Output = TraitAlias
type Output = TraitAlias
The returned type after indexing.
source§impl Index<RawVisibilityId> for ItemTree
impl Index<RawVisibilityId> for ItemTree
source§type Output = RawVisibility
type Output = RawVisibility
The returned type after indexing.
impl Eq for ItemTree
impl StructuralPartialEq for ItemTree
Auto Trait Implementations§
impl Freeze for ItemTree
impl RefUnwindSafe for ItemTree
impl Send for ItemTree
impl Sync for ItemTree
impl Unpin for ItemTree
impl UnwindSafe for ItemTree
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<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<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