eclipse-lsp4j / lsp4j

A Java implementation of the language server protocol intended to be consumed by tools and language servers implemented in Java.
https://eclipse.org/lsp4j
Other
613 stars 145 forks source link

Adjust inheritance tree for `SemanticTokensWithRegistrationOptions` #649

Closed pisv closed 2 years ago

pisv commented 2 years ago

Fixes #573

pisv commented 2 years ago

Thanks for the review.

I'm curious can you give an example of a usage where the API would break from this?

It would break if there were a cast to AbstractWorkDoneProgressOptions in pre-existing client code, which seems unlikely in practice: https://github.com/eclipse/lsp4j/issues/573#issue-1054754518. But formally, this is a breaking change: https://wiki.eclipse.org/Evolving_Java-based_APIs_2#Evolving_API_Classes.