Skip to content

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

Draft
jupblb wants to merge 4 commits intomainfrom
michal/remote-local-interface
Draft

Emit implementation relationships for remote type -> local interface#198
jupblb wants to merge 4 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

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
@jupblb jupblb force-pushed the michal/remote-local-interface branch from 1c7b3c6 to 68a8c06 Compare April 9, 2026 15:56
@jupblb jupblb force-pushed the michal/remote-local-interface branch from 68a8c06 to d893f2a Compare April 9, 2026 18:47
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.
@jupblb jupblb force-pushed the michal/remote-local-interface branch 2 times, most recently from ba12ea5 to 578d2d0 Compare April 10, 2026 09:07
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 578d2d0 to 81c04b8 Compare April 10, 2026 09:28
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