[webkit-reviews] review denied: [Bug 27544] cpplint generates false positives for primary includes : [Attachment 33264] Fix cpplint generating false positives for primary includes
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jul 22 09:30:09 PDT 2009
Adam Treat <treat at kde.org> has denied Jakob Petsovits <jpetso at gmx.at>'s request
for review:
Bug 27544: cpplint generates false positives for primary includes
https://bugs.webkit.org/show_bug.cgi?id=27544
Attachment 33264: Fix cpplint generating false positives for primary includes
https://bugs.webkit.org/attachment.cgi?id=33264&action=review
------- Additional Comments from Adam Treat <treat at kde.org>
> Fix false positives for instances when cpplint would
> normally classify multiple includes as primary: After
> the first primary include, classify all other ones as
> "other" includes even if they look like primary ones.
Almost right I think. Rather, what we want to do is make the primary header
check even more strict after we've found the first one IMO.
> + self._visited_primary_section = False
> + self.header_types = dict();
> +
> + def visited_primary_section(self):
> + return self._visited_primary_section
Why did you add 'self.header_types = dic();'
> if target_base.startswith(include_base):
> - return _PRIMARY_HEADER
> + # If we already had a primary header before, chances are that this
one
> + # is a false positive (e.g. "ScrollbarThemeWince.h" and
"Scrollbar.h"
> + # might both be classified as primary header, but only the first one
> + # is actually it).
> + if not include_state.visited_primary_section():
> + return _PRIMARY_HEADER
First, you could have combined the two 'if's'.
Second, I'm not sure this is what we want. Like I said above, I think we want
to make the header check more strict if we've already found the first one. Make
it check for exact match of target_base and include_base if we've already found
one. And add a testcase for this.
> + include_state.header_types[line_number] = header_type
Purpose?
> - previous_include = previous_match.group(2)
> - previous_header_type = _classify_include(filename,
previous_include, (previous_match.group(1) == '<'))
> + previous_header_type =
include_state.header_types[previous_line_number]
Ahh, now I see. Perhaps is ok, but not strictly necessary for this patch.
> + False, include_state))
> + # Tricky example where both includes might be classified as primary.
> + self.assert_language_rules_check('ScrollbarThemeWince.cpp',
> + '#include "config.h"\n'
> + '#include
"ScrollbarThemeWince.h"\n'
> + '\n'
> + '#include "Scrollbar.h"\n',
> + '')
Otherwise looks good I think. r- for now.
More information about the webkit-reviews
mailing list