xiongjianxu
15d2312b03
fix(go): fold a package's type into one node when its methods span files ( #3399 )
...
extract_go keys a type on its package directory, so every file declaring a
method on it mints the type again under the same id. Disambiguation then splits
those apart by path, and the type ends up fragmented into several partial nodes,
each owning some of its methods: the declaring file's node owns none of them,
and every single-definition guard downstream reads the set as an ambiguity.
Fold the id-collision before disambiguation, the same point and the same shape
as _merge_decl_def_classes for C/C++/ObjC. Guards: all members must be .go
files in one directory (the id folds in only the directory's name), and a
_test.go member stops the fold, since its package clause may be a separate
external test package. The declaring file wins; no edge re-pointing is needed
because the group already shares one id.
(cherry picked from commit 7f9439ddd5 )
2026-10-13 11:14:22 +01:00
..
2026-10-13 10:27:02 +01:00
2026-10-10 22:13:39 +01:00
2026-10-11 20:47:55 +01:00
2026-10-12 22:58:40 +01:00
2026-10-08 14:27:06 +01:00
2026-10-09 19:18:06 +01:00
2026-10-12 12:16:17 +01:00
2026-10-12 14:49:28 +01:00
2026-10-05 20:11:30 +01:00
2026-10-12 23:02:50 +01:00
2026-10-07 17:26:00 +01:00
2026-10-12 14:49:28 +01:00
2026-10-11 20:49:42 +01:00
2026-10-09 02:48:22 +01:00
2026-10-08 14:27:06 +01:00
2026-10-11 21:07:15 +01:00
2026-10-06 20:54:55 +01:00
2026-10-13 11:14:16 +01:00
2026-10-09 19:19:01 +01:00
2026-10-13 11:14:16 +01:00
2026-10-06 20:54:15 +01:00
2026-10-09 19:19:15 +01:00
2026-10-09 19:17:53 +01:00
2026-10-12 14:50:32 +01:00
2026-10-12 14:50:32 +01:00
2026-10-12 13:01:00 +01:00
2026-10-12 22:37:55 +01:00
2026-10-12 12:29:39 +01:00
2026-10-12 22:38:15 +01:00
2026-10-11 20:47:55 +01:00
2026-10-12 22:58:40 +01:00
2026-10-10 21:20:29 +01:00
2026-10-08 14:28:54 +01:00
2026-10-08 14:28:27 +01:00
2026-10-07 17:26:00 +01:00
2026-10-11 20:49:42 +01:00
2026-10-11 20:49:42 +01:00
2026-10-09 02:51:03 +01:00
2026-10-11 21:06:09 +01:00
2026-10-12 22:58:40 +01:00
2026-10-07 17:26:17 +01:00
2026-10-07 17:52:47 +01:00
2026-10-12 12:16:17 +01:00
2026-10-12 22:37:54 +01:00
2026-10-13 11:14:22 +01:00
2026-10-09 19:46:57 +01:00
2026-10-08 14:27:06 +01:00
2026-10-10 21:37:39 +01:00
2026-10-13 10:26:57 +01:00
2026-10-13 10:26:57 +01:00
2026-10-11 20:47:44 +01:00
2026-10-10 21:20:29 +01:00
2026-10-12 14:49:28 +01:00
2026-10-13 11:14:16 +01:00
2026-10-09 19:18:06 +01:00
2026-10-06 20:54:35 +01:00
2026-10-13 11:14:16 +01:00
2026-10-12 22:37:54 +01:00
2026-10-12 22:37:54 +01:00
2026-10-09 19:18:06 +01:00
2026-10-09 19:18:06 +01:00
2026-10-10 01:13:46 +01:00
2026-10-07 17:26:00 +01:00
2026-10-12 23:02:44 +01:00
2026-10-12 23:02:50 +01:00
2026-10-09 19:17:53 +01:00
2026-10-10 22:11:03 +01:00
2026-10-13 11:14:16 +01:00
2026-10-12 12:16:17 +01:00
2026-10-12 12:16:17 +01:00
2026-10-12 12:16:17 +01:00
2026-10-12 22:38:11 +01:00
2026-10-11 21:06:27 +01:00
2026-10-11 20:47:44 +01:00
2026-10-11 20:49:42 +01:00
2026-10-10 01:24:41 +01:00
2026-10-12 22:58:40 +01:00
2026-10-07 17:26:00 +01:00
2026-10-09 19:18:06 +01:00
2026-10-05 20:12:06 +01:00
2026-10-10 21:39:00 +01:00
2026-10-07 17:26:17 +01:00
2026-10-07 17:26:17 +01:00
2026-10-09 19:18:06 +01:00
2026-10-13 11:14:16 +01:00
2026-10-07 17:26:00 +01:00
2026-10-10 01:13:46 +01:00
2026-10-07 17:26:00 +01:00
2026-10-11 20:49:42 +01:00
2026-10-12 14:49:34 +01:00
2026-10-12 14:50:04 +01:00
2026-10-08 14:27:06 +01:00
2026-10-13 10:27:02 +01:00
2026-10-12 12:16:17 +01:00
2026-10-12 12:16:17 +01:00
2026-10-12 12:16:17 +01:00
2026-10-12 13:01:40 +01:00
2026-10-12 22:37:54 +01:00
2026-10-12 22:37:55 +01:00
2026-10-08 14:28:20 +01:00
2026-10-06 20:54:15 +01:00
2026-10-08 14:29:00 +01:00
2026-10-08 14:29:19 +01:00
2026-10-12 13:02:22 +01:00
2026-10-10 01:33:40 +01:00
2026-10-12 22:37:54 +01:00
2026-10-08 14:28:54 +01:00
2026-10-10 01:28:39 +01:00
2026-10-12 13:01:00 +01:00
2026-10-12 22:58:40 +01:00
2026-10-10 01:01:10 +01:00
2026-10-09 19:17:53 +01:00
2026-10-08 14:27:06 +01:00
2026-10-10 22:11:03 +01:00
2026-10-05 20:11:30 +01:00
2026-10-09 02:48:23 +01:00
2026-10-11 21:07:09 +01:00
2026-10-11 21:06:10 +01:00
2026-10-13 11:14:16 +01:00
2026-10-10 21:20:29 +01:00
2026-10-12 12:18:15 +01:00
2026-10-07 17:26:00 +01:00
2026-10-12 22:37:54 +01:00
2026-10-09 19:18:06 +01:00
2026-10-11 21:06:10 +01:00
2026-10-12 14:49:29 +01:00
2026-10-09 19:17:53 +01:00
2026-10-05 20:12:34 +01:00
2026-10-09 19:18:06 +01:00
2026-10-13 10:26:57 +01:00
2026-10-07 17:26:00 +01:00
2026-10-07 17:26:00 +01:00
2026-10-10 22:11:03 +01:00
2026-10-08 14:27:06 +01:00
2026-10-13 11:14:16 +01:00
2026-10-13 11:14:16 +01:00
2026-10-12 22:37:54 +01:00
2026-10-09 19:18:06 +01:00
2026-10-11 20:49:48 +01:00
2026-10-10 21:38:54 +01:00
2026-10-12 13:01:47 +01:00
2026-10-07 17:26:11 +01:00
2026-10-11 20:47:44 +01:00
2026-10-09 19:18:06 +01:00
2026-10-12 23:02:50 +01:00
2026-10-07 17:26:00 +01:00
2026-10-06 20:54:15 +01:00
2026-10-12 14:49:29 +01:00
2026-10-12 22:58:40 +01:00