mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-10-15 04:18:05 +00:00
The shared simple-name indexes key every def by the text after the last '.' of its qualifiedName, so an S3 method `print.foo` is indexed under `foo` next to a bare `foo`. Two measured defects followed: - `library(prov)` bound `foo` to `print.foo` (a wrong 0.85 import-resolved edge) when the S3 method was declared before the bare def; - a same-package cross-file bare call `foo(v)` saw two candidates under `foo` and got no CALLS edge at all. R-only fix, no shared-core edit, no SCHEMA_BUMP (both hooks run at resolve time over cached ParsedFiles): - rScopeResolver.isCallableVisibleFromCaller refuses dotted candidates: a bare R call can never invoke `print.foo`. - expandRWildcardNames drops a bare name whose file also defines a dotted top-level def with that tail (order-blind, like the importFrom guard). Characterisation tests deliberately updated to the new behaviour (r.test.ts, R NAMESPACE importFrom fixture): - print.tidy before tidy / tally before print.tally: was no edge, now a 0.5 global-name-fallback edge to the bare def; - bare call to a name that only an R6 method carries: was a 0.5 guess to the method, now no edge (a bare call cannot reach an R6 member). Residual: dotted names bind only through qualified-name lookup (0.35), never import-resolved; a bare name sharing a tail with an S3 method in the same file resolves at 0.5 (fallback), not 0.85; backticked names unchanged. |
||
|---|---|---|
| .. | ||
| cli | ||
| config | ||
| core | ||
| lib | ||
| mcp | ||
| server | ||
| storage | ||
| types | ||
| utils | ||