Bug 429957

Summary: Declaration and definition information is not updated when a function is de-inlined
Product: [Applications] kdevelop Reporter: Igor Kushnir <igorkuo>
Component: Language Support: CPP (Clang-based)Assignee: kdevelop-bugs-null
Status: REPORTED ---    
Severity: normal    
Priority: NOR    
Version First Reported In: git master   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Igor Kushnir 2020-12-03 09:48:38 UTC
SUMMARY
When the user moves the definition of an inline member or namespace-scope function into the corresponding source file, the locations in the mouse-over popup for the declaration and the new definition are not updated accordingly most of the time. Occasionally but not reliably the locations are updated after restarting KDevelop. This means that, for instance, Ctrl+mouse-click may switch from the definition to the declaration, but not the other way around. Or, in the case of a namespace-scope function, Ctrl+mouse-click doesn't work in any direction.

STEPS TO REPRODUCE
1. De-inline a function.
2. (optional) Close and open again the header and/or source file.
3. (optional) Restart KDevelop.
4. Hover over the de-inlined function's declaration or its new definition.

OBSERVED RESULT
The "Decl." and "Def." locations are stale.

EXPECTED RESULT
The "Decl." and "Def." locations are updated automatically to match the current version of the code.

SOFTWARE/OS VERSIONS
Manjaro GNU/Linux, Xfce
KDE Frameworks Version: 5.76.0
Qt Version: 5.15.1