| 323 | return encoded_meta_string |
| 324 | |
| 325 | def get_or_create_encoded_meta_string(self, data: bytes, hashcode: int) -> EncodedMetaString: |
| 326 | if len(data) == 0: |
| 327 | return EncodedMetaString(b"", 0) |
| 328 | key = (hashcode, data) |
| 329 | encoded_meta_string = self._encoded_metastrings.get(key) |
| 330 | if encoded_meta_string is None: |
| 331 | encoded_meta_string = EncodedMetaString(data, hashcode) |
| 332 | if len(self._encoded_metastrings) < MAX_CACHED_ENCODED_META_STRINGS: |
| 333 | self._encoded_metastrings[key] = encoded_meta_string |
| 334 | return encoded_meta_string |
| 335 | |
| 336 | |
| 337 | class TypeResolver: |