mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-09-21 00:21:30 +00:00
Add METHOD_IMPLEMENTS relationship type to connect concrete methods to the interface/abstract methods they implement, and rename OVERRIDES to METHOD_OVERRIDES for naming consistency. METHOD_IMPLEMENTS: - New emitMethodImplementsEdges() pass in mro-processor after MRO loop - Match by name + parameterTypes for overloaded interface methods - Lenient matching when either side lacks type info - Include ALL interface/trait methods (not just abstract) - Edge direction: ConcreteMethod → InterfaceMethod - 8 unit tests: interface dispatch, Rust trait, overloads, default methods, class-extends exclusion, Property skip, queryability - 5 per-language integration tests: Java (interface-dispatch fixture), PHP (abstract-dispatch), Rust (trait impl), Swift (protocol), Python (documents ABC-extends behavior) OVERRIDES → METHOD_OVERRIDES: - Renamed across 24 files (shared types, schema, MRO processor, MCP tools, impact confidence, all resolver integration tests) - Added migration in ensureInitialized: existing graphs with old OVERRIDES edges are auto-updated to METHOD_OVERRIDES on first connect - Migration runs once per session per repo, silently skips if no edges Closes #574 |
||
|---|---|---|
| .. | ||
| src | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||