def __init__(self, doc_repo): """Constructor for `BaseExtension`. This should never get called directly. Args: doc_repo: The `doc_repo.DocRepo` instance which documentation is being generated. """ self.doc_repo = doc_repo DocTree.resolve_placeholder_signal.connect( self.__resolve_placeholder_cb) DocTree.update_signal.connect(self.__update_doc_tree_cb) if not hasattr(self, 'formatters'): self.formatters = {"html": HtmlFormatter([])} self.__created_symbols = defaultdict(OrderedSet) self.__package_root = None