- Revision
- 160722
- Author
- [email protected]
- Date
- 2013-12-17 12:22:34 -0800 (Tue, 17 Dec 2013)
Log Message
Update style checker now that ENUM_CLASS is gone
https://bugs.webkit.org/show_bug.cgi?id=125864
Reviewed by Anders Carlsson.
* Scripts/webkitpy/style/checkers/cpp.py:
(_EnumState.process_clean_line):
(check_braces):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(NoNonVirtualDestructorsTest.test_enum_casing.Foo):
(NoNonVirtualDestructorsTest.test_enum_casing):
(NoNonVirtualDestructorsTest.test_enum_casing.Enum123):
(NoNonVirtualDestructorsTest.test_enum_trailing_semicolon.CPP11EnumClass):
(NoNonVirtualDestructorsTest.test_enum_trailing_semicolon.MyEnum):
(WebKitStyleTest.test_braces.CPP11EnumClass):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (160721 => 160722)
--- trunk/Tools/ChangeLog 2013-12-17 20:13:53 UTC (rev 160721)
+++ trunk/Tools/ChangeLog 2013-12-17 20:22:34 UTC (rev 160722)
@@ -1,3 +1,21 @@
+2013-12-17 Alexey Proskuryakov <[email protected]>
+
+ Update style checker now that ENUM_CLASS is gone
+ https://bugs.webkit.org/show_bug.cgi?id=125864
+
+ Reviewed by Anders Carlsson.
+
+ * Scripts/webkitpy/style/checkers/cpp.py:
+ (_EnumState.process_clean_line):
+ (check_braces):
+ * Scripts/webkitpy/style/checkers/cpp_unittest.py:
+ (NoNonVirtualDestructorsTest.test_enum_casing.Foo):
+ (NoNonVirtualDestructorsTest.test_enum_casing):
+ (NoNonVirtualDestructorsTest.test_enum_casing.Enum123):
+ (NoNonVirtualDestructorsTest.test_enum_trailing_semicolon.CPP11EnumClass):
+ (NoNonVirtualDestructorsTest.test_enum_trailing_semicolon.MyEnum):
+ (WebKitStyleTest.test_braces.CPP11EnumClass):
+
2013-12-17 Mario Sanchez Prada <[email protected]>
[ATK] Expose accessibility objects for <dl>, <dt> and <dd>
Modified: trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py (160721 => 160722)
--- trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py 2013-12-17 20:13:53 UTC (rev 160721)
+++ trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py 2013-12-17 20:22:34 UTC (rev 160722)
@@ -1212,7 +1212,7 @@
expr_all_uppercase = r'\s*[A-Z0-9_]+\s*(?:=\s*[a-zA-Z0-9]+\s*)?,?\s*$'
expr_starts_lowercase = r'\s*[a-z]'
expr_enum_end = r'}\s*(?:[a-zA-Z0-9]+\s*(?:=\s*[a-zA-Z0-9]+)?)?\s*;\s*'
- expr_enum_start = r'\s*(?:enum(?:\s+[a-zA-Z0-9]+)?|ENUM_CLASS\s*\([a-zA-Z0-9]+\))\s*\{?\s*'
+ expr_enum_start = r'\s*(?:enum(?:\s+class)?(?:\s+[a-zA-Z0-9]+)?)\s*\{?\s*'
if self.in_enum_decl:
if match(r'\s*' + expr_enum_end + r'$', line):
self.in_enum_decl = False
@@ -2364,13 +2364,13 @@
# We also allow '#' for #endif and '=' for array initialization.
previous_line = get_previous_non_blank_line(clean_lines, line_number)[0]
if ((not search(r'[;:}{)=]\s*$|\)\s*((const|OVERRIDE)\s*)*\s*$', previous_line)
- or search(r'\b(if|for|foreach|while|switch|else|NS_ENUM|ENUM_CLASS)\b', previous_line))
+ or search(r'\b(if|for|foreach|while|switch|else|NS_ENUM)\b', previous_line))
and previous_line.find('#') < 0):
error(line_number, 'whitespace/braces', 4,
'This { should be at the end of the previous line')
elif (search(r'\)\s*(((const|OVERRIDE)\s*)*\s*)?{\s*$', line)
and line.count('(') == line.count(')')
- and not search(r'\b(if|for|foreach|while|switch|NS_ENUM|ENUM_CLASS)\b', line)
+ and not search(r'\b(if|for|foreach|while|switch|NS_ENUM)\b', line)
and not match(r'\s+[A-Z_][A-Z_0-9]+\b', line)):
error(line_number, 'whitespace/braces', 4,
'Place brace on its own line for function definitions.')
@@ -2414,7 +2414,7 @@
break
if (search(r'{.*}\s*;', line)
and line.count('{') == line.count('}')
- and not search(r'struct|class|enum|ENUM_CLASS|\s*=\s*{', line)):
+ and not search(r'struct|class|enum|\s*=\s*{', line)):
error(line_number, 'readability/braces', 4,
"You don't need a ; after a }")
Modified: trunk/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py (160721 => 160722)
--- trunk/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py 2013-12-17 20:13:53 UTC (rev 160721)
+++ trunk/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py 2013-12-17 20:22:34 UTC (rev 160722)
@@ -3313,20 +3313,20 @@
self.assert_multi_line_lint(
'''\
- ENUM_CLASS(Foo) {
+ enum class Foo {
FOO_ONE = 1,
FOO_TWO
};
- ENUM_CLASS(Foo) { FOO_ONE };
- ENUM_CLASS(Foo) {FooOne, fooTwo};
- ENUM_CLASS(Foo) {
+ enum class Foo { FOO_ONE };
+ enum class Foo {FooOne, fooTwo};
+ enum class Foo {
FOO_ONE
};''',
['enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4]'] * 5)
self.assert_multi_line_lint(
'''\
- ENUM_CLASS(Foo) {
+ enum class Foo {
fooOne = 1,
FooTwo = 2
};''',
@@ -3334,11 +3334,11 @@
self.assert_multi_line_lint(
'''\
- ENUM_CLASS(Foo) {
+ enum class Foo {
FooOne = 1,
FooTwo
} fooVar = FooOne;
- ENUM_CLASS(Enum123) {
+ enum class Enum123 {
FooOne,
FooTwo = FooOne,
};''',
@@ -3370,10 +3370,10 @@
'};',
'')
self.assert_lint(
- 'ENUM_CLASS(CPP11EnumClass) { Value1, Value2 };',
+ 'enum class CPP11EnumClass { Value1, Value2 };',
'')
self.assert_lint(
- 'ENUM_CLASS(MyEnum) {\n'
+ 'enum class MyEnum {\n'
' Value1,\n'
' Value2\n'
'};',
@@ -4303,14 +4303,14 @@
' 1\n'
'};', '')
self.assert_multi_line_lint(
- 'ENUM_CLASS(CPP11EnumClass)\n'
+ 'enum class CPP11EnumClass\n'
'{\n'
' Value1,\n'
' Value2\n'
'};',
'This { should be at the end of the previous line [whitespace/braces] [4]')
self.assert_multi_line_lint(
- 'ENUM_CLASS(CPP11EnumClass) {\n'
+ 'enum class CPP11EnumClass {\n'
' Value1,\n'
' Value2\n'
'};', '')