MCPcopy Create free account
hub / github.com/apache/fory / collect_message_includes

Method collect_message_includes

compiler/fory_compiler/generators/cpp.py:363–383  ·  view source on GitHub ↗

Collect includes for a message and its nested types recursively.

(self, message: Message, includes: Set[str])

Source from the content-addressed store, hash-verified

361 )
362
363 def collect_message_includes(self, message: Message, includes: Set[str]):
364 """Collect includes for a message and its nested types recursively."""
365 for field in message.fields:
366 weak_ref = self.get_field_weak_ref(field)
367 element_weak_ref = self.get_element_weak_ref(field)
368 if isinstance(field.field_type, MapType):
369 weak_ref = self.get_map_value_weak_ref(field)
370 self.collect_includes(
371 field.field_type,
372 field.optional,
373 field.ref,
374 includes,
375 field.element_optional,
376 field.element_ref,
377 weak_ref,
378 element_weak_ref,
379 )
380 for nested_msg in message.nested_messages:
381 self.collect_message_includes(nested_msg, includes)
382 for nested_union in message.nested_unions:
383 self.collect_union_includes(nested_union, includes)
384
385 def collect_union_includes(self, union: Union, includes: Set[str]):
386 """Collect includes for a union and its cases."""

Callers 1

generate_headerMethod · 0.95

Calls 5

get_field_weak_refMethod · 0.95
get_element_weak_refMethod · 0.95
collect_includesMethod · 0.95

Tested by

no test coverage detected