Martin Vogel
afcce2d42b
fix(registry): don't swallow call suffixes on aliased-import direct hits
...
The #979 direct-hit early return in resolve_import_map fires before
suffix handling, so any imported_symbol.method() call whose base symbol
is itself an indexed node resolved to the base node instead of
base.method — the exact mis-resolution the neighboring comment warns
about. On django this degraded the graph by ~11K edges (CALLS
74,685->72,175, TESTS 38,032->29,236); auth.login => Signal.send became
an edge onto the user_logged_in Variable node.
Take the direct hit only for suffix-less callees — precisely the
aliased direct-symbol import case (#875 ) the early return was added
for. Verified on django: CALLS 74,708 (baseline + the 23 genuine #979
wins), TESTS 38,035; the #979 bare-alias test stays green.
Reproduce-first: resolve_import_map_alias_with_suffix_hits_method is
RED on the unguarded code (returns the bare symbol QN) and GREEN with
the guard.
Closes #1000
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com >
2026-07-10 21:07:11 +02:00
..
2026-07-09 21:07:57 +02:00
2026-07-05 18:51:23 +02:00
2026-06-05 21:53:25 +02:00
2026-06-05 21:53:25 +02:00
2026-03-22 18:33:10 -05:00
2026-03-15 22:37:34 +01:00
2026-05-30 18:26:44 +02:00
2026-07-09 18:54:00 +02:00
2026-06-29 09:45:28 -06:00
2026-07-06 16:39:25 +02:00
2026-07-08 19:13:25 +02:00
2026-04-01 23:22:44 +02:00
2026-06-07 18:29:05 +02:00
2026-06-06 22:16:04 +02:00
2026-06-05 21:53:25 +02:00
2026-05-19 22:47:53 +02:00
2026-07-09 09:40:44 +03:00
2026-07-03 19:25:00 +02:00
2026-06-23 06:38:45 +09:00
2026-06-23 06:38:45 +09:00
2026-03-25 09:28:11 +01:00
2026-06-07 13:00:55 +02:00
2026-06-07 13:00:55 +02:00
2026-07-03 10:08:01 +09:00
2026-06-07 12:35:53 +02:00
2026-06-08 22:55:23 +02:00
2026-07-07 15:55:24 +02:00
2026-07-01 21:23:12 +02:00
2026-06-05 21:53:25 +02:00
2026-07-02 00:37:52 +02:00
2026-06-22 23:51:49 +02:00
2026-03-15 22:37:34 +01:00
2026-06-05 21:53:25 +02:00
2026-07-08 00:05:19 +05:30
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-27 16:23:26 +02:00
2026-06-07 20:05:24 +02:00
2026-06-07 20:05:24 +02:00
2026-06-27 16:23:26 +02:00
2026-07-08 00:05:19 +05:30
2026-07-03 20:16:39 +02:00
2026-05-21 22:52:16 +02:00
2026-03-31 20:04:11 +02:00
2026-07-07 21:57:25 +02:00
2026-07-04 23:03:12 +02:00
2026-07-09 23:22:34 +02:00
2026-06-22 22:04:31 +02:00
2026-06-22 22:05:18 +02:00
2026-06-02 18:52:37 +02:00
2026-06-02 18:52:37 +02:00
2026-06-03 01:33:25 +02:00
2026-07-02 21:20:22 +08:00
2026-07-08 00:05:19 +05:30
2026-06-28 13:05:05 +02:00
2026-07-04 14:34:26 +09:00
2026-03-15 22:37:34 +01:00
2026-07-09 14:09:39 -05:00
2026-06-08 22:55:23 +02:00
2026-06-07 18:29:05 +02:00
2026-07-09 21:07:54 +02:00
2026-07-08 06:03:54 -04:00
2026-06-12 02:17:39 +02:00
2026-07-09 14:09:39 -05:00
2026-07-02 21:43:07 +03:00
2026-07-08 19:13:25 +02:00
2026-07-03 19:57:01 +02:00
2026-07-09 14:09:39 -05:00
2026-07-09 22:32:26 +02:00
2026-07-09 02:11:18 +08:00
2026-05-30 20:15:30 +02:00
2026-06-05 21:53:25 +02:00
2026-05-09 15:44:09 +02:00
2026-05-09 14:16:15 +02:00
2026-07-06 15:58:18 +02:00
2026-07-10 21:07:11 +02:00
2026-06-23 13:52:08 -03:00
2026-07-06 18:32:50 +02:00
2026-05-08 22:26:56 +02:00
2026-06-24 03:15:36 +02:00
2026-07-05 10:21:56 +02:00
2026-07-06 21:52:37 +02:00
2026-07-06 19:32:03 +02:00
2026-06-28 21:57:35 -06:00
2026-07-03 20:16:39 +02:00
2026-07-09 14:09:39 -05:00
2026-06-24 12:54:45 +00:00
2026-03-20 20:32:38 +01:00
2026-05-29 03:37:56 +02:00
2026-07-03 20:16:39 +02:00
2026-07-09 07:51:45 +02:00
2026-05-29 03:37:56 +02:00
2026-06-23 04:08:36 -07:00
2026-03-24 23:48:23 +01:00
2026-06-24 20:33:52 +05:30
2026-07-05 17:42:17 +02:00
2026-03-24 23:48:23 +01:00
2026-06-12 10:51:11 +02:00
2026-06-10 12:11:02 +02:00
2026-07-07 23:09:05 +02:00
2026-04-06 14:34:07 +02:00
2026-06-05 21:53:25 +02:00
2026-07-03 20:40:22 +02:00
2026-06-06 19:48:48 +02:00
2026-07-04 14:38:25 +02:00
2026-03-24 23:48:23 +01:00
2026-04-15 23:56:03 +02:00