def _compute_dependencies(self):
dm = self.__dep_map = {None: []}<EOL>reqs = []<EOL>for req in self._parsed_pkg_info.get_all('<STR_LIT>') or []:<EOL><INDENT>reqs.extend(parse_requirements(req))<EOL><DEDENT>def reqs_for_extra(extra):<EOL><INDENT>for req in reqs:<EOL><INDENT>if not req.marker or req.marker.evaluate({'<STR_LIT>': extra}):<EOL><INDENT>yield req<EOL><DEDENT><DEDENT><DEDENT>common = frozenset(reqs_for_extra(None))<EOL>dm[None].extend(common)<EOL>for extra in self._parsed_pkg_info.get_all('<STR_LIT>') or []:<EOL><INDENT>s_extra = safe_extra(extra.strip())<EOL>dm[s_extra] = list(frozenset(reqs_for_extra(extra)) - common)<EOL><DEDENT>return dm<EOL>
Recompute this distribution's dependencies.