| # Copyright (C) 2013 University of Szeged. All rights reserved. |
| # Copyright (C) 2013 Samsung Electronics. All rights reserved. |
| # |
| # Redistribution and use in source and binary forms, with or without |
| # modification, are permitted provided that the following conditions |
| # are met: |
| # 1. Redistributions of source code must retain the above copyright |
| # notice, this list of conditions and the following disclaimer. |
| # 2. Redistributions in binary form must reproduce the above copyright |
| # notice, this list of conditions and the following disclaimer in the |
| # documentation and/or other materials provided with the distribution. |
| # |
| # THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF SZEGED ``AS IS'' AND ANY |
| # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
| # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UNIVERSITY OF SZEGED OR |
| # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
| # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
| # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
| # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
| # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| |
| """Checks WebKit style for .messages.in files.""" |
| |
| import re |
| from common import TabChecker |
| |
| |
| class MessagesInChecker(object): |
| |
| """Processes .messages.in lines for checking style.""" |
| |
| def __init__(self, file_path, handle_style_error): |
| self.file_path = file_path |
| self.handle_style_error = handle_style_error |
| self._tab_checker = TabChecker(file_path, handle_style_error) |
| |
| def check(self, lines): |
| self._tab_checker.check(lines) |
| self.check_WTF_prefix(lines) |
| |
| def check_WTF_prefix(self, lines): |
| comment = re.compile('^\s*#') |
| for line_number, line in enumerate(lines): |
| if not comment.match(line) and 'WTF::' in line: |
| self.handle_style_error(line_number + 1, |
| 'build/messagesin/wtf', 5, |
| 'Line contains WTF:: prefix.') |