pub struct Symbol {Show 17 fields
pub name: String,
pub qualified_name: String,
pub kind: SymbolKind,
pub signature: String,
pub visibility: Visibility,
pub file_path: String,
pub line_start: usize,
pub line_end: usize,
pub doc_comment: Option<String>,
pub parent: Option<String>,
pub parameters: Vec<Parameter>,
pub return_type: Option<String>,
pub is_async: bool,
pub attributes: Vec<String>,
pub throws: Vec<String>,
pub generic_params: Option<String>,
pub is_abstract: bool,
}Expand description
A code symbol extracted from source.
Fields§
§name: StringSimple name (e.g., “add”).
qualified_name: StringFully qualified name (e.g., “module::Struct::method”).
kind: SymbolKindWhat kind of symbol this is.
signature: StringFull signature text (up to the opening brace or the whole item for short items).
visibility: VisibilityVisibility of the symbol.
file_path: StringFile path where the symbol is defined.
line_start: usize0-based starting line number.
line_end: usize0-based ending line number.
doc_comment: Option<String>Documentation comment, if any (e.g., /// or //! in Rust).
parent: Option<String>Qualified name of the parent symbol (e.g., struct name for a method).
parameters: Vec<Parameter>Extracted parameters for functions/methods.
return_type: Option<String>Return type annotation, if present.
is_async: boolWhether this is an async function/method.
attributes: Vec<String>Attributes, decorators, or annotations (e.g., #[derive(Debug)], @Override).
throws: Vec<String>Error/exception types this symbol can throw.
generic_params: Option<String>Generic type parameters (e.g., <T: Display>).
is_abstract: boolWhether this is an abstract method (trait/interface method without body).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Symbol
impl<'de> Deserialize<'de> for Symbol
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for Symbol
impl RefUnwindSafe for Symbol
impl Send for Symbol
impl Sync for Symbol
impl Unpin for Symbol
impl UnsafeUnpin for Symbol
impl UnwindSafe for Symbol
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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