def Check(self, error, filename, linenum):
if not self.in_a_function:<EOL><INDENT>return<EOL><DEDENT>if Match(r'<STR_LIT>', self.current_function):<EOL><INDENT>base_trigger = self._TEST_TRIGGER<EOL><DEDENT>else:<EOL><INDENT>base_trigger = self._NORMAL_TRIGGER<EOL><DEDENT>trigger = base_trigger * <NUM_LIT:2>**_VerboseLevel()<EOL>if self.lines_in_function > trigger:<EOL><INDENT>error_level = int(math.log(self.lines_in_function / base_trigger, <NUM_LIT:2>))<EOL>if error_level > <NUM_LIT:5>:<EOL><INDENT>error_level = <NUM_LIT:5><EOL><DEDENT>error(filename, linenum, '<STR_LIT>', error_level,<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'  % (<EOL>self.current_function, self.lines_in_function, trigger))<EOL><DEDENT>
Report if too many lines in function body.

        Args:
          error: The function to call with any errors found.
          filename: The name of the current file.
          linenum: The number of the line to check.