[cpplint] Fix regexp for class decorators

This also allows digits in class decorators, to also match macros like
V8_EXPORT_PRIVATE.

Note: I uploaded a pull request for the (previous) upstream at
https://github.com/google/styleguide/pull/422, but then was told that
that repository is not maintained any more.

R=jochen@chromium.org

Bug: chromium:916550

Change-Id: I24cd1829b794b296be8e0c2829271c746751ee1c
Reviewed-on: https://chromium-review.googlesource.com/c/1383472
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
changes/72/1383472/5
Clemens Hammacher 7 years ago committed by Commit Bot
parent a3eb0bb167
commit 2cc6e25536

@ -67,5 +67,8 @@ See also [open bugs](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=co
### cpplint.py
To update cpplint.py, please submit the change upstream first at
https://github.com/google/styleguide/tree/gh-pages/cpplint then copy it down.
Until 2018, our `cpplint.py` was a copy of the upstream version at
https://github.com/google/styleguide/tree/gh-pages/cpplint. Unfortunately, that
repository is not maintained any more.
If you want to update `cpplint.py` in `depot_tools`, just upload a patch to do
so. We will figure out a long-term strategy via issue https://crbug.com/916550.

2
cpplint.py vendored

@ -2530,7 +2530,7 @@ class NestingState(object):
# };
class_decl_match = Match(
r'^(\s*(?:template\s*<[\w\s<>,:]*>\s*)?'
r'(class|struct)\s+(?:[A-Z_]+\s+)*(\w+(?:::\w+)*))'
r'(class|struct)\s+(?:[A-Z0-9_]+\s+)*(\w+(?:::\w+)*))'
r'(.*)$', line)
if (class_decl_match and
(not self.stack or self.stack[-1].open_parentheses == 0)):

Loading…
Cancel
Save