Added 3 new checks related to virtual, override, and final specifiers:
1. When "override" is present, "virtual" is redundant.
2. When "final" is present, "virtual" is redundant.
3. When "final" is present, "override" is redundant.
Inspiration was taken from current version of cpplint.py, from which our checker originates, but implementation of these checks is different.
Created attachment 272852 [details]
Comment on attachment 272852 [details]
This patch does not cover cases when declaration is definition.
Created attachment 272995 [details]
(In reply to comment #0)
> 3. When "final" is present, "override" is redundant.
Is that true? I didn’t realize. Will the code fail to compile if we say final but it’s not an override? My global replace did not try to address this case, but I can do that now too.
Yes, standard says so. I've also checked clang 3.7 and g++ 4.8.
Comment on attachment 272995 [details]
Clearing flags on attachment: 272995
Committed r197567: <http://trac.webkit.org/changeset/197567>
All reviewed patches have been landed. Closing bug.