Skip to content

Commit cebf89c

Browse files
committed
[REF] move add_path to NamespaceSymbol
Among all symbol variants, adding a path is only relevant for `NamespaceSymbol`. Therefore this commits moved the `add_path` method from the generic `Symbol` enum to the specific `NamespaceSymbol` struct.
1 parent 2a68db2 commit cebf89c

File tree

3 files changed

+7
-20
lines changed

3 files changed

+7
-20
lines changed

server/src/core/odoo.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ impl SyncOdoo {
443443
let addon_symbol = addon_symbol[0].clone();
444444
if odoo_addon_path.exists() {
445445
if session.sync_odoo.load_odoo_addons {
446-
addon_symbol.borrow_mut().add_path(
446+
addon_symbol.borrow_mut().as_namespace_mut().add_path(
447447
odoo_addon_path.sanitize()
448448
);
449449
EntryPointMgr::add_entry_to_addons(session, odoo_addon_path.sanitize(),
@@ -457,7 +457,7 @@ impl SyncOdoo {
457457
for addon in session.sync_odoo.config.addons_paths.clone().iter() {
458458
let addon_path = PathBuf::from(addon);
459459
if addon_path.exists() {
460-
addon_symbol.borrow_mut().add_path(
460+
addon_symbol.borrow_mut().as_namespace_mut().add_path(
461461
addon_path.sanitize()
462462
);
463463
EntryPointMgr::add_entry_to_addons(session, addon.clone(),

server/src/core/symbols/namespace_symbol.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@ impl NamespaceSymbol {
7171
self.directories.iter().map(|x| {x.path.clone()}).collect()
7272
}
7373

74+
pub fn add_path(&mut self, path: String) {
75+
self.directories.push(NamespaceDirectory { path, module_symbols: HashMap::new() });
76+
}
77+
7478
pub fn get_dependencies(&self, step: usize, level: usize) -> Option<&PtrWeakHashSet<Weak<RefCell<Symbol>>>>
7579
{
7680
self.dependencies.get(step)?.get(level)?.as_ref()

server/src/core/symbols/symbol.rs

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ use super::compiled_symbol::CompiledSymbol;
3333
use super::csv_file_symbol::CsvFileSymbol;
3434
use super::disk_dir_symbol::DiskDirSymbol;
3535
use super::file_symbol::FileSymbol;
36-
use super::namespace_symbol::{NamespaceDirectory, NamespaceSymbol};
36+
use super::namespace_symbol::NamespaceSymbol;
3737
use super::package_symbol::{PackageSymbol, PythonPackageSymbol};
3838
use super::symbol_mgr::{ContentSymbols, SymbolMgr};
3939
use super::variable_symbol::VariableSymbol;
@@ -857,23 +857,6 @@ impl Symbol {
857857
Symbol::CsvFileSymbol(c) => vec![c.path.clone()],
858858
}
859859
}
860-
pub fn add_path(&mut self, path: String) {
861-
match self {
862-
Symbol::Root(_) => {},
863-
Symbol::Namespace(n) => {
864-
n.directories.push(NamespaceDirectory { path: path, module_symbols: HashMap::new() });
865-
},
866-
Symbol::DiskDir(_) => {},
867-
Symbol::Package(_) => {},
868-
Symbol::File(_) => {},
869-
Symbol::Compiled(_) => {},
870-
Symbol::Class(_) => {},
871-
Symbol::Function(_) => {},
872-
Symbol::Variable(_) => {},
873-
Symbol::XmlFileSymbol(_) => {},
874-
Symbol::CsvFileSymbol(_) => {},
875-
}
876-
}
877860

878861
pub fn get_symbol_first_path(&self) -> String{
879862
match self{

0 commit comments

Comments
 (0)