[PATCH] D139926: [clangd] Add semantic tokens for angle brackets

Nathan Ridge via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 16 11:35:27 PST 2023


nridge added a comment.

Sorry, that was a bad example as it's not actually valid. Here's a slightly modified one:

  template <bool,int>
  class a {};
  
  constexpr int b = 2;
  constexpr int c = 3;
  constexpr int d = 4;
  
  a<b<c,d> e;

The parser knows the first `<` opens a template-param-list because the name before it, `a`, resolves to a template-name, and that the second `<` is a comparison operator because the name before //that//, `b`, does not.

But a native client-side matcher might incorrectly pick the second `<` as the opening angle-bracket to match the `>`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139926



More information about the cfe-commits mailing list