class CurrentTranslationUnitAccess(object): def __init__(self, translation_unit_accessor): self._translation_unit_accessor = translation_unit_accessor self._listeners = [] self._worker = SingleResultWorker(self._process) def terminate(self): self._worker.terminate() def file_changed(self, file): self._worker.request(file) def add_listener(self, listener): self._listeners.append(listener) def _process(self, file): def do_it(translation_unit): for listener in self._listeners: listener(translation_unit) self._translation_unit_accessor.clear_caches() self._translation_unit_accessor.translation_unit_do(file, do_it)
def __init__(self, translation_unit_accessor): self._translation_unit_accessor = translation_unit_accessor self._listeners = [] self._worker = SingleResultWorker(self._process)