Skip to content

Add KSVisitorNext - #3059

Merged
jaschdoc merged 3 commits into
mainfrom
ksvisitornext
Jul 21, 2026
Merged

Add KSVisitorNext#3059
jaschdoc merged 3 commits into
mainfrom
ksvisitornext

Conversation

@jaschdoc

Copy link
Copy Markdown
Collaborator

This PR adds the KSVisitorNext<D, R> : KSVisitor<D, R> interface that decorates the KSVisitor interface with a visitBackingField function. All existing implementations of KSVisitor move to KSVisitorNext. The KSVisitor interface is then deprecated to inform processor authors that they should move to KSVisitorNext. The deprecation is informative and actionable. Also, it uses the ReplaceWith annotation to allow IDEs to easily suggest a fix.

Depends on #3058
Supersedes #2969
Related to #2873

@jaschdoc
jaschdoc force-pushed the ksvisitornext branch 2 times, most recently from 427d38d to 45d061b Compare July 21, 2026 09:57
KSVisitorNext is a subtype of KSVisitor and has the additional visitBackingField function.
All existing visitors implement the KSVisitorNext interface instead.
Doing so maintains binary compatibility because there is no requirement to use KSVisitorNext.
If a processor library has its own implementation of a KSVisitor, it will still work.
@jaschdoc
jaschdoc marked this pull request as ready for review July 21, 2026 10:25
@jaschdoc
jaschdoc requested a review from troelsbjerre as a code owner July 21, 2026 10:25
@jaschdoc
jaschdoc merged commit c4c902b into main Jul 21, 2026
24 checks passed
@jaschdoc
jaschdoc deleted the ksvisitornext branch July 21, 2026 11:50
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