Skip to content

Emit implementation relationships for remote type -> local interface#198

Open
jupblb wants to merge 7 commits intomainfrom
michal/remote-local-interface
Open

Emit implementation relationships for remote type -> local interface#198
jupblb wants to merge 7 commits intomainfrom
michal/remote-local-interface

Conversation

@jupblb
Copy link
Copy Markdown
Member

@jupblb jupblb commented Apr 9, 2026

Enable findImplementations for remote types against local interfaces, emitting the resulting SymbolInformation entries as external symbols in the SCIP index. This allows the backend to discover when dependency types implement interfaces defined in the indexed project.

This solution was recommended at #64 (comment).

DO NOT MERGE before scip-code/scip#390 is merged and released.

Fixes #64

@jupblb jupblb force-pushed the michal/remote-local-interface branch 4 times, most recently from ba12ea5 to 578d2d0 Compare April 10, 2026 09:07
@jupblb jupblb force-pushed the michal/remote-local-interface branch from 578d2d0 to 81c04b8 Compare April 10, 2026 09:28
jupblb added 4 commits April 14, 2026 17:54
Enable findImplementations for remote types against local interfaces,
emitting the resulting SymbolInformation entries as external symbols
in the SCIP index. This allows the backend to discover when dependency
types implement interfaces defined in the indexed project.

Fixes #64
Add formatExternalSymbols to scip_test.go that emits an
external_symbols.txt file when the index contains external symbols.
This makes the remote type -> local interface relationships visible
and verifiable in snapshot output.
Replace manual document iteration and custom formatExternalSymbols
with testutil.FormatSnapshots from scip, which handles both document
formatting and external symbol rendering.
@jupblb jupblb force-pushed the michal/remote-local-interface branch from 81c04b8 to d736433 Compare April 14, 2026 15:55
@jupblb jupblb marked this pull request as ready for review April 14, 2026 16:00
@jupblb jupblb force-pushed the michal/remote-local-interface branch from 6c4d245 to b9819cc Compare April 14, 2026 19:06
@jupblb jupblb marked this pull request as draft April 14, 2026 19:46
…matches

Replace Close() error with ScipTestMethod() so the embedded
implementation test doesn't pull in dozens of stdlib types that
vary across OS/arch. The pr198 test still covers external symbol
emission with a controlled dependency.
@jupblb jupblb force-pushed the michal/remote-local-interface branch 2 times, most recently from 52afe3f to cd6d3d4 Compare April 14, 2026 21:18
@jupblb jupblb force-pushed the michal/remote-local-interface branch from cd6d3d4 to ff9fa40 Compare April 14, 2026 21:19
@jupblb jupblb marked this pull request as ready for review April 14, 2026 21:20
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.

Cross-repo Find implementations does not work when interface is defined downstream of type

1 participant