JsonWriter: write "null" if VersionedTextDocumentIdentifier.version is null

Fix #387
This commit is contained in:
Fangrui Song 2019-04-30 06:22:32 -07:00
parent 9e884fca80
commit 16bd93b24b

View File

@ -177,11 +177,22 @@ struct WorkspaceSymbolParam {
};
REFLECT_STRUCT(WorkspaceFolder, uri, name);
inline void Reflect(JsonReader &visitor, DocumentUri &value) {
Reflect(visitor, value.raw_uri);
inline void Reflect(JsonReader &vis, DocumentUri &v) {
Reflect(vis, v.raw_uri);
}
inline void Reflect(JsonWriter &visitor, DocumentUri &value) {
Reflect(visitor, value.raw_uri);
inline void Reflect(JsonWriter &vis, DocumentUri &v) {
Reflect(vis, v.raw_uri);
}
inline void Reflect(JsonReader &vis, VersionedTextDocumentIdentifier &v) {
REFLECT_MEMBER(uri);
REFLECT_MEMBER(version);
}
inline void Reflect(JsonWriter &vis, VersionedTextDocumentIdentifier &v) {
vis.StartObject();
REFLECT_MEMBER(uri);
vis.Key("version");
Reflect(vis, v.version);
vis.EndObject();
}
REFLECT_UNDERLYING(ErrorCode);
@ -194,7 +205,6 @@ REFLECT_UNDERLYING_B(SymbolKind);
REFLECT_STRUCT(TextDocumentIdentifier, uri);
REFLECT_STRUCT(TextDocumentItem, uri, languageId, version, text);
REFLECT_STRUCT(TextEdit, range, newText);
REFLECT_STRUCT(VersionedTextDocumentIdentifier, uri, version);
REFLECT_STRUCT(DiagnosticRelatedInformation, location, message);
REFLECT_STRUCT(Diagnostic, range, severity, code, source, message, relatedInformation);
REFLECT_STRUCT(ShowMessageParam, type, message);