pub struct CocoIndexAnalyzer {}Expand description
Bridge: Implements thread-services traits using CocoIndex internals.
This struct decouples the service abstraction from the CocoIndex implementation.
Implementations§
Trait Implementations§
Source§impl<D: Doc + Send + Sync> CodeAnalyzer<D> for CocoIndexAnalyzer
impl<D: Doc + Send + Sync> CodeAnalyzer<D> for CocoIndexAnalyzer
Source§fn capabilities(&self) -> AnalyzerCapabilities
fn capabilities(&self) -> AnalyzerCapabilities
Get analyzer capabilities and configuration.
Source§fn find_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_document: &'life1 ParsedDocument<D>,
_pattern: &'life2 str,
_context: &'life3 AnalysisContext,
) -> Pin<Box<dyn Future<Output = ServiceResult<Vec<CodeMatch<'_, D>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn find_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_document: &'life1 ParsedDocument<D>,
_pattern: &'life2 str,
_context: &'life3 AnalysisContext,
) -> Pin<Box<dyn Future<Output = ServiceResult<Vec<CodeMatch<'_, D>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Find matches for a pattern in a document. Read more
Source§fn find_all_patterns<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
_document: &'life1 ParsedDocument<D>,
_patterns: &'life2 [&'life3 str],
_context: &'life4 AnalysisContext,
) -> Pin<Box<dyn Future<Output = ServiceResult<Vec<CodeMatch<'_, D>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn find_all_patterns<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
_document: &'life1 ParsedDocument<D>,
_patterns: &'life2 [&'life3 str],
_context: &'life4 AnalysisContext,
) -> Pin<Box<dyn Future<Output = ServiceResult<Vec<CodeMatch<'_, D>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Find matches for multiple patterns efficiently. Read more
Source§fn replace_pattern<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
_document: &'life1 mut ParsedDocument<D>,
_pattern: &'life2 str,
_replacement: &'life3 str,
_context: &'life4 AnalysisContext,
) -> Pin<Box<dyn Future<Output = ServiceResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn replace_pattern<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
_document: &'life1 mut ParsedDocument<D>,
_pattern: &'life2 str,
_replacement: &'life3 str,
_context: &'life4 AnalysisContext,
) -> Pin<Box<dyn Future<Output = ServiceResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Replace matches for a pattern with replacement content. Read more
Source§fn analyze_cross_file_relationships<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_documents: &'life1 [ParsedDocument<D>],
_context: &'life2 AnalysisContext,
) -> Pin<Box<dyn Future<Output = ServiceResult<Vec<CrossFileRelationship>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn analyze_cross_file_relationships<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_documents: &'life1 [ParsedDocument<D>],
_context: &'life2 AnalysisContext,
) -> Pin<Box<dyn Future<Output = ServiceResult<Vec<CrossFileRelationship>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Analyze relationships across multiple files. Read more
Source§fn find_nodes_by_kind<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
document: &'life1 ParsedDocument<D>,
node_kind: &'life2 str,
context: &'life3 AnalysisContext,
) -> Pin<Box<dyn Future<Output = Result<Vec<CodeMatch<'life0, D>>, Box<dyn Error + Sync + Send>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn find_nodes_by_kind<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
document: &'life1 ParsedDocument<D>,
node_kind: &'life2 str,
context: &'life3 AnalysisContext,
) -> Pin<Box<dyn Future<Output = Result<Vec<CodeMatch<'life0, D>>, Box<dyn Error + Sync + Send>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Find specific AST node types efficiently. Read more
Source§fn validate_pattern(
&self,
pattern: &str,
) -> Result<(), Box<dyn Error + Sync + Send>>
fn validate_pattern( &self, pattern: &str, ) -> Result<(), Box<dyn Error + Sync + Send>>
Validate pattern syntax before analysis. Read more
Source§fn compile_pattern<'life0, 'life1, 'async_trait>(
&'life0 self,
pattern: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CompiledPattern, Box<dyn Error + Sync + Send>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn compile_pattern<'life0, 'life1, 'async_trait>(
&'life0 self,
pattern: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<CompiledPattern, Box<dyn Error + Sync + Send>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Compile pattern for efficient reuse. Read more
Source§fn batch_analyze<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
documents: &'life1 [ParsedDocument<D>],
patterns: &'life2 [&'life3 str],
context: &'life4 AnalysisContext,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<CodeMatch<'life0, D>>>, Box<dyn Error + Sync + Send>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Self: 'async_trait,
fn batch_analyze<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
documents: &'life1 [ParsedDocument<D>],
patterns: &'life2 [&'life3 str],
context: &'life4 AnalysisContext,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<CodeMatch<'life0, D>>>, Box<dyn Error + Sync + Send>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Self: 'async_trait,
Perform batch analysis operations efficiently. Read more
Source§fn extract_symbols<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_document: &'life1 mut ParsedDocument<D>,
_context: &'life2 AnalysisContext,
) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error + Sync + Send>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn extract_symbols<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_document: &'life1 mut ParsedDocument<D>,
_context: &'life2 AnalysisContext,
) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error + Sync + Send>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Extract symbols and metadata from documents. Read more
Auto Trait Implementations§
impl Freeze for CocoIndexAnalyzer
impl RefUnwindSafe for CocoIndexAnalyzer
impl Send for CocoIndexAnalyzer
impl Sync for CocoIndexAnalyzer
impl Unpin for CocoIndexAnalyzer
impl UnsafeUnpin for CocoIndexAnalyzer
impl UnwindSafe for CocoIndexAnalyzer
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