Title: [160722] trunk/Tools
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'
             '};', '')
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to