def CheckParenthesisSpacing(filename, clean_lines, linenum, error):
line = clean_lines.elided[linenum]<EOL>match = Search(r'<STR_LIT>', line)<EOL>if match:<EOL><INDENT>error(filename, linenum, '<STR_LIT>', <NUM_LIT:5>,<EOL>'<STR_LIT>' % match.group(<NUM_LIT:1>))<EOL><DEDENT>match = Search(r'<STR_LIT>'<EOL>r'<STR_LIT>',<EOL>line)<EOL>if match:<EOL><INDENT>if len(match.group(<NUM_LIT:2>)) != len(match.group(<NUM_LIT:4>)):<EOL><INDENT>if not (match.group(<NUM_LIT:3>) == '<STR_LIT:;>' and<EOL>len(match.group(<NUM_LIT:2>)) == <NUM_LIT:1> + len(match.group(<NUM_LIT:4>)) or<EOL>not match.group(<NUM_LIT:2>) and Search(r'<STR_LIT>', line)):<EOL><INDENT>error(filename, linenum, '<STR_LIT>', <NUM_LIT:5>,<EOL>'<STR_LIT>' % match.group(<NUM_LIT:1>))<EOL><DEDENT><DEDENT>if len(match.group(<NUM_LIT:2>)) not in [<NUM_LIT:0>, <NUM_LIT:1>]:<EOL><INDENT>error(filename, linenum, '<STR_LIT>', <NUM_LIT:5>,<EOL>'<STR_LIT>' %<EOL>match.group(<NUM_LIT:1>))<EOL><DEDENT><DEDENT>
Checks for horizontal spacing around parentheses.

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