def _define( self, collection, name, first_node, last_node=None, message="", confidence=DEFAULT_CONFIDENCE, ignore=None, ): def ignored(lineno): return ((ignore and ignore(self.filename, name)) or _match(name, self.ignore_names) or noqa.ignore_line( self.noqa_lines, lineno, ERROR_CODES[typ])) last_node = last_node or first_node typ = collection.typ first_lineno = lines.get_first_line_number(first_node) if ignored(first_lineno): self._log(f'Ignoring {typ} "{name}"') else: last_lineno = lines.get_last_line_number(last_node) collection.append( Item( name, typ, self.filename, first_lineno, last_lineno, message=message, confidence=confidence, ))
def count_lines(node): """Estimate the number of lines of the given AST node.""" last_lineno = lines.get_last_line_number(node) assert get_last_line_number_slow(node) == last_lineno return last_lineno - lines.get_first_line_number(node) + 1