mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-27 20:25:44 +00:00
c6373306f8
Virtual function declarations should specify only one of `virtual`, `final`, or `override`, as per the Mozilla C++ style guide: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style This lint warns about: virtual void Bad1() final void Bad2() final override void Bad3() override final Caveats: This lint doesn't warn about `virtual void NotBad() override` at this time because there are 8000+ instances. It also doesn't warn about function declarations that span multiple lines because the regex can't match across line breaks. MozReview-Commit-ID: LcBsOAKKgz7 --HG-- extra : rebase_source : 4da72ffac59acdc9796e3f540f24bb97af989cd0
32 lines
1.0 KiB
YAML
32 lines
1.0 KiB
YAML
---
|
|
cpp-virtual-final:
|
|
description: "Virtual function declarations should specify only one of
|
|
`virtual`, `final`, or `override`"
|
|
level: warning
|
|
include: ['.']
|
|
exclude:
|
|
# Third-party code with cpp-virtual-final warnings:
|
|
- gfx/angle
|
|
- gfx/skia
|
|
- media/webrtc/trunk
|
|
- security/sandbox/chromium
|
|
extensions: ['cpp', 'h', 'mm']
|
|
type: regex
|
|
#
|
|
# This lint warns about:
|
|
#
|
|
# virtual void Bad1() final
|
|
# void Bad2() final override
|
|
# void Bad3() override final
|
|
#
|
|
# Caveats: This lint ...
|
|
#
|
|
# * Doesn't warn about `virtual void NotBad() override` at this time
|
|
# because there are 8000+ instances.
|
|
#
|
|
# * Doesn't warn about function declarations that span multiple lines
|
|
# because the regex can't match across line breaks.
|
|
#
|
|
# virtual ) final | final override | override final
|
|
payload: ^ *virtual .+\).+\bfinal\b|\bfinal +override\b|\boverride +final\b
|