Colby Mchenry and Claude Opus 5.5
c9944147bb
fix(vbnet): resolve receiver calls by declared type; guard .NET names, bare calls and ties ( #2351 )
...
VB.NET's resolver guessed a receiver call's target from the receiver's
name whenever no class matched it, without any of the guards C# has.
Indexing Structure members (#2345 ) gave those guesses new targets: 23
SCrawler `xxxFile.Delete()` calls on PersonalUtilities' SFile went to a
nested struct's `TempFileConversion::Delete`, and staxrip's main app
sent 90 calls to its AutoCrop tool's duplicate `ColorHSL`.
- Declared types (new src/resolution/vbnet-receivers.ts): a receiver's
`As` type decides the call (local, parameter, field, property,
`For Each`, `As New`, ...). The candidates are that type's member, one
it inherits, or an extension method written for it. A type from
outside the project gets no link.
- .NET standard method names (`Add`, `Contains`, `Clear`, `Dispose`,
`ToString`, ...) on an untyped receiver need a receiver named after
the owner, as in C#. VB.NET matches them case-insensitively.
- A bare call, or one on `Me`, reaches the enclosing class, what it
inherits, or a Module. A nested type is matched by its bare name only
from inside its owner. Types resolve through enclosing namespaces,
`Imports` (aliases included) and the caller's project. A tie between
equally good guesses goes to the caller's file, then its project, then
the nearer directory, or gets no link.
- vbReceiverOf reads the name at or after the reference's column, so
`Me.Size = New System.Drawing.Size(...)` is read through
`System.Drawing`, not `Me`.
Before/after on main (nodes unchanged): SCrawler 15,092 -> 14,893
edges, staxrip 28,002 -> 26,647. Of the non-containment edges removed,
855 / 2,802 are the same link with new resolver metadata. The rest:
- .NET names on untyped receivers no longer guessed: 196 / 1,378.
731 of staxrip's are StringBuilder `sb.Append` calls that had gone to
`LogBuilder::Append`.
- Other receiver guesses dropped: 86 / 103, including the SFile.Delete
calls.
- Bare calls out of scope: 38 / 834. 590 of staxrip's are
`New Point(...)` that had gone to a class nested in `ButtonEx`; others
are WinForms `Refresh()`, `Focus()` and `Activate()`.
- Retargeted: 227 / 532, e.g. 208 bare `Add(...)` calls in encoder
classes now reach the inherited `CommandLineParams::Add`.
121 / 958 call sites resolve that did not before, e.g. `cms.Add` ->
ContextMenuStripEx and `td.AddButton` -> TaskDialog. Designer -> Size
links fall from 5 / 1 to 0; designer -> Add stays 0.
Known trade-off, shared with C#'s guard: about 31 staxrip calls like
`switches.Join(BR)` that may be the project's own `MiscExtensions`
extension methods are no longer linked.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-05 17:32:53 +00:00
..
2026-04-06 14:27:13 -05:00
2026-10-05 14:45:10 +00:00
2026-06-02 10:15:27 -05:00
2026-06-22 12:06:35 -05:00
2026-09-27 13:39:18 +00:00
2026-06-28 22:46:24 -05:00
2026-09-30 07:06:23 +00:00
2026-09-27 16:26:10 +00:00
2026-10-01 04:05:02 +00:00
2026-09-16 07:51:26 +00:00
2026-09-28 23:57:18 +00:00
2026-07-12 20:09:03 -05:00
2026-07-15 19:11:06 -05:00
2026-09-29 03:01:46 +00:00
2026-08-29 13:40:05 -05:00
2026-08-29 13:46:01 -05:00
2026-09-27 15:10:09 +00:00
2026-10-01 02:14:13 +00:00
2026-07-19 17:48:27 -05:00
2026-08-06 17:50:25 +09:00
2026-09-08 00:23:08 -05:00
2026-06-20 21:22:52 -05:00
2026-09-30 10:09:18 +00:00
2026-07-02 18:41:55 -05:00
2026-07-02 19:02:16 -05:00
2026-10-02 05:00:47 +00:00
2026-10-03 04:55:49 +00:00
2026-09-27 13:03:26 +00:00
2026-06-13 14:48:52 -05:00
2026-09-08 17:45:06 -05:00
2026-08-26 10:39:06 -05:00
2026-09-08 17:17:31 -05:00
2026-09-08 16:00:58 -05:00
2026-08-26 10:38:21 -05:00
2026-07-16 14:39:26 -05:00
2026-09-27 11:57:16 +00:00
2026-09-08 16:17:28 -05:00
2026-06-28 22:01:47 -05:00
2026-09-27 13:24:46 +00:00
2026-09-08 09:52:56 -05:00
2026-09-30 04:17:34 +00:00
2026-09-15 16:36:00 +00:00
2026-06-13 15:18:55 -05:00
2026-07-09 20:54:45 -05:00
2026-10-01 21:47:52 +00:00
2026-09-08 09:37:20 -05:00
2026-09-30 18:49:15 +00:00
2026-10-01 20:37:37 +00:00
2026-05-21 15:48:04 -05:00
2026-06-08 00:10:10 -04:00
2026-06-08 22:43:54 -04:00
2026-08-06 17:50:25 +09:00
2026-07-01 12:13:42 -05:00
2026-09-30 18:07:46 +00:00
2026-09-29 00:46:41 +00:00
2026-10-02 04:49:00 +00:00
2026-09-30 16:38:59 +00:00
2026-09-30 20:36:51 +00:00
2026-09-08 16:17:28 -05:00
2026-09-08 18:07:18 -05:00
2026-09-08 00:00:39 -05:00
2026-09-30 08:10:26 +00:00
2026-09-30 10:41:06 +00:00
2026-10-05 17:20:15 +00:00
2026-09-30 23:56:34 +00:00
2026-09-30 23:02:05 +00:00
2026-10-05 14:41:59 +00:00
2026-10-05 17:20:15 +00:00
2026-09-27 12:30:53 +00:00
2026-06-08 01:25:21 -04:00
2026-06-28 20:11:05 -05:00
2026-09-28 18:13:35 +00:00
2026-07-07 09:13:13 -05:00
2026-10-05 15:08:14 +00:00
2026-09-28 18:13:35 +00:00
2026-09-27 15:26:49 +00:00
2026-10-05 15:08:14 +00:00
2026-10-02 10:36:42 +00:00
2026-10-03 05:05:29 +00:00
2026-10-02 06:16:25 +00:00
2026-09-15 16:36:00 +00:00
2026-09-30 09:30:58 +00:00
2026-09-30 21:31:14 +00:00
2026-09-27 12:23:04 +00:00
2026-10-01 02:56:43 +00:00
2026-09-27 13:54:58 +00:00
2026-09-27 14:15:29 +00:00
2026-09-27 13:04:17 +00:00
2026-09-30 14:54:31 +00:00
2026-08-22 11:55:14 -05:00
2026-09-30 12:15:50 +00:00
2026-09-29 04:37:41 +00:00
2026-05-24 04:41:04 -05:00
2026-09-27 19:55:33 +00:00
2026-09-30 19:26:19 +00:00
2026-08-26 10:39:15 -05:00
2026-08-26 10:39:15 -05:00
2026-09-30 12:07:48 +00:00
2026-06-26 20:25:47 -05:00
2026-08-04 00:56:50 -05:00
2026-08-04 02:13:46 -05:00
2026-08-01 01:50:44 -05:00
2026-08-06 15:10:46 -05:00
2026-09-28 15:54:00 +00:00
2026-06-22 12:06:35 -05:00
2026-09-08 13:13:03 -05:00
2026-09-08 11:27:05 -05:00
2026-08-04 00:37:17 -05:00
2026-08-06 02:59:46 -05:00
2026-09-08 07:31:04 -05:00
2026-09-27 13:25:42 +00:00
2026-09-28 06:20:54 +00:00
2026-09-27 16:26:10 +00:00
2026-09-28 06:04:10 +00:00
2026-09-28 07:21:01 +00:00
2026-09-28 07:21:01 +00:00
2026-09-27 19:55:33 +00:00
2026-08-06 21:11:51 -05:00
2026-09-27 19:55:33 +00:00
2026-09-08 18:28:36 -05:00
2026-09-27 16:26:10 +00:00
2026-08-22 09:05:30 -07:00
2026-08-20 09:10:07 -07:00
2026-09-28 06:34:36 +00:00
2026-09-28 07:21:01 +00:00
2026-08-04 00:02:45 -05:00
2026-08-06 03:45:28 -05:00
2026-06-28 22:23:35 -05:00
2026-09-28 08:03:11 +00:00
2026-08-05 13:24:06 -05:00
2026-06-22 12:06:35 -05:00
2026-09-30 07:28:28 +00:00
2026-09-08 10:07:46 -05:00
2026-10-01 03:52:28 +00:00
2026-10-01 20:11:26 +00:00
2026-09-27 13:40:31 +00:00
2026-06-22 16:16:23 -05:00
2026-09-30 13:18:33 +00:00
2026-09-30 12:44:03 +00:00
2026-09-27 16:26:10 +00:00
2026-10-02 05:00:47 +00:00
2026-09-30 07:49:17 +00:00
2026-09-30 11:30:56 +00:00
2026-06-13 09:48:44 -05:00
2026-09-27 13:07:56 +00:00
2026-07-16 16:11:24 -05:00
2026-10-01 21:33:41 +00:00
2026-09-30 11:03:06 +00:00
2026-10-01 20:32:07 +00:00
2026-09-30 11:55:43 +00:00
2026-08-20 12:53:49 -05:00
2026-09-30 11:36:02 +00:00
2026-10-01 00:45:56 +00:00
2026-09-27 16:26:10 +00:00
2026-10-01 00:45:56 +00:00
2026-10-02 04:12:11 +00:00
2026-09-08 19:57:48 -05:00
2026-10-02 04:47:36 +00:00
2026-09-30 08:31:10 +00:00
2026-09-08 11:12:07 +03:00
2026-09-30 04:56:59 +00:00
2026-09-27 13:41:49 +00:00
2026-05-28 23:41:11 -05:00
2026-08-22 11:53:33 -05:00
2026-05-20 10:32:08 -05:00
2026-09-29 03:01:46 +00:00
2026-09-27 13:12:55 +00:00
2026-09-27 13:12:55 +00:00
2026-07-16 14:52:11 -05:00
2026-09-27 12:24:33 +00:00
2026-10-01 02:09:41 +00:00
2026-06-22 18:16:11 -05:00
2026-10-01 02:04:33 +00:00
2026-10-05 15:08:14 +00:00
2026-07-10 03:42:30 -05:00
2026-09-27 13:09:25 +00:00
2026-08-20 09:10:07 -07:00
2026-09-08 08:00:52 -05:00
2026-09-30 07:28:28 +00:00
2026-07-07 10:11:58 -05:00
2026-07-07 13:01:38 -05:00
2026-09-27 15:26:49 +00:00
2026-09-27 15:26:49 +00:00
2026-06-26 20:25:47 -05:00
2026-09-28 18:14:10 +00:00
2026-09-30 17:13:27 +00:00
2026-06-29 23:35:50 -05:00
2026-09-27 15:10:20 +00:00
2026-05-28 15:13:23 -05:00
2026-08-28 13:45:38 -05:00
2026-06-02 14:23:33 -05:00
2026-09-30 06:00:17 +00:00
2026-09-30 14:54:31 +00:00
2026-09-30 19:45:40 +00:00
2026-10-01 02:49:34 +00:00
2026-09-27 13:30:02 +00:00
2026-10-01 01:18:09 +00:00
2026-09-30 06:22:18 +00:00
2026-09-09 00:54:15 -05:00
2026-09-27 13:46:34 +00:00
2026-10-05 17:20:15 +00:00
2026-07-20 19:55:48 -05:00
2026-08-26 10:38:29 -05:00
2026-07-20 19:55:48 -05:00
2026-09-08 17:33:45 -05:00
2026-09-27 13:35:19 +00:00
2026-09-27 13:35:19 +00:00
2026-07-20 16:08:22 -05:00
2026-07-20 18:28:28 -05:00
2026-08-20 12:16:51 -05:00
2026-07-20 15:44:13 -05:00
2026-09-27 13:10:17 +00:00
2026-09-27 13:35:19 +00:00
2026-09-27 13:32:17 +00:00
2026-09-29 21:43:56 +00:00
2026-09-27 13:42:27 +00:00
2026-09-30 15:20:22 +00:00
2026-09-30 15:52:23 +00:00
2026-09-30 15:36:22 +00:00
2026-09-30 21:25:06 +00:00
2026-09-30 17:51:32 +00:00
2026-09-30 13:09:06 +00:00
2026-09-30 15:20:22 +00:00
2026-10-01 21:40:38 +00:00
2026-06-21 09:45:24 -05:00
2026-09-29 16:03:02 +00:00
2026-08-20 12:53:49 -05:00
2026-09-30 16:51:48 +00:00
2026-09-27 13:58:22 +00:00
2026-06-22 12:41:26 -05:00
2026-09-30 20:46:25 +00:00
2026-09-30 10:54:33 +00:00
2026-09-30 18:34:52 +00:00
2026-09-30 09:04:08 +00:00
2026-09-15 05:30:09 +00:00
2026-09-27 13:46:58 +00:00
2026-10-02 06:18:02 +00:00
2026-05-25 23:48:10 -05:00
2026-05-26 15:39:48 -05:00
2026-10-02 21:58:28 +00:00
2026-09-27 16:26:10 +00:00
2026-10-02 04:24:34 +00:00
2026-09-15 05:30:09 +00:00
2026-10-02 04:15:24 +00:00
2026-06-26 19:31:12 -05:00
2026-09-27 16:26:10 +00:00
2026-10-02 04:13:42 +00:00
2026-10-02 04:16:48 +00:00
2026-08-01 01:12:52 -05:00
2026-09-29 18:52:32 +00:00
2026-07-07 08:45:12 -05:00
2026-10-02 21:58:28 +00:00
2026-09-27 16:26:10 +00:00
2026-06-20 13:23:16 -05:00
2026-09-08 18:28:36 -05:00
2026-06-23 12:57:47 -05:00
2026-09-28 18:13:35 +00:00
2026-06-20 22:34:24 -05:00
2026-09-30 23:18:21 +00:00
2026-09-27 13:54:58 +00:00
2026-09-30 21:09:20 +00:00
2026-09-30 07:34:14 +00:00
2026-10-02 07:07:34 +00:00
2026-09-28 18:13:35 +00:00
2026-09-27 12:22:27 +00:00
2026-08-22 11:54:27 -05:00
2026-08-28 09:46:50 -05:00
2026-09-30 19:01:48 +00:00
2026-09-08 10:07:46 -05:00
2026-09-30 03:17:35 +00:00
2026-10-01 04:15:09 +00:00
2026-08-31 11:34:26 -05:00
2026-07-06 12:41:32 -05:00
2026-09-08 19:40:48 -05:00
2026-09-27 11:57:16 +00:00
2026-05-21 15:48:04 -05:00
2026-05-21 15:48:04 -05:00
2026-05-31 19:05:40 -05:00
2026-07-07 08:45:12 -05:00
2026-09-30 10:33:32 +00:00
2026-10-01 03:45:49 +00:00
2026-09-30 17:04:59 +00:00
2026-09-15 05:30:09 +00:00
2026-06-20 15:17:31 -05:00
2026-09-08 13:45:22 -05:00
2026-10-02 07:07:34 +00:00
2026-10-02 08:48:01 +00:00
2026-10-02 04:28:02 +00:00
2026-09-08 15:11:20 -05:00
2026-10-02 04:20:59 +00:00
2026-10-01 02:22:47 +00:00
2026-07-10 15:47:57 -05:00
2026-09-30 10:47:28 +00:00
2026-09-30 08:58:39 +00:00
2026-06-20 20:30:13 -05:00
2026-09-30 11:16:46 +00:00
2026-06-26 20:25:47 -05:00
2026-08-03 23:13:59 -05:00
2026-09-08 11:51:02 -05:00
2026-05-26 03:25:06 -05:00
2026-09-30 21:52:10 +00:00
2026-06-24 14:48:16 -05:00
2026-10-03 05:05:29 +00:00
2026-10-03 05:05:29 +00:00
2026-10-01 01:35:48 +00:00
2026-09-27 16:26:10 +00:00
2026-09-30 23:33:28 +00:00
2026-09-30 20:07:30 +00:00
2026-09-08 10:29:53 -05:00
2026-10-01 04:34:57 +00:00
2026-09-08 09:30:01 -05:00
2026-09-30 16:27:41 +00:00
2026-09-30 05:52:25 +00:00
2026-10-05 16:09:30 +00:00
2026-10-02 04:42:23 +00:00
2026-09-28 08:03:11 +00:00
2026-10-02 18:03:28 +00:00
2026-10-01 03:10:36 +00:00
2026-09-30 09:09:12 +00:00
2026-10-01 21:31:06 +00:00
2026-09-30 11:12:36 +00:00
2026-10-01 03:31:22 +00:00
2026-06-21 11:35:12 -05:00
2026-08-28 09:46:50 -05:00
2026-09-15 05:30:09 +00:00
2026-09-30 22:10:14 +00:00
2026-09-30 18:17:06 +00:00
2026-09-30 12:34:11 +00:00
2026-09-30 12:34:11 +00:00
2026-06-20 14:45:51 -05:00
2026-09-27 19:55:29 +00:00
2026-08-20 12:36:22 -05:00
2026-09-15 05:30:09 +00:00
2026-07-10 17:37:20 -05:00
2026-09-27 13:03:39 +00:00
2026-09-08 00:32:05 -05:00
2026-10-02 04:47:36 +00:00
2026-10-02 10:20:23 +00:00
2026-09-30 07:57:43 +00:00
2026-09-27 13:12:42 +00:00
2026-09-30 20:28:25 +00:00
2026-06-20 19:23:37 -05:00
2026-09-30 09:58:12 +00:00
2026-10-01 00:34:57 +00:00
2026-09-30 12:58:08 +00:00
2026-09-30 05:34:51 +00:00
2026-10-01 01:58:11 +00:00
2026-09-16 07:18:40 +00:00
2026-09-30 22:54:08 +00:00
2026-06-22 12:06:35 -05:00
2026-09-30 11:46:04 +00:00
2026-09-30 19:15:47 +00:00
2026-09-30 20:13:54 +00:00
2026-09-30 23:07:39 +00:00
2026-10-01 01:52:04 +00:00
2026-09-29 03:01:50 +00:00
2026-05-07 20:35:49 -05:00
2026-09-27 14:16:48 +00:00
2026-07-02 17:23:54 -05:00
2026-10-01 00:27:15 +00:00
2026-09-30 22:32:43 +00:00
2026-10-02 06:18:46 +00:00
2026-10-01 21:24:06 +00:00
2026-10-01 01:25:35 +00:00
2026-06-21 01:32:33 -05:00
2026-09-30 16:59:19 +00:00
2026-10-01 03:37:32 +00:00
2026-06-20 22:00:43 -05:00
2026-10-01 00:16:23 +00:00
2026-09-27 14:15:29 +00:00
2026-09-27 13:58:22 +00:00
2026-10-05 15:08:14 +00:00
2026-07-06 09:07:15 -05:00
2026-06-11 12:04:51 -05:00
2026-09-29 17:40:28 +00:00
2026-09-15 05:30:09 +00:00
2026-08-28 09:46:50 -05:00
2026-05-07 22:03:33 -05:00
2026-07-19 17:48:27 -05:00
2026-07-02 17:11:19 -05:00
2026-09-30 07:48:48 +00:00
2026-10-01 01:46:07 +00:00
2026-09-30 06:50:41 +00:00
2026-08-31 11:34:26 -05:00
2026-09-30 13:43:36 +00:00
2026-09-29 21:43:56 +00:00
2026-09-30 21:03:23 +00:00
2026-10-01 03:02:05 +00:00
2026-09-30 21:15:33 +00:00
2026-05-26 02:14:00 -05:00
2026-05-26 02:14:00 -05:00
2026-09-30 03:59:28 +00:00
2026-09-29 20:31:21 +00:00
2026-09-29 22:05:38 +00:00
2026-09-08 19:40:48 -05:00
2026-09-28 18:13:35 +00:00
2026-10-02 04:26:51 +00:00
2026-07-16 18:07:51 -05:00
2026-07-08 23:18:23 -05:00
2026-08-31 11:34:26 -05:00
2026-09-27 13:10:17 +00:00
2026-09-16 06:51:19 +00:00
2026-10-03 05:58:44 +00:00
2026-09-30 19:58:52 +00:00
2026-10-02 06:18:46 +00:00
2026-09-29 16:24:49 +00:00
2026-09-15 05:30:09 +00:00
2026-06-11 14:48:11 -05:00
2026-09-27 13:30:02 +00:00
2026-08-22 11:55:01 -05:00
2026-08-27 07:14:55 -05:00
2026-09-30 05:23:22 +00:00
2026-08-28 10:21:46 -05:00
2026-08-29 12:00:04 -05:00
2026-08-27 05:20:15 -05:00
2026-09-30 04:56:59 +00:00
2026-08-27 04:28:56 -05:00
2026-08-31 23:49:39 -05:00
2026-08-27 01:43:00 -05:00
2026-08-27 03:47:42 -05:00
2026-08-27 03:47:42 -05:00
2026-09-27 12:28:04 +00:00
2026-08-27 04:54:37 -05:00
2026-10-01 21:47:52 +00:00
2026-08-27 06:22:11 -05:00
2026-10-01 21:30:46 +00:00
2026-08-31 23:49:39 -05:00
2026-09-27 12:28:04 +00:00
2026-10-01 20:23:31 +00:00
2026-10-01 20:23:31 +00:00
2026-08-28 10:21:46 -05:00
2026-08-27 05:20:15 -05:00
2026-09-30 21:34:36 +00:00
2026-08-27 08:31:48 -05:00
2026-08-29 13:40:05 -05:00
2026-08-31 15:38:13 -05:00
2026-08-28 14:52:40 -05:00
2026-09-09 00:54:15 -05:00
2026-08-29 13:40:05 -05:00
2026-08-27 06:22:11 -05:00
2026-08-27 08:31:48 -05:00
2026-08-27 08:31:48 -05:00
2026-09-27 13:04:17 +00:00
2026-06-13 12:35:18 -05:00
2026-07-10 17:36:47 -05:00
2026-10-02 06:19:41 +00:00
2026-06-16 12:16:00 -05:00
2026-10-01 22:52:43 +00:00
2026-09-30 11:23:58 +00:00
2026-09-29 19:50:24 +00:00
2026-10-05 17:32:53 +00:00
2026-10-05 17:32:53 +00:00
2026-10-05 14:41:59 +00:00
2026-10-05 17:32:53 +00:00
2026-10-05 17:32:53 +00:00
2026-10-05 17:32:53 +00:00
2026-09-29 05:01:34 +00:00
2026-09-30 08:22:09 +00:00
2026-09-30 22:01:39 +00:00
2026-09-30 06:46:26 +00:00
2026-06-20 20:08:34 -05:00
2026-06-20 20:49:06 -05:00
2026-09-08 01:06:56 -05:00
2026-09-27 19:55:37 +00:00
2026-07-15 19:44:09 -05:00
2026-05-21 18:06:02 -05:00
2026-09-29 03:01:38 +00:00
2026-09-29 18:28:40 +00:00
2026-10-02 21:58:28 +00:00
2026-06-28 19:35:17 -05:00
2026-09-27 15:01:02 +00:00
2026-09-28 05:22:18 +00:00