Skip to content

Commit 8e27113

Browse files
mmahroussfda-odoo
authored andcommitted
[FIX] avoid go to definition on literals
1 parent 47d484d commit 8e27113

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

server/src/features/definition.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,11 @@ impl DefinitionFeature {
267267
index += 1;
268268
continue;
269269
}
270+
if matches!(eval.value, Some(EvaluationValue::CONSTANT(_))) {
271+
// Skip go to definition on literals
272+
index += 1;
273+
continue;
274+
}
270275
let Some(symbol) = eval.symbol.get_symbol_as_weak(session, &mut None, &mut vec![], None).weak.upgrade() else {
271276
index += 1;
272277
continue;

server/src/features/features_utils.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -373,10 +373,10 @@ impl FeaturesUtils {
373373
for (index, eval) in evals.iter().enumerate() {
374374
//search for a constant evaluation like a model name or domain field
375375
if let Some(EvaluationValue::CONSTANT(Expr::StringLiteral(expr))) = eval.value.as_ref() {
376-
let mut block = S!("");
377376
let str = expr.value.to_string();
378377
if let Some(SymType::PACKAGE(PackageType::MODULE)) = file_symbol.as_ref().map(|fs| fs.borrow().typ())
379378
&& file_path.map_or(false, |fp| fp.ends_with("__manifest__.py")) {
379+
let mut block = S!("");
380380
// If we are in manifest, we check if the string is a module and list the underlying module dependencies
381381
if let Some(module) = session.sync_odoo.modules.get(&oyarn!("{}", str)).and_then(|m| m.upgrade()) {
382382
block += format!("Module: {}", module.borrow().name()).as_str();
@@ -437,6 +437,7 @@ impl FeaturesUtils {
437437
}
438438
if let Some(model) = session.sync_odoo.models.get(&oyarn!("{}", str)).cloned() {
439439
let main_classes = model.borrow().get_main_symbols(session, from_module.clone());
440+
let mut block = S!("");
440441
for main_class_rc in main_classes.iter() {
441442
let main_class = main_class_rc.borrow();
442443
if let Some(main_class_module) = main_class.find_module() {
@@ -470,9 +471,9 @@ impl FeaturesUtils {
470471
}).collect::<String>();
471472
}
472473
}
474+
blocks.push(block);
475+
continue;
473476
}
474-
blocks.push(block);
475-
continue;
476477
}
477478
let eval_symbol = eval.symbol.get_symbol(session, &mut None, &mut vec![], None);
478479
let Some(symbol) = eval_symbol.upgrade_weak() else {

0 commit comments

Comments
 (0)