2.0 KiB
2.0 KiB
TASK-059: From a function in the header to its definition in the source
Status: implemented; required checks pass; installed on the product owner's Z Fold7, awaiting their confirmation Owner: Claude Reviewer: human product owner
Outcome
The human product owner confirmed the outline now appears for their C++ files (TASK-058) and asked
whether choosing a function in a .h could go to where it is written in the .cpp.
Scope
- Included: in the outline (the side pane and the outline sheet), every function of a file that
has a counterpart carries a button named after the counterpart's extension (
.cpp ›in a header,.h ›in a source file). It opens the counterpart at the function of the same name. Choosing the row itself still goes to the function in the file being read. - Excluded:
- Tapping a function's name in the code itself.
- Side by side: the two panes already move to the same function together, so no button there.
- Telling overloads apart: the first function of that name is the one opened.
Writable paths
app/src/main/java/com/ubisam/ubgitea/feature/codebrowser/CodeViewerScreen.kttasks/,docs/
Acceptance criteria
- The button appears only on functions, and only when the file has a counterpart that is not already beside it.
- The drawer or sheet closes and the counterpart opens at the function.
- A function with no definition in the counterpart (inline, pure virtual) opens the counterpart at its top rather than failing.
Security and privacy
No additional concerns.
Required checks
./gradlew compileDebugKotlin compileDebugUnitTestKotlin testDebugUnitTest assembleDebug lintDebug
Evidence
- Required checks pass: 435 unit tests, 0 failures; lint 0 errors. No test was added: the change
is wiring in the screen, and the lookup it uses (
findSymbolNamed,openSiblingwith a symbol) was already covered. - Installed on the SM-F966N over wireless
adb. Not seen working on a screen by the implementer.
Review findings
None yet.