Skip to content

Commit ebf1de5

Browse files
committed
capabilities_server_gojay: fix type assertion
Signed-off-by: Koichi Shiraishi <[email protected]>
1 parent 38a59a5 commit ebf1de5

File tree

1 file changed

+35
-9
lines changed

1 file changed

+35
-9
lines changed

capabilities_server_gojay.go

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@ import (
1515
func (v *ServerCapabilities) MarshalJSONObject(enc *gojay.Encoder) {
1616
switch v.TextDocumentSync.(type) {
1717
case float64: // TextDocumentSyncKind
18-
enc.Uint32Key(keyTextDocumentSync, uint32(v.TextDocumentSync.(float64)))
19-
case TextDocumentSyncKind: // TextDocumentSyncKind
20-
enc.Uint32Key(keyTextDocumentSync, uint32(v.TextDocumentSync.(TextDocumentSyncKind)))
18+
enc.Float64Key(keyTextDocumentSync, v.TextDocumentSync.(float64))
2119
case *TextDocumentSyncOptions:
2220
enc.ObjectKey(keyTextDocumentSync, v.TextDocumentSync.(*TextDocumentSyncOptions))
2321
}
@@ -207,81 +205,109 @@ func (v *ServerCapabilities) UnmarshalJSONObject(dec *gojay.Decoder, k string) e
207205
switch k {
208206
case keyTextDocumentSync:
209207
return dec.Interface(&v.TextDocumentSync)
208+
210209
case keyCompletionProvider:
211210
if v.CompletionProvider == nil {
212211
v.CompletionProvider = &CompletionOptions{}
213212
}
214213
return dec.Object(v.CompletionProvider)
214+
215215
case keyHoverProvider:
216216
return dec.Interface(&v.HoverProvider)
217+
217218
case keySignatureHelpProvider:
218219
if v.SignatureHelpProvider == nil {
219220
v.SignatureHelpProvider = &SignatureHelpOptions{}
220221
}
221222
return dec.Object(v.SignatureHelpProvider)
223+
222224
case keyDeclarationProvider:
223225
return dec.Interface(&v.DeclarationProvider)
226+
224227
case keyDefinitionProvider:
225228
return dec.Interface(&v.DefinitionProvider)
229+
226230
case keyTypeDefinitionProvider:
227231
return dec.Interface(&v.TypeDefinitionProvider)
232+
228233
case keyImplementationProvider:
229234
return dec.Interface(&v.ImplementationProvider)
235+
230236
case keyReferencesProvider:
231237
return dec.Interface(&v.ReferencesProvider)
238+
232239
case keyDocumentHighlightProvider:
233240
return dec.Interface(&v.DocumentHighlightProvider)
241+
234242
case keyDocumentSymbolProvider:
235243
return dec.Interface(&v.DocumentSymbolProvider)
244+
236245
case keyCodeActionProvider:
237246
return dec.Interface(&v.CodeActionProvider)
247+
238248
case keyCodeLensProvider:
239249
if v.CodeLensProvider == nil {
240250
v.CodeLensProvider = &CodeLensOptions{}
241251
}
242252
return dec.Object(v.CodeLensProvider)
253+
243254
case keyDocumentLinkProvider:
244255
if v.DocumentLinkProvider == nil {
245256
v.DocumentLinkProvider = &DocumentLinkOptions{}
246257
}
247258
return dec.Object(v.DocumentLinkProvider)
259+
248260
case keyColorProvider:
249261
return dec.Interface(&v.ColorProvider)
262+
250263
case keyWorkspaceSymbolProvider:
251264
return dec.Interface(&v.WorkspaceSymbolProvider)
265+
252266
case keyDocumentFormattingProvider:
253267
return dec.Interface(&v.DocumentFormattingProvider)
268+
254269
case keyDocumentRangeFormattingProvider:
255270
return dec.Interface(&v.DocumentRangeFormattingProvider)
271+
256272
case keyDocumentOnTypeFormattingProvider:
257273
if v.DocumentOnTypeFormattingProvider == nil {
258274
v.DocumentOnTypeFormattingProvider = &DocumentOnTypeFormattingOptions{}
259275
}
260276
return dec.Object(v.DocumentOnTypeFormattingProvider)
277+
261278
case keyRenameProvider:
262279
return dec.Interface(&v.RenameProvider)
280+
263281
case keyFoldingRangeProvider:
264282
return dec.Interface(&v.FoldingRangeProvider)
283+
265284
case keySelectionRangeProvider:
266285
return dec.Interface(&v.SelectionRangeProvider)
286+
267287
case keyExecuteCommandProvider:
268288
if v.ExecuteCommandProvider == nil {
269289
v.ExecuteCommandProvider = &ExecuteCommandOptions{}
270290
}
271291
return dec.Object(v.ExecuteCommandProvider)
292+
293+
case keyCallHierarchyProvider:
294+
return dec.Interface(&v.CallHierarchyProvider)
295+
296+
case keyLinkedEditingRangeProvider:
297+
return dec.Interface(&v.LinkedEditingRangeProvider)
298+
299+
case keySemanticTokensProvider:
300+
return dec.Interface(&v.SemanticTokensProvider)
301+
272302
case keyWorkspace:
273303
if v.Workspace == nil {
274304
v.Workspace = &ServerCapabilitiesWorkspace{}
275305
}
276306
return dec.Object(v.Workspace)
277-
case keyLinkedEditingRangeProvider:
278-
return dec.Interface(&v.LinkedEditingRangeProvider)
279-
case keyCallHierarchyProvider:
280-
return dec.Interface(&v.CallHierarchyProvider)
281-
case keySemanticTokensProvider:
282-
return dec.Interface(&v.SemanticTokensProvider)
307+
283308
case keyMonikerProvider:
284309
return dec.Interface(&v.MonikerProvider)
310+
285311
case keyExperimental:
286312
return dec.Interface(&v.Experimental)
287313
}

0 commit comments

Comments
 (0)