daipendency_extractor

Trait Extractor

Source
pub trait Extractor {
    // Required methods
    fn get_parser_language(&self) -> Language;
    fn get_library_metadata(
        &self,
        path: &Path,
    ) -> Result<LibraryMetadata, LibraryMetadataError>;
    fn extract_public_api(
        &self,
        metadata: &LibraryMetadata,
        parser: &mut Parser,
    ) -> Result<Vec<Namespace>, ExtractionError>;
    fn resolve_dependency_path(
        &self,
        dependency_name: &str,
        dependant_path: &Path,
    ) -> Result<PathBuf, DependencyResolutionError>;
}

Required Methods§

Source

fn get_parser_language(&self) -> Language

Provide the TreeSitter language

Source

fn get_library_metadata( &self, path: &Path, ) -> Result<LibraryMetadata, LibraryMetadataError>

Provide the library metadata

Source

fn extract_public_api( &self, metadata: &LibraryMetadata, parser: &mut Parser, ) -> Result<Vec<Namespace>, ExtractionError>

Extract the public API

Source

fn resolve_dependency_path( &self, dependency_name: &str, dependant_path: &Path, ) -> Result<PathBuf, DependencyResolutionError>

Resolve the path to a dependency

Implementors§