Repository navigation
fix(scip): route SymbolInformation.kind by the SCIP schema numbers - #1742
Merged
Shashankss1205 merged 1 commit intoOct 15, 2026
Merged
Conversation
ScipIndexParser treated kind 18 as Enum, 20 as Interface and 54 as Protocol. In scip.proto those are Getter, Instance and Type; Enum is 11, Interface 21 and Protocol 42. Producers that report real kinds therefore lost their interfaces, enums and protocols (scip-go's Reader interface, kind 21, was dropped), while a getter was filed as an enum. The kinds CGC infers for producers that report 0 used the same old numbers (C/C++ enum 18, source-detected interface 20), so they move to the schema values too: routing now has one numbering for both. Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
@PhysShell is attempting to deploy a commit to the shashankss1205's projects Team on Vercel. A member of the Team first needs to authorize it. |
Shashankss1205
approved these changes
Oct 9, 2026
Shashankss1205
left a comment
Collaborator
There was a problem hiding this comment.
Corrects SCIP Enum/Interface/Protocol schema enum values. Targeted tests pass in combined candidate; pair with #1743 for modern producer compatibility.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ScipIndexParserrouted definitions with kind18as Enum,20as Interface and54as Protocol. Inscip.protothose numbers are
Getter,InstanceandType; Enum is11, Interface21and Protocol42. Producers that reportreal kinds therefore lost their interfaces, enums and protocols, and a getter was filed as an enum. For example,
scip-go reports
type Reader interfaceas kind21, and CGC dropped it.The kinds CGC infers for producers that report
0used the same old numbers (C/C++ enum18, an interface detected fromsource
20). They move to the schema values too, so routing has a single numbering for real and inferred kinds. Keeping18as an Enum alias was not an option, because a real18is a Getter.The routed kinds now come from
scip_pb2.SymbolInformation(Enum,Interface,Protocol) instead of literals.scip_indexer.py: +10 / −6. No new node types: kinds without a representation (Getter, Instance, Type, …) are still notmaterialized; they are just no longer mistaken for Enum / Interface / Protocol.
Tests
tests/unit/tools/test_scip_modern_kinds.py(new): kinds 11 / 21 / 42 reachenums/interfaces; Getter 18 isnot an enum, Instance 20 and Type 54 are not interfaces; class / struct / trait / function / method / field / variable
unchanged; kind-0 fallbacks (source
interface, C++enum) still land ininterfaces/enums. 7 of these cases failon
main.tests/unit/tools/test_scip_indexer_c_family.py:_infer_cxx_zero_kindnow returns11for C/C++ enums.scip-code/scip-go@28f28d8) on a small Go package. Reported kinds:Reader21,Item49,Name15,Make17,Item.Read26. Onmainthe parser dropsReader; with this change it is an interface, andevery other node is unchanged.
./tests/run_tests.sh fast(Python 3.12): 1623 passed, 8 skipped, 0 failed (main: 1608 passed, 8 skipped,0 failed; the difference is the new tests).
Not in scope
Discovered separately: scip-go writes only the typed
Occurrencerange fields, which the bundledscip_pb2does notknow yet; that is a separate change.
🤖 Generated with Claude Code