fix: Use a Gson singleton which knows about the types from LSP4J#1414
Merged
rubenporras merged 1 commit intoeclipse-lsp4e:mainfrom Nov 24, 2025
Merged
Conversation
rubenporras
approved these changes
Nov 21, 2025
Contributor
Author
|
Should we move the Gson instance somewhere else so we can test deserialization? |
Contributor
For me, yes, we can move it to an internal package. |
Contributor
|
@FlorianKroiss your PR will not cover all usecases (like other registration option like completion, etc). See my comment at #1413 (comment) |
68016df to
678f4d6
Compare
Either type
Contributor
Author
|
@angelozerr Thanks for your insights. I used the same trick as you to obtain a properly configured Gson instance. |
678f4d6 to
8de4581
Compare
Contributor
You are welcome! |
rubenporras
reviewed
Nov 24, 2025
| */ | ||
| public class JsonUtil { | ||
|
|
||
| private static final Gson LSP4J_GSON = Objects.requireNonNull(new MessageJsonHandler(Map.of()).getGson()); |
Contributor
There was a problem hiding this comment.
would it not be simpler to declare the static variable public and remove the getter?
8de4581 to
837e71f
Compare
rubenporras
approved these changes
Nov 24, 2025
837e71f to
4512943
Compare
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.
Gson instances are thread safe, so we should create only a single instance.
Gson needs to know how to deserialize the Either type, which seems to happen when configuring the
EitherTypeAdapterfrom LSP4JFixes #1413