sammccall added a comment.

In D138219#3936279 <https://reviews.llvm.org/D138219#3936279>, @hokein wrote:

> Thanks, I like the idea of marking missing-include refs.
>
> I haven't read the code yet, and below are all my findings when I played with 
> the demo html (some of them are unrelated to the current patch, just want to 
> dump all):

Sure thing, here are my notes :-)

> 1. size_t shows duplicated entries, line 465

This is because we're using the same decl-specifier with multiple declarators, 
but the AST doesn't model that. I don't think this is a big deal, we should 
deduplicate before actually displaying/applying findings but no need in this 
too imo.

> 2. we are missing refs in some using declarations (line 31, line32), but line 
> 33 does have a link which seems weird

They are different types of symbol (template vs function), may make a 
difference?

> 3. UI related:
>   - it would be nice to highlight the whole line, if user clicks the line 
> link from the shown-up panel;

Hmm, i think i can do this with CSS3 `:target`. Otherwise I don't think it's 
worth adding extra JS for.

> - for `Included path/to/header.h`, I think adding the `""`/`<>` around the 
> spelling string will be nicer;

Agree, but we don't know which, and i don't think it's worth adding it to the 
library for that purpose only.

> - for main-file symbols, showing (`Header  ASTTests.cpp`) is suboptimal, but 
> I don't have better solution;

I think `MainFile` should be a `Header` variant maybe. (Not just for this)

> 4. The handling of std symbols seems inconsistent:
>   - click on a vector `push_back` will give the mapping `vector` header;
>   - click on the type `std::vector` will give the `iosfwd` header;

At first glance this indeed looks like a bug (not in this patch i guess)

> 5. I was confused why the type `Annotation` has the `Included` file, but not 
> the method call `.code()`, since both shown-up panel are showing 
> `Annotations.h` header, then I realized that the `code` is from the base 
> class `llvm::Annotation`. This brings up a policy question (Not sure it has 
> been discussed before): If we have already included the header of a subclass, 
> and we have some base-class method calls via the subclass object, do we need 
> to insert the header of the base class?

Right, that's silly. I do think policy on member access in general is still a 
bit up in the air.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D138219/new/

https://reviews.llvm.org/D138219

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to