kadircet added a comment.

thanks for doing this! but i believe these look like bugs that should be 
addressed in other components, rather than worked around in hover.

the first example is likely a bug in selection tree, file location corresponds 
to a macro body that's never expanded, which resides inside a namespace (who's 
declaration contains everything within it's braces), hence selection tree 
attributes the selection to the namespace because there's no fine-grained 
children around the cursor.

the second one is likely a bug in ast-traversal logic, i suppose the function 
doesn't get a `TypeSourceInfo` when it is `invalid`, hence we don't get to 
traverse its parameters(children) and therefore assume all the declaration 
belongs to function itself.

---

As for your workaround in hover, it is surprising that no other tests has 
regressed, but in theory `D->getLocation` only corresponds to the main token in 
a declaration (e.g. name of a function), and hover can refer to declarations 
whose names are away from the cursor, e.g. if you are on (closing) parens of a 
function/ctor call.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D83508



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

Reply via email to