mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-09-19 00:03:33 +00:00
Method and Constructor node IDs now include a #<paramCount> suffix to distinguish overloaded methods: Method:file:Class.method#1 vs #2. Core changes: - Reorder parameter extraction before generateId in both parsing-processor.ts (sequential) and parse-worker.ts (worker) so arity is available at ID time - Add arity suffix to findEnclosingFunctionId in both call-processor.ts and parse-worker.ts so CALLS/ACCESSES edge sourceIds match definition-phase IDs - Strip #<arity> in extractFuncNameFromSourceId for receiver-type index lookups - Fix resolveMethodReturnType to handle class names directly as receiver types (pre-existing latent bug surfaced by substituteThisReceiver + fixpoint interaction) - Add MIGRATION.md documenting OVERRIDES → METHOD_OVERRIDES rename - Update ARCHITECTURE.md Known Limitations with overload resolution status Same-arity overloads (same param count, different types) remain collapsed — deferred to future type-hash enhancement (issue #574). All 2896 unit tests + 2213 integration tests pass.
1 KiB
1 KiB
Migration Guide
OVERRIDES → METHOD_OVERRIDES (PR #642)
The OVERRIDES relationship type has been renamed to METHOD_OVERRIDES for
consistency with the new METHOD_IMPLEMENTS edge type.
Do I need to migrate?
No. Backward compatibility is handled automatically at runtime:
local-backend.tsdual-reads bothOVERRIDESandMETHOD_OVERRIDESin all impact-analysis and context queries. Existing stored graphs withOVERRIDESedges continue to return correct results without any manual intervention.- The
REL_TYPESarray inschema-constants.tsincludes both names so Cypher queries that reference either will work.
What happens on re-index?
Running npx gitnexus analyze on a repository produces METHOD_OVERRIDES
edges going forward. The old OVERRIDES edges are replaced as part of the
normal full re-index.
When will the legacy alias be removed?
The OVERRIDES compat alias will remain until a future major version. Removal
will be announced in this file and in the changelog before it happens.