red-knot: Symbol table (#11860)

This commit is contained in:
Micha Reiser 2024-06-18 14:10:45 +01:00 committed by GitHub
parent 26ac805e6d
commit f666d79cd7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 2153 additions and 10 deletions

View file

@ -32,9 +32,7 @@ pub fn parsed_module(db: &dyn Db, file: VfsFile) -> ParsedModule {
VfsPath::Vendored(_) => PySourceType::Stub,
};
ParsedModule {
inner: Arc::new(parse_unchecked_source(&source, ty)),
}
ParsedModule::new(parse_unchecked_source(&source, ty))
}
/// Cheap cloneable wrapper around the parsed module.
@ -44,6 +42,12 @@ pub struct ParsedModule {
}
impl ParsedModule {
pub fn new(parsed: Parsed<ModModule>) -> Self {
Self {
inner: Arc::new(parsed),
}
}
/// Consumes `self` and returns the Arc storing the parsed module.
pub fn into_arc(self) -> Arc<Parsed<ModModule>> {
self.inner