pub struct ModuleBody<'db> { /* private fields */ }Implementations§
Source§impl<'db> ModuleBody<'db>
impl<'db> ModuleBody<'db>
pub const INDEX_LBRACE: usize = 0usize
pub const INDEX_ITEMS: usize = 1usize
pub const INDEX_RBRACE: usize = 2usize
pub fn new_green( db: &'db dyn Database, lbrace: TerminalLBraceGreen<'db>, items: ModuleItemListGreen<'db>, rbrace: TerminalRBraceGreen<'db>, ) -> ModuleBodyGreen<'db>
Source§impl<'db> ModuleBody<'db>
impl<'db> ModuleBody<'db>
pub fn lbrace(&self, db: &'db dyn Database) -> TerminalLBrace<'db>
pub fn items(&self, db: &'db dyn Database) -> ModuleItemList<'db>
pub fn rbrace(&self, db: &'db dyn Database) -> TerminalRBrace<'db>
Trait Implementations§
Source§impl<'a> BodyItems<'a> for ModuleBody<'a>
impl<'a> BodyItems<'a> for ModuleBody<'a>
Source§type Item = ModuleItem<'a>
type Item = ModuleItem<'a>
The type of an Item.
Source§fn iter_items(
&self,
db: &'a dyn Database,
) -> impl Iterator<Item = Self::Item> + 'a
fn iter_items( &self, db: &'a dyn Database, ) -> impl Iterator<Item = Self::Item> + 'a
Returns the items of the body-item as an iterator.
Use with caution, as this includes items that may be filtered out by plugins.
Do note that plugins that directly run on this body-item without going/checking up on the
syntax tree may assume that e.g. out-of-config items were already filtered out.
Don’t use on an item that is not the original plugin’s context, unless you are sure that
while traversing the AST to get to it from the original plugin’s context, you did not go
through another submodule.
Source§impl<'db> Clone for ModuleBody<'db>
impl<'db> Clone for ModuleBody<'db>
Source§fn clone(&self) -> ModuleBody<'db>
fn clone(&self) -> ModuleBody<'db>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'db> Debug for ModuleBody<'db>
impl<'db> Debug for ModuleBody<'db>
Source§impl<'db> Hash for ModuleBody<'db>
impl<'db> Hash for ModuleBody<'db>
Source§impl<'db> PartialEq for ModuleBody<'db>
impl<'db> PartialEq for ModuleBody<'db>
Source§impl<'db> TypedSyntaxNode<'db> for ModuleBody<'db>
impl<'db> TypedSyntaxNode<'db> for ModuleBody<'db>
Source§const OPTIONAL_KIND: Option<SyntaxKind>
const OPTIONAL_KIND: Option<SyntaxKind>
The relevant SyntaxKind. None for enums.
type StablePtr = ModuleBodyPtr<'db>
type Green = ModuleBodyGreen<'db>
fn missing(db: &'db dyn Database) -> Self::Green
fn from_syntax_node(db: &'db dyn Database, node: SyntaxNode<'db>) -> Self
fn cast(db: &'db dyn Database, node: SyntaxNode<'db>) -> Option<Self>
fn as_syntax_node(&self) -> SyntaxNode<'db>
fn stable_ptr(&self, db: &'db dyn Database) -> Self::StablePtr
Source§impl<'db> Update for ModuleBody<'db>
impl<'db> Update for ModuleBody<'db>
impl<'db> Eq for ModuleBody<'db>
impl<'db> StructuralPartialEq for ModuleBody<'db>
Auto Trait Implementations§
impl<'db> Freeze for ModuleBody<'db>
impl<'db> RefUnwindSafe for ModuleBody<'db>
impl<'db> Send for ModuleBody<'db>
impl<'db> Sync for ModuleBody<'db>
impl<'db> Unpin for ModuleBody<'db>
impl<'db> UnwindSafe for ModuleBody<'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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'db, T> DebugDbUpcast<'db, T> for Twhere
T: ?Sized,
impl<'db, T> DebugDbUpcast<'db, T> for Twhere
T: ?Sized,
fn debug_db_upcast(&'db self) -> &'db T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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