Skip to content
  • Nikolai Kosjar's avatar
    Clang: Fix determining current parameter · f25b9cab
    Nikolai Kosjar authored
    
    
    ...for emphasis in the function signature tooltip when doing function
    completion.
    
    Braces, brackets and less/greater were not considered so that arguments
    containing initializer lists, lambda captures or templates could lead to
    the emphasis of no or the wrong parameter:
    
      void foo(VariantType t1, VariantType t2);
    
      void g(int x, int y)
      {
          foo({1,2, // Ops, no parameter emphasized
          foo({1,2}, // Ops, no parameter emphasized
    
          foo([x, y](){}, // Ops, no parameter emphasized
    
          foo(Bar<int, // Ops, second parameter emphasized
          foo(Bar<int, int>, // Ops, no parameter emphasized
      }
    
    Change-Id: I2515fcbd892850b608bd90b35dd348ae522144b2
    Reviewed-by: default avatarMarco Bubke <marco.bubke@theqtcompany.com>
    f25b9cab