(self, temporary: bool = False)
| 3096 | return self.manager.load_fine_grained_deps(self.id) |
| 3097 | |
| 3098 | def load_tree(self, temporary: bool = False) -> None: |
| 3099 | if self.manager.parallel_worker: |
| 3100 | assert self.path is not None |
| 3101 | _, data_file, _ = get_cache_names(self.id, self.path, self.manager.options) |
| 3102 | else: |
| 3103 | assert ( |
| 3104 | self.meta is not None |
| 3105 | ), "Internal error: this method must be called only for cached modules" |
| 3106 | data_file = self.meta.data_file |
| 3107 | |
| 3108 | data: bytes | dict[str, Any] | None |
| 3109 | if self.options.fixed_format_cache: |
| 3110 | data = _load_ff_file(data_file, self.manager, "Could not load tree: ", None) |
| 3111 | else: |
| 3112 | data = _load_json_file(data_file, self.manager, "Load tree ", "Could not load tree: ") |
| 3113 | if data is None: |
| 3114 | return |
| 3115 | |
| 3116 | t0 = time.time() |
| 3117 | # TODO: Assert data file wasn't changed. |
| 3118 | if isinstance(data, bytes): |
| 3119 | data_io = ReadBuffer(data) |
| 3120 | self.tree = MypyFile.read(data_io) |
| 3121 | else: |
| 3122 | self.tree = MypyFile.deserialize(data) |
| 3123 | t1 = time.time() |
| 3124 | self.manager.add_stats(deserialize_time=t1 - t0) |
| 3125 | if not temporary: |
| 3126 | self.manager.modules[self.id] = self.tree |
| 3127 | self.manager.add_stats(fresh_trees=1) |
| 3128 | |
| 3129 | def fix_cross_refs(self) -> None: |
| 3130 | assert self.tree is not None, "Internal error: method must be called on parsed file only" |
no test coverage detected