| 1234567891011121314151617181920212223242526 |
- """AST triggers that are used for fine-grained dependency handling."""
- from __future__ import annotations
- from typing import Final
- # Used as a suffix for triggers to handle "from m import *" dependencies (see also
- # make_wildcard_trigger)
- WILDCARD_TAG: Final = "[wildcard]"
- def make_trigger(name: str) -> str:
- return f"<{name}>"
- def make_wildcard_trigger(module: str) -> str:
- """Special trigger fired when any top-level name is changed in a module.
- Note that this is different from a module trigger, as module triggers are only
- fired if the module is created, deleted, or replaced with a non-module, whereas
- a wildcard trigger is triggered for namespace changes.
- This is used for "from m import *" dependencies.
- """
- return f"<{module}{WILDCARD_TAG}>"
|