Skip to content

Commit d684121

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 deff81d commit d684121

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
@@ -439,7 +439,7 @@ impl SyncOdoo {
439439
let addon_symbol = addon_symbol[0].clone();
440440
if odoo_addon_path.exists() {
441441
if session.sync_odoo.load_odoo_addons {
442-
addon_symbol.borrow_mut().add_path(
442+
addon_symbol.borrow_mut().as_namespace_mut().add_path(
443443
odoo_addon_path.sanitize()
444444
);
445445
EntryPointMgr::add_entry_to_addons(session, odoo_addon_path.sanitize(),
@@ -453,7 +453,7 @@ impl SyncOdoo {
453453
for addon in session.sync_odoo.config.addons_paths.clone().iter() {
454454
let addon_path = PathBuf::from(addon);
455455
if addon_path.exists() {
456-
addon_symbol.borrow_mut().add_path(
456+
addon_symbol.borrow_mut().as_namespace_mut().add_path(
457457
addon_path.sanitize()
458458
);
459459
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)