Skip to content

Deduplicate SCIP symbol information - #482

Open
eseliger wants to merge 2 commits into
mainfrom
deduplicate-symbol-information
Open

eseliger wants to merge 2 commits into
mainfrom
deduplicate-symbol-information

Conversation

@eseliger

@eseliger eseliger commented Aug 22, 2026 •

Copy link
Copy Markdown
Member

Emit one SymbolInformation record per SCIP symbol. Overload declarations merge their unique documentation and relationships—including definition relationships—into the first record instead of emitting duplicate metadata.

The overload snapshot renders both overload signatures beneath one symbol, providing a focused regression test for the merge behavior.

Running against the vscode codebase, the memory impact is minimal.

This was reported by scip lint on a large repo.

@eseliger eseliger changed the title deduplicate symbol information Deduplicate SCIP symbol information Aug 22, 2026
@eseliger
eseliger force-pushed the deduplicate-symbol-information branch from af77128 to b6997da Compare August 23, 2026 00:08
@eseliger
eseliger marked this pull request as ready for review August 23, 2026 00:23
@christoph-sg
christoph-sg force-pushed the deduplicate-symbol-information branch from b6997da to d1877d4 Compare September 10, 2026 13:33
@christoph-sg
christoph-sg force-pushed the deduplicate-symbol-information branch from d1877d4 to 5b644a6 Compare September 11, 2026 08:58
@christoph-sg
christoph-sg force-pushed the deduplicate-symbol-information branch from 5b644a6 to 722f92e Compare September 11, 2026 09:03
@christoph-sg
christoph-sg force-pushed the deduplicate-symbol-information branch from 722f92e to 702fa82 Compare September 11, 2026 09:16
@christoph-sg
christoph-sg force-pushed the deduplicate-symbol-information branch from 702fa82 to f17bea7 Compare September 11, 2026 09:27
@christoph-sg
christoph-sg force-pushed the deduplicate-symbol-information branch from f17bea7 to 5b4ea78 Compare September 11, 2026 09:44
@eseliger
eseliger force-pushed the deduplicate-symbol-information branch from 5b4ea78 to 3707e62 Compare September 30, 2026 17:43
Base automatically changed from prototype-members to main October 1, 2026 08:24
@eseliger
eseliger force-pushed the deduplicate-symbol-information branch from 3707e62 to 4fa4ad2 Compare October 1, 2026 08:24

@christoph-sg christoph-sg left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one small question, otherwise looks good.

Comment thread src/FileIndexer.ts
Comment on lines +404 to +405
if (!existing.documentation.includes(documentation)) {
existing.documentation.push(documentation)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merging the two documentation strings seems worse than just picking the first non-empty one. WDYT?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants