瀏覽代碼

Add cpplint support for space before [[attributes]]

Cpplint.py supports checking for spaces in front of square brackets;
this is a style violation in most cases (with the typical case being
arrays), but there are already situations where this rule is skipped
for the square bracket used for lambda captures. We add another such
exclusion here for the case of c++ attributes.

Change-Id: I2d4f972be29f5427cb8d855787c90dfa5d610e86
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2151125
Commit-Queue: Derek Morris <demorri@microsoft.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Derek Morris 5 年之前
父節點
當前提交
b8265f103a
共有 1 個文件被更改,包括 5 次插入2 次删除
  1. 5 2
      cpplint.py

+ 5 - 2
cpplint.py

@@ -3161,8 +3161,11 @@ def CheckSpacing(filename, clean_lines, linenum, nesting_state, error):
   line = clean_lines.elided[linenum]
 
   # You shouldn't have spaces before your brackets, except maybe after
-  # 'delete []' or 'return []() {};'
-  if Search(r'\w\s+\[', line) and not Search(r'(?:delete|return)\s+\[', line):
+  # 'delete []' or 'return []() {};', or in the case of c++ attributes
+  # like 'class [[clang::lto_visibility_public]] MyClass'.
+  if (Search(r'\w\s+\[', line)
+      and not Search(r'(?:delete|return)\s+\[', line)
+      and not Search(r'\s+\[\[', line)):
     error(filename, linenum, 'whitespace/braces', 5,
           'Extra space before [')