'Handles Assign node and pick up a variable comment.'

def visit_Assign(self, node):

    try:
        varnames = sum([get_lvar_names(t, self=self.get_self()) for t in node.targets], [])
        current_line = self.get_line(node.lineno)
    except TypeError:
        return
    parser = AfterCommentParser(([current_line[node.col_offset:]] + self.buffers[node.lineno:]))
    parser.parse()
    if (parser.comment and comment_re.match(parser.comment)):
        for varname in varnames:
            self.add_variable_comment(varname, comment_re.sub('\\1', parser.comment))
            self.add_entry(varname)
        return
    if indent_re.match(current_line[:node.col_offset]):
        comment_lines = []
        for i in range((node.lineno - 1)):
            before_line = self.get_line(((node.lineno - 1) - i))
            if comment_re.match(before_line):
                comment_lines.append(comment_re.sub('\\1', before_line))
            else:
                break
        if comment_lines:
            comment = dedent_docstring('\n'.join(reversed(comment_lines)))
            for varname in varnames:
                self.add_variable_comment(varname, comment)
                self.add_entry(varname)
            return
    for varname in varnames:
        self.add_entry(varname)
