(self, o: RefExpr)
| 638 | # Expressions |
| 639 | |
| 640 | def process_global_ref_expr(self, o: RefExpr) -> None: |
| 641 | if o.fullname: |
| 642 | self.add_dependency(make_trigger(o.fullname)) |
| 643 | |
| 644 | # If this is a reference to a type, generate a dependency to its |
| 645 | # constructor. |
| 646 | # IDEA: Avoid generating spurious dependencies for except statements, |
| 647 | # class attribute references, etc., if performance is a problem. |
| 648 | typ = get_proper_type(self.type_map.get(o)) |
| 649 | if isinstance(typ, FunctionLike) and typ.is_type_obj(): |
| 650 | class_name = typ.type_object().fullname |
| 651 | self.add_dependency(make_trigger(class_name + ".__init__")) |
| 652 | self.add_dependency(make_trigger(class_name + ".__new__")) |
| 653 | |
| 654 | def visit_name_expr(self, o: NameExpr) -> None: |
| 655 | if o.kind == LDEF: |
no test coverage detected