rohit-jsfreaky
27df0f9a2c
fix(ts): pick a same-named receiver type by the caller's import, never bind to a #private method
...
_resolve_typescript_member_calls required a receiver's type name to be unique in the
corpus before applying the #2553 origin gate, so hono's `c: Context` (a class plus two
interfaces and a type named Context) never resolved, though the caller's
`import type { Context } from '../../context'` names the exact one. Apply the origin
gate to the candidates first and emit only when exactly one is visible; one definition
behaves as before, an undecided import still emits nothing.
_key() also folds `#name` into `name`, so `c.newResponse()` could bind to a private
`#newResponse()`. Skip a match whose leading `#` disagrees with the call.
Against the TypeScript compiler, 0.9.80 vs this change: hono obj.method() 20.3% -> 47.3%
(+23 edges), NestJS +5, TypeORM +3, all 31 confirmed at the call site, 0 lost.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01B8gwEpjajiWHVW3c9smuKf
(cherry picked from commit 7935593eca )
2026-10-08 14:27:33 +01:00
..
2026-09-21 19:19:26 +01:00
2026-10-08 14:27:06 +01:00
2026-10-05 19:40:12 +01:00
2026-09-29 13:49:39 +01:00
2026-10-05 20:11:30 +01:00
2026-10-02 17:10:08 +01:00
2026-09-21 19:44:17 +01:00
2026-10-07 17:26:00 +01:00
2026-10-04 20:40:34 +01:00
2026-09-22 15:00:07 +01:00
2026-09-22 14:58:22 +01:00
2026-10-04 01:52:03 +01:00
2026-10-08 14:27:06 +01:00
2026-09-30 20:41:10 +01:00
2026-09-25 15:44:08 +01:00
2026-10-02 17:10:07 +01:00
2026-10-06 20:54:55 +01:00
2026-10-02 17:10:07 +01:00
2026-09-27 18:56:31 +01:00
2026-10-04 20:23:44 +01:00
2026-10-04 20:23:44 +01:00
2026-10-02 16:50:45 +01:00
2026-10-04 20:23:44 +01:00
2026-10-06 20:54:15 +01:00
2026-10-04 02:07:00 +01:00
2026-09-27 18:39:52 +01:00
2026-10-06 20:54:15 +01:00
2026-10-04 02:07:23 +01:00
2026-10-04 02:09:34 +01:00
2026-09-25 16:01:47 +01:00
2026-10-04 20:23:14 +01:00
2026-10-07 17:26:11 +01:00
2026-09-28 10:15:38 +01:00
2026-10-04 20:23:14 +01:00
2026-10-07 17:26:00 +01:00
2026-10-05 19:40:13 +01:00
2026-09-23 16:54:04 +01:00
2026-10-06 20:54:15 +01:00
2026-10-07 17:26:17 +01:00
2026-10-07 17:52:47 +01:00
2026-09-23 19:45:40 +01:00
2026-10-07 17:26:11 +01:00
2026-09-30 20:10:34 +01:00
2026-09-22 14:58:12 +01:00
2026-09-22 14:58:12 +01:00
2026-10-08 14:27:06 +01:00
2026-09-30 20:41:10 +01:00
2026-10-04 02:08:29 +01:00
2026-10-04 02:07:00 +01:00
2026-10-04 20:40:34 +01:00
2026-10-04 02:08:29 +01:00
2026-10-06 20:54:35 +01:00
2026-09-25 16:15:15 +01:00
2026-09-20 13:59:26 +01:00
2026-10-04 20:23:44 +01:00
2026-09-28 09:13:29 +01:00
2026-09-30 20:41:10 +01:00
2026-10-07 17:26:00 +01:00
2026-09-20 13:59:25 +01:00
2026-09-30 20:10:34 +01:00
2026-10-07 17:26:00 +01:00
2026-10-04 20:23:14 +01:00
2026-09-27 18:39:52 +01:00
2026-10-05 19:40:12 +01:00
2026-09-30 20:41:10 +01:00
2026-09-22 17:30:28 +01:00
2026-10-07 17:26:00 +01:00
2026-10-04 01:43:04 +01:00
2026-10-04 20:40:34 +01:00
2026-10-02 16:50:45 +01:00
2026-09-30 20:41:10 +01:00
2026-10-07 17:26:00 +01:00
2026-10-05 20:12:06 +01:00
2026-09-17 11:01:37 +01:00
2026-10-05 19:40:03 +01:00
2026-10-07 17:26:17 +01:00
2026-10-07 17:26:17 +01:00
2026-10-05 19:40:03 +01:00
2026-09-26 13:45:58 +01:00
2026-10-07 17:26:00 +01:00
2026-10-07 17:26:00 +01:00
2026-10-05 19:40:04 +01:00
2026-10-04 20:40:34 +01:00
2026-09-28 10:18:13 +01:00
2026-09-17 11:01:38 +01:00
2026-10-05 19:40:12 +01:00
2026-10-08 14:27:06 +01:00
2026-09-25 15:44:21 +01:00
2026-10-06 20:54:15 +01:00
2026-10-07 17:53:49 +01:00
2026-10-07 17:26:00 +01:00
2026-09-21 18:04:04 +01:00
2026-10-08 14:27:06 +01:00
2026-10-02 17:10:07 +01:00
2026-10-05 20:11:30 +01:00
2026-10-02 17:10:07 +01:00
2026-10-04 01:43:04 +01:00
2026-09-18 15:16:09 +01:00
2026-10-02 17:10:07 +01:00
2026-10-05 19:40:11 +01:00
2026-10-04 02:07:00 +01:00
2026-10-04 02:07:00 +01:00
2026-10-07 17:26:00 +01:00
2026-10-04 01:44:11 +01:00
2026-09-29 14:37:10 +01:00
2026-10-05 20:12:34 +01:00
2026-09-27 18:39:51 +01:00
2026-10-07 17:26:00 +01:00
2026-10-07 17:26:00 +01:00
2026-10-02 17:10:07 +01:00
2026-09-23 17:01:39 +01:00
2026-10-04 01:43:04 +01:00
2026-10-08 14:27:06 +01:00
2026-10-04 20:40:34 +01:00
2026-10-04 20:23:44 +01:00
2026-10-04 20:23:44 +01:00
2026-09-20 13:59:25 +01:00
2026-09-27 18:39:51 +01:00
2026-10-02 17:10:07 +01:00
2026-09-20 18:53:35 +01:00
2026-10-08 14:27:33 +01:00
2026-10-07 17:26:11 +01:00
2026-09-30 20:41:10 +01:00
2026-10-07 17:26:00 +01:00
2026-10-06 20:54:15 +01:00
2026-10-02 17:10:08 +01:00
2026-09-28 10:15:38 +01:00