'Determine what module to import and what attribute to document.
Returns True and sets *self.modname*, *self.objpath*, *self.fullname*,
*self.args* and *self.retann* if parsing and resolving was successful.'

def parse_name(self):

    try:
        (explicit_modname, path, base, args, retann) = py_ext_sig_re.match(self.name).groups()
    except AttributeError:
        self.directive.warn(('invalid    signature    for    auto%s    (%r)' % (self.objtype, self.name)))
        return False
    if (explicit_modname is not None):
        modname = explicit_modname[:(-2)]
        parents = ((path and path.rstrip('.').split('.')) or [])
    else:
        modname = None
        parents = []
    (self.modname, self.objpath) = self.resolve_name(modname, parents, path, base)
    if (not self.modname):
        return False
    self.args = args
    self.retann = retann
    self.fullname = ((self.modname or '') + ((self.objpath and ('.' + '.'.join(self.objpath))) or ''))
    return True
