pub trait LanguageParser: Send + Sync {
// Required methods
fn parse(
&mut self,
source: &str,
filename: &str,
) -> Result<Rc<TreeNode>, Box<dyn Error + Send + Sync>>;
fn extract_functions(
&mut self,
source: &str,
filename: &str,
) -> Result<Vec<GenericFunctionDef>, Box<dyn Error + Send + Sync>>;
fn extract_types(
&mut self,
source: &str,
filename: &str,
) -> Result<Vec<GenericTypeDef>, Box<dyn Error + Send + Sync>>;
fn language(&self) -> Language;
}Expand description
Trait for language-specific parsers
Required Methods§
Sourcefn parse(
&mut self,
source: &str,
filename: &str,
) -> Result<Rc<TreeNode>, Box<dyn Error + Send + Sync>>
fn parse( &mut self, source: &str, filename: &str, ) -> Result<Rc<TreeNode>, Box<dyn Error + Send + Sync>>
Parse source code into a TreeNode structure
Sourcefn extract_functions(
&mut self,
source: &str,
filename: &str,
) -> Result<Vec<GenericFunctionDef>, Box<dyn Error + Send + Sync>>
fn extract_functions( &mut self, source: &str, filename: &str, ) -> Result<Vec<GenericFunctionDef>, Box<dyn Error + Send + Sync>>
Extract function definitions from source code