forked from OSchip/llvm-project
[clangd] Show parameters for construct.
Show parameters for construct. Reviewed By: kadircet Differential Revision: https://reviews.llvm.org/D114621
This commit is contained in:
parent
27ca945801
commit
7bb785cc33
|
@ -1058,20 +1058,24 @@ markup::Document HoverInfo::present() const {
|
|||
// - `bool param1`
|
||||
// - `int param2 = 5`
|
||||
Output.addParagraph().appendText("→ ").appendCode(*ReturnType);
|
||||
if (Parameters && !Parameters->empty()) {
|
||||
Output.addParagraph().appendText("Parameters: ");
|
||||
markup::BulletList &L = Output.addBulletList();
|
||||
for (const auto &Param : *Parameters) {
|
||||
std::string Buffer;
|
||||
llvm::raw_string_ostream OS(Buffer);
|
||||
OS << Param;
|
||||
L.addItem().addParagraph().appendCode(std::move(OS.str()));
|
||||
}
|
||||
}
|
||||
} else if (Type) {
|
||||
Output.addParagraph().appendText("Type: ").appendCode(*Type);
|
||||
}
|
||||
|
||||
if (Parameters && !Parameters->empty()) {
|
||||
Output.addParagraph().appendText("Parameters: ");
|
||||
markup::BulletList &L = Output.addBulletList();
|
||||
for (const auto &Param : *Parameters) {
|
||||
std::string Buffer;
|
||||
llvm::raw_string_ostream OS(Buffer);
|
||||
OS << Param;
|
||||
L.addItem().addParagraph().appendCode(std::move(OS.str()));
|
||||
}
|
||||
}
|
||||
|
||||
// Don't print Type after Parameters or ReturnType as this will just duplicate
|
||||
// the information
|
||||
if (Type && !ReturnType && !Parameters)
|
||||
Output.addParagraph().appendText("Type: ").appendCode(*Type);
|
||||
|
||||
if (Value) {
|
||||
markup::Paragraph &P = Output.addParagraph();
|
||||
P.appendText("Value = ");
|
||||
|
|
|
@ -2680,6 +2680,32 @@ public: def)",
|
|||
|
||||
// In cls<int>
|
||||
protected: int method())",
|
||||
},
|
||||
{
|
||||
[](HoverInfo &HI) {
|
||||
HI.Definition = "cls(int a, int b = 5)";
|
||||
HI.AccessSpecifier = "public";
|
||||
HI.Kind = index::SymbolKind::Constructor;
|
||||
HI.NamespaceScope = "";
|
||||
HI.LocalScope = "cls";
|
||||
HI.Name = "cls";
|
||||
HI.Parameters.emplace();
|
||||
HI.Parameters->emplace_back();
|
||||
HI.Parameters->back().Type = "int";
|
||||
HI.Parameters->back().Name = "a";
|
||||
HI.Parameters->emplace_back();
|
||||
HI.Parameters->back().Type = "int";
|
||||
HI.Parameters->back().Name = "b";
|
||||
HI.Parameters->back().Default = "5";
|
||||
},
|
||||
R"(constructor cls
|
||||
|
||||
Parameters:
|
||||
- int a
|
||||
- int b = 5
|
||||
|
||||
// In cls
|
||||
public: cls(int a, int b = 5))",
|
||||
},
|
||||
{
|
||||
[](HoverInfo &HI) {
|
||||
|
|
Loading…
Reference in New Issue