kadircet marked 10 inline comments as done.
kadircet added inline comments.
================
Comment at: clang-tools-extra/clangd/unittests/XRefsTests.cpp:567
+ const HoverInfo Expected;
+ } // namespace
+ Cases[] = {
----------------
sammccall wrote:
> namespace?!
>
> might be a clang-format bug?
I must have messed the brackets at some point :D
================
Comment at: clang-tools-extra/clangd/unittests/XRefsTests.cpp:574
+ )cpp",
+ {/*NamespaceScope=*/std::string(""),
+ /*LocalScope=*/std::string(""),
----------------
sammccall wrote:
> using the constructor/aggregate init here has a couple of downsides:
> - vebosity: you need to list every field, even those that are not set for
> this case (TemplateParameters), or are misleading (SymRange is none)
> - brittleness: it makes it hard to change the struct at all
> - readability: the /*foo=*/ comments aren't bad, but not ideal either
>
> Using field-by-field initialization would be better I think, though it's a
> bit awkward here.
>
> but e.g. you could make the member std::function<HoverInfo> ExpectedBuilder,
> and write
>
> ```
>
> [&](HoverInfo &Expected) {
> Expected.Name = "foo";
> Expected.Kind = SymbolKind::Function;
> ...
> }
> ```
yeah that looks a lot better, thanks!
================
Comment at: clang-tools-extra/clangd/unittests/XRefsTests.cpp:592
+ )cpp",
+ {/*NamespaceScope=*/std::string("ns1::ns2"),
+ /*LocalScope=*/std::string(""),
----------------
sammccall wrote:
> I think this should be "ns1::ns2::", as we use scope internally.
> This means we can simply concatenate parts to form a qname.
>
> For the current rendering, it's easy to strip ::
should it also be "::" for global namespace ? which would also result in
prefixing any symbol in global namespace with "::" when printing.
================
Comment at: clang-tools-extra/clangd/unittests/XRefsTests.cpp:599
+ /*Definition=*/"void foo()",
+ /*Type=*/llvm::None,
+ /*ReturnType=*/std::string("void"),
----------------
sammccall wrote:
> It would be nice to add `void()` or `void (&)()` or so if it's easy.
> This is what `:YcmCompleter GetType` would show
just put the type without any parameter names, but I am not sure whether users
would want that. I believe people find current hover behavior a lot more useful
then just showing type(which is done by libclang)
================
Comment at: clang-tools-extra/clangd/unittests/XRefsTests.cpp:782
+ /*Definition=*/
+ "auto lamb = [&bar](int T, bool B) -> bool {\n return T && B && "
+ "bar;\n}",
----------------
sammccall wrote:
> is it easy to omit the body?
yes, sent out D62487
================
Comment at: clang-tools-extra/clangd/unittests/XRefsTests.cpp:951
)cpp",
- "Declared in namespace ns1\n\nstruct MyClass {}",
+ "Declared in ns1\n\nstruct MyClass {}",
},
----------------
sammccall wrote:
> note that if you want to it's easy to keep "Declared in namespace" - the
> LocalScope is empty.
> (Though we can't provide this info for non-namespace containers)
I believe it doesn't make sense to add only one, so leaving it until we hear
from users that they need the kind information
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61497/new/
https://reviews.llvm.org/D61497
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits