(self, o: FuncDef)
| 254 | super().visit_mypy_file(o) |
| 255 | |
| 256 | def visit_func_def(self, o: FuncDef) -> None: |
| 257 | with self.scope.function_scope(o): |
| 258 | target = self.scope.current_target() |
| 259 | if o.type: |
| 260 | if self.is_class and isinstance(o.type, FunctionLike): |
| 261 | signature: Type = bind_self(o.type) |
| 262 | else: |
| 263 | signature = o.type |
| 264 | for trigger in self.get_type_triggers(signature): |
| 265 | self.add_dependency(trigger) |
| 266 | self.add_dependency(trigger, target=make_trigger(target)) |
| 267 | if o.info: |
| 268 | for base in non_trivial_bases(o.info): |
| 269 | # Base class __init__/__new__ doesn't generate a logical |
| 270 | # dependency since the override can be incompatible. |
| 271 | if not self.use_logical_deps() or o.name not in ("__init__", "__new__"): |
| 272 | self.add_dependency(make_trigger(base.fullname + "." + o.name)) |
| 273 | self.add_type_alias_deps(self.scope.current_target()) |
| 274 | super().visit_func_def(o) |
| 275 | variants = set(o.expanded) - {o} |
| 276 | for ex in variants: |
| 277 | if isinstance(ex, FuncDef): |
| 278 | super().visit_func_def(ex) |
| 279 | |
| 280 | def visit_decorator(self, o: Decorator) -> None: |
| 281 | if not self.use_logical_deps(): |
nothing calls this directly
no test coverage detected