mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-09-24 00:51:53 +00:00
The C++ isSuperReceiver hook used a regex `/^[A-Z]\w*::/` that misclassified any uppercase-qualified call as a super-receiver call. Singleton::getInstance(), std::Foo::bar(), and PascalCase namespace calls all entered the super branch, where the absence of an enclosing class (or wrong MRO context) dropped the resolution entirely. Fix: - New optional ScopeResolver hook isSuperReceiverInContext(text, callerScope, scopes). Languages where super classification depends on caller context define it; receiver-bound-calls.ts prefers it when defined and falls back to the simple isSuperReceiver(text) otherwise. Other migrated languages (Python, Java, C#, PHP, Go, TypeScript) are unchanged. - C++ implementation: parse the LHS of '::' from the receiver text, resolve via findClassBindingInScope, and return true only when the LHS is a class-like def in the caller's enclosing class's MRO. Returns false for namespace LHS, unresolved LHS, self-class LHS (qualified self-calls aren't super), and any non-'::' form. - Extended the C++ tree-sitter query to capture the LHS of qualified_identifier as @reference.receiver so qualified static member calls (Singleton::getInstance()) reach the receiver-bound Case 2 (class-name receiver) path. Without the receiver capture, qualified calls had no explicit receiver and could not resolve through any receiver-bound branch. Test: cpp-namespace-qualified-not-super fixture. Singleton::getInstance() from a free function asserts exactly 1 CALLS edge through the qualified-call path. Passes under both REGISTRY_PRIMARY_CPP=1 and =0. All 2113 resolver integration tests pass; all 147 cpp tests pass under both modes. |
||
|---|---|---|
| .. | ||
| api-deep-flow.test.ts | ||
| c.test.ts | ||
| cobol.test.ts | ||
| cpp.test.ts | ||
| csharp.test.ts | ||
| dart.test.ts | ||
| express-routes.test.ts | ||
| go.test.ts | ||
| helpers.ts | ||
| java.test.ts | ||
| javascript.test.ts | ||
| kotlin.test.ts | ||
| php-response-shapes.test.ts | ||
| php.test.ts | ||
| python-mcp-tools.test.ts | ||
| python.test.ts | ||
| route-mapping.test.ts | ||
| ruby-sequential-mixin.test.ts | ||
| ruby.test.ts | ||
| rust.test.ts | ||
| shape-check.test.ts | ||
| swift.test.ts | ||
| typescript-esm-js-extension.test.ts | ||
| typescript-hoc-wrapped.test.ts | ||
| typescript-hof-callbacks.test.ts | ||
| typescript-jsx-as-call.test.ts | ||
| typescript.test.ts | ||
| vue.test.ts | ||