pub trait SourceParser:
Clone
+ Debug
+ Send
+ Sync {
type ParsedSource: ParsedSource;
// Required method
fn new(config: &ProjectPathsConfig) -> Self;
// Provided methods
fn read(&mut self, path: &Path) -> Result<Node<Self::ParsedSource>> { ... }
fn parse_sources(
&mut self,
sources: &mut Sources,
) -> Result<Vec<(PathBuf, Node<Self::ParsedSource>)>> { ... }
}
Expand description
ParsedSource
parser.
Required Associated Types§
Required Methods§
Sourcefn new(config: &ProjectPathsConfig) -> Self
fn new(config: &ProjectPathsConfig) -> Self
Creates a new parser for the given config.
Provided Methods§
Sourcefn read(&mut self, path: &Path) -> Result<Node<Self::ParsedSource>>
fn read(&mut self, path: &Path) -> Result<Node<Self::ParsedSource>>
Reads and parses the source file at the given path.
Sourcefn parse_sources(
&mut self,
sources: &mut Sources,
) -> Result<Vec<(PathBuf, Node<Self::ParsedSource>)>>
fn parse_sources( &mut self, sources: &mut Sources, ) -> Result<Vec<(PathBuf, Node<Self::ParsedSource>)>>
Parses the sources in the given sources map.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.