(nodes: List[Tuple[str, Node]])
| 47 | |
| 48 | |
| 49 | def get_deps(nodes: List[Tuple[str, Node]]) -> Dict[str, Set[str]]: |
| 50 | |
| 51 | def dfs_get_deps(node: Node, deps: Set[str]) -> None: |
| 52 | for child in node.children: |
| 53 | if child.type == IDENTIFIER_TYPE: |
| 54 | deps.add(child.text.decode('utf8')) |
| 55 | else: |
| 56 | dfs_get_deps(child, deps) |
| 57 | |
| 58 | name2deps = {} |
| 59 | for name, node in nodes: |
| 60 | deps = set() |
| 61 | dfs_get_deps(node, deps) |
| 62 | name2deps[name] = deps |
| 63 | return name2deps |
| 64 | |
| 65 | |
| 66 | def get_function_dependency(entrypoint: str, |
no test coverage detected