return Out.str();
}
// The name was empty, so present an anonymous entity.
- if (auto *NS = llvm::dyn_cast<NamespaceDecl>(&ND))
+ if (llvm::dyn_cast<NamespaceDecl>(&ND))
return "(anonymous namespace)";
if (auto *Cls = llvm::dyn_cast<RecordDecl>(&ND))
return ("(anonymous " + Cls->getKindName() + ")").str();
- if (auto *En = llvm::dyn_cast<EnumDecl>(&ND))
+ if (llvm::dyn_cast<EnumDecl>(&ND))
return "(anonymous enum)";
return "(anonymous)";
}
return std::move(CodeAction);
}
-llvm::raw_ostream &operator<<(llvm::raw_ostream &O, const DocumentSymbol &S) {
+raw_ostream &operator<<(raw_ostream &O, const DocumentSymbol &S) {
return O << S.name << " - " << toJSON(S);
}
-llvm::json::Value toJSON(const DocumentSymbol &S) {
+json::Value toJSON(const DocumentSymbol &S) {
json::Object Result{{"name", S.name},
{"kind", static_cast<int>(S.kind)},
{"range", S.range},
Result["children"] = S.children;
if (S.deprecated)
Result["deprecated"] = true;
- return Result;
+ // Older gcc cannot compile 'return Result', even though it is legal.
+ return json::Value(std::move(Result));
}
json::Value toJSON(const WorkspaceEdit &WE) {