Parent
Spec: #18 (ticket 4/5). Additive recall win; not needed to close #16.
What to build
Use the use-import map to positively bind a short receiver-type name when several same-short-named classes exist in the corpus: use App\Services\X; should select App\Services\X among the candidates (today the len != 1 guard at extract.py:3247-3260 refuses).
Requires a (namespace, simple_name) -> node_id index for PHP, sourced from the php_class_fqns per-file payload (engine.py:5285-5290), consulted by PhpNameResolver (#21).
Constraints
Acceptance criteria
Blocked by
#21. Releases only together with #23.
Parent
Spec: #18 (ticket 4/5). Additive recall win; not needed to close #16.
What to build
Use the
use-import map to positively bind a short receiver-type name when several same-short-named classes exist in the corpus:use App\Services\X;should selectApp\Services\Xamong the candidates (today thelen != 1guard atextract.py:3247-3260refuses).Requires a
(namespace, simple_name) -> node_idindex for PHP, sourced from thephp_class_fqnsper-file payload (engine.py:5285-5290), consulted byPhpNameResolver(#21).Constraints
_php_pre_scan_class_namespaces,engine.py:183-237), notresolution.py:2541-2542's bail — spec Spec: PHP use-import-map awareness for member-call resolution (upgrade path for #16) #18 decision.Acceptance criteria
App\A\X/App\B\X; caller withuse App\A\X;and typed receiver binds toApp\A\Xonlyuse App\A\X as Y;withprivate Y $r;binds toApp\A\Xusestatement → today's unique-short-name behavior unchangedBlocked by
#21. Releases only together with #23.