A real example
Same name. Different code.
Kin tells two same-name functions apart, shows the callers it recorded for each, and keeps an edit to one of them through a restart.
Two functions named listRun
Behind gh issue list
listRun
NewCmdList
runCommandTestIssueList_web
Behind gh secret list
listRun
NewCmdList
Test_listRun Test_listRun_ populatesNumSelectedReposIfRequired
An edit that survives a restart
listRun behind gh issue list
if opts.Detector == nil { cachedClient := api.NewCachedHTTPClient(httpClient, time.Hour*24) cachedClient := api.NewCachedHTTPClient(httpClient, time.Hour*12) opts.Detector = fd.NewDetector(cachedClient, baseRepo.RepoHost())}features, err := opts.Detector.IssueFeatures()- RecordedKin kept the edit as a change in its own history.
- StoppedKin's background service for the project was shut down.
- ReopenedA new session read the edit back, with the same three callers.
How this was captured
These are saved runs, not live queries. They used released Kin 0.7.20, an older build than the current release, on a one-commit snapshot of GitHub CLI at 14d339d9ba87e87f34b7a25f00200a2062f87039.
The two caller answers come from separate saved runs with the Go language server, gopls. Each answer reports 20 functions named listRun in the project, and this page shows two of them.
The edit and the restart come from another run on the same snapshot, in a repository of its own, with Kin's full tool set, on CPU and without gopls.
Coverage is partial. This Kin build records no links for Go imports, so each list shows the callers Kin recorded, which may not be all of them. After the edit, Kin reported that linking across files was still catching up, at 0 of 708 files.
The function keeps one identity across the edit and the restart within this run only. The imported state is change 7c16ade6f772 and the recorded edit is change db6e4fb4cedc.
- The saved answer for gh issue list
- The saved answer for gh secret list
- The data drawn above, with its hashes
- How the request was made
- The function before the edit
- The function as read after the restart
- The recorded difference
- What Kin printed when it recorded the edit
- The read after the restart
- The callers as read after the restart
- The capture record and source hashes
- GitHub CLI source license