diff --git a/server/src/core/odoo.rs b/server/src/core/odoo.rs index 4fd929fd..7ad98fd9 100644 --- a/server/src/core/odoo.rs +++ b/server/src/core/odoo.rs @@ -1155,12 +1155,12 @@ impl Odoo { if params.text_document_position_params.text_document.uri.to_string().ends_with(".py") || params.text_document_position_params.text_document.uri.to_string().ends_with(".pyi") { if let Some(file_symbol) = SyncOdoo::get_symbol_of_opened_file(session, &PathBuf::from(path.clone())) { - let file_info = session.sync_odoo.get_file_mgr().borrow_mut().get_file_info(&path); + let file_info = session.sync_odoo.get_file_mgr().borrow().get_file_info(&path); if let Some(file_info) = file_info { if file_info.borrow().file_info_ast.borrow().ast.is_none() { file_info.borrow_mut().prepare_ast(session); } - if file_info.borrow_mut().file_info_ast.borrow().ast.is_some() { + if file_info.borrow().file_info_ast.borrow().ast.is_some() { return Ok(DefinitionFeature::get_location(session, &file_symbol, &file_info, params.text_document_position_params.position.line, params.text_document_position_params.position.character)); } } diff --git a/server/src/core/python_arch_eval.rs b/server/src/core/python_arch_eval.rs index 136de87f..cc98066b 100644 --- a/server/src/core/python_arch_eval.rs +++ b/server/src/core/python_arch_eval.rs @@ -78,7 +78,10 @@ impl PythonArchEval { panic!("Trying to eval_arch a symbol without any path") } let path = self.file.borrow().get_symbol_first_path(); - let file_info_rc = session.sync_odoo.get_file_mgr().borrow().get_file_info(&path).expect("File not found in cache").clone(); + let Some(file_info_rc) = session.sync_odoo.get_file_mgr().borrow().get_file_info(&path).clone() else { + warn!("File info not found for {}", path); + return; + }; if file_info_rc.borrow().file_info_ast.borrow().ast.is_none() { file_info_rc.borrow_mut().prepare_ast(session); }