diff options
-rw-r--r-- | clang-tools-extra/clangd/JSONRPCDispatcher.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/clang-tools-extra/clangd/JSONRPCDispatcher.cpp b/clang-tools-extra/clangd/JSONRPCDispatcher.cpp index 7e0aea5f516..5e48a071094 100644 --- a/clang-tools-extra/clangd/JSONRPCDispatcher.cpp +++ b/clang-tools-extra/clangd/JSONRPCDispatcher.cpp @@ -88,11 +88,7 @@ bool JSONRPCDispatcher::call(StringRef Content, JSONOutput &Out) const { if (Doc == YAMLStream.end()) return false; - auto *Root = Doc->getRoot(); - if (!Root) - return false; - - auto *Object = dyn_cast<llvm::yaml::MappingNode>(Root); + auto *Object = dyn_cast_or_null<llvm::yaml::MappingNode>(Doc->getRoot()); if (!Object) return false; @@ -101,7 +97,8 @@ bool JSONRPCDispatcher::call(StringRef Content, JSONOutput &Out) const { llvm::yaml::MappingNode *Params = nullptr; llvm::yaml::ScalarNode *Id = nullptr; for (auto &NextKeyValue : *Object) { - auto *KeyString = dyn_cast<llvm::yaml::ScalarNode>(NextKeyValue.getKey()); + auto *KeyString = + dyn_cast_or_null<llvm::yaml::ScalarNode>(NextKeyValue.getKey()); if (!KeyString) return false; |