pub struct MetadataExtractor { /* private fields */ }Expand description
Extracts metadata from AST nodes for a specific language.
Implementations§
Source§impl MetadataExtractor
impl MetadataExtractor
Sourcepub fn new(language: SupportedLanguage) -> Self
pub fn new(language: SupportedLanguage) -> Self
Create a new metadata extractor for the specified language.
Sourcepub fn extract(&self, node: &Node<'_>, source: &[u8]) -> NodeMetadata
pub fn extract(&self, node: &Node<'_>, source: &[u8]) -> NodeMetadata
Sourcepub fn extract_from_name(&self, name: &str) -> NodeMetadata
pub fn extract_from_name(&self, name: &str) -> NodeMetadata
Extract metadata from an entity name (for convention-based visibility).
Some languages like Python and Go use naming conventions for visibility. This method extracts metadata from the entity name alone.
Auto Trait Implementations§
impl Freeze for MetadataExtractor
impl RefUnwindSafe for MetadataExtractor
impl Send for MetadataExtractor
impl Sync for MetadataExtractor
impl Unpin for MetadataExtractor
impl UnwindSafe for MetadataExtractor
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> 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