pub struct CodeElement {
pub tag: TagName,
pub name: CodeElementName,
pub attrs: FxHashMap<AttrName, Value>,
pub children: Vec<CodeElement>,
pub source: SourceLocation,
}Expand description
A node in the universal code element tree.
Fields§
§tag: TagNameElement kind (e.g. “function”, “struct”, “impl”).
name: CodeElementNameName of this code element (e.g. function name, struct name).
attrs: FxHashMap<AttrName, Value>Key-value attributes extracted from the source (visibility, async, etc.).
children: Vec<CodeElement>Nested child elements (e.g. methods inside an impl block).
source: SourceLocationSource file location of this element.
Trait Implementations§
Source§impl Clone for CodeElement
impl Clone for CodeElement
Source§fn clone(&self) -> CodeElement
fn clone(&self) -> CodeElement
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 Debug for CodeElement
impl Debug for CodeElement
Auto Trait Implementations§
impl Freeze for CodeElement
impl RefUnwindSafe for CodeElement
impl Send for CodeElement
impl Sync for CodeElement
impl Unpin for CodeElement
impl UnsafeUnpin for CodeElement
impl UnwindSafe for CodeElement
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<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