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§
Sourcefn get_parser_language(&self) -> Language
fn get_parser_language(&self) -> Language
Provide the TreeSitter language
Sourcefn get_library_metadata(
&self,
path: &Path,
) -> Result<LibraryMetadata, LibraryMetadataError>
fn get_library_metadata( &self, path: &Path, ) -> Result<LibraryMetadata, LibraryMetadataError>
Provide the library metadata
Sourcefn extract_public_api(
&self,
metadata: &LibraryMetadata,
parser: &mut Parser,
) -> Result<Vec<Namespace>, ExtractionError>
fn extract_public_api( &self, metadata: &LibraryMetadata, parser: &mut Parser, ) -> Result<Vec<Namespace>, ExtractionError>
Extract the public API
Sourcefn resolve_dependency_path(
&self,
dependency_name: &str,
dependant_path: &Path,
) -> Result<PathBuf, DependencyResolutionError>
fn resolve_dependency_path( &self, dependency_name: &str, dependant_path: &Path, ) -> Result<PathBuf, DependencyResolutionError>
Resolve the path to a dependency