[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

commit-queue at webkit.org commit-queue at webkit.org
Wed Dec 22 11:33:15 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 8f3b53b84802864fa57a8bd42c98ec76cf07fe20
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jul 29 03:36:41 2010 +0000

    2010-07-28  Kenichi Ishibashi  <bashi at google.com>
    
            Reviewed by Shinichiro Hamaji.
    
            Fixed <https://bugs.webkit.org/show_bug.cgi?id=33814>
            check-webkit-style gives false positives in single-line functions.
    
            * Scripts/webkitpy/style/checkers/cpp.py:
            * Scripts/webkitpy/style/checkers/cpp_unittest.py:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64263 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index ce581dd..7aa3128 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,13 @@
+2010-07-28  Kenichi Ishibashi  <bashi at google.com>
+
+        Reviewed by Shinichiro Hamaji.
+
+        Fixed <https://bugs.webkit.org/show_bug.cgi?id=33814>
+        check-webkit-style gives false positives in single-line functions.
+
+        * Scripts/webkitpy/style/checkers/cpp.py:
+        * Scripts/webkitpy/style/checkers/cpp_unittest.py:
+
 2010-07-28  Darin Adler  <darin at apple.com>
 
         Reviewed by Sam Weinig.
diff --git a/WebKitTools/Scripts/webkitpy/style/checkers/cpp.py b/WebKitTools/Scripts/webkitpy/style/checkers/cpp.py
index ebb792d..770ab40 100644
--- a/WebKitTools/Scripts/webkitpy/style/checkers/cpp.py
+++ b/WebKitTools/Scripts/webkitpy/style/checkers/cpp.py
@@ -1920,7 +1920,7 @@ def get_line_width(line):
     return len(line)
 
 
-def check_style(clean_lines, line_number, file_extension, file_state, error):
+def check_style(clean_lines, line_number, file_extension, class_state, file_state, error):
     """Checks rules from the 'C++ style rules' section of cppguide.html.
 
     Most of these rules are hard to test (naming, comment style), but we
@@ -1931,6 +1931,8 @@ def check_style(clean_lines, line_number, file_extension, file_state, error):
       clean_lines: A CleansedLines instance containing the file.
       line_number: The number of the line to check.
       file_extension: The extension (without the dot) of the filename.
+      class_state: A _ClassState instance which maintains information about
+                   the current stack of nested class declarations being parsed.
       file_state: A _FileState instance which maintains information about
                   the state of things in the file.
       error: The function to call with any errors found.
@@ -1991,6 +1993,10 @@ def check_style(clean_lines, line_number, file_extension, file_state, error):
         and not ((cleansed_line.find('case ') != -1
                   or cleansed_line.find('default:') != -1)
                  and cleansed_line.find('break;') != -1)
+        # Also it's ok to have many commands in trivial single-line accessors in class definitions.
+        and not (match(r'.*\(.*\).*{.*.}', line)
+                 and class_state.classinfo_stack
+                 and line.count('{') == line.count('}'))
         and not cleansed_line.startswith('#define ')):
         error(line_number, 'whitespace/newline', 4,
               'More than one command on the same line')
@@ -2845,7 +2851,7 @@ def process_line(filename, file_extension,
     if search(r'\bNOLINT\b', raw_lines[line]):  # ignore nolint lines
         return
     check_for_multiline_comments_and_strings(clean_lines, line, error)
-    check_style(clean_lines, line, file_extension, file_state, error)
+    check_style(clean_lines, line, file_extension, class_state, file_state, error)
     check_language(filename, clean_lines, line, file_extension, include_state,
                    error)
     check_for_non_standard_constructs(clean_lines, line, class_state, error)
diff --git a/WebKitTools/Scripts/webkitpy/style/checkers/cpp_unittest.py b/WebKitTools/Scripts/webkitpy/style/checkers/cpp_unittest.py
index b5584d0..ee829aa 100644
--- a/WebKitTools/Scripts/webkitpy/style/checkers/cpp_unittest.py
+++ b/WebKitTools/Scripts/webkitpy/style/checkers/cpp_unittest.py
@@ -164,7 +164,7 @@ class CppStyleTestBase(unittest.TestCase):
         class_state = cpp_style._ClassState()
         file_state = cpp_style._FileState()
         for i in xrange(lines.num_lines()):
-            cpp_style.check_style(lines, i, file_extension, file_state, error_collector)
+            cpp_style.check_style(lines, i, file_extension, class_state, file_state, error_collector)
             cpp_style.check_for_non_standard_constructs(lines, i, class_state,
                                                         error_collector)
         class_state.check_finished(error_collector)
@@ -2594,6 +2594,19 @@ class NoNonVirtualDestructorsTest(CppStyleTestBase):
         self.assert_multi_line_lint(
             'class Foo { void foo(); };',
             'More than one command on the same line  [whitespace/newline] [4]')
+        self.assert_multi_line_lint(
+            'class MyClass {\n'
+            '    int getIntValue() { ASSERT(m_ptr); return *m_ptr; }\n'
+            '};\n',
+            '')
+        self.assert_multi_line_lint(
+            'class MyClass {\n'
+            '    int getIntValue()\n'
+            '    {\n'
+            '        ASSERT(m_ptr); return *m_ptr;\n'
+            '    }\n'
+            '};\n',
+            'More than one command on the same line  [whitespace/newline] [4]')
 
         self.assert_multi_line_lint(
             '''class Qualified::Goo : public Foo {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list