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

Method generate_registration

compiler/fory_compiler/generators/rust.py:1621–1650  ·  view source on GitHub ↗

Generate the Fory registration function.

(self)

Source from the content-addressed store, hash-verified

1619 return "::fory::RcWeak" if weak_ref else "::std::rc::Rc"
1620
1621 def generate_registration(self) -> List[str]:
1622 """Generate the Fory registration function."""
1623 lines = []
1624
1625 lines.append(
1626 "pub fn register_types(fory: &mut ::fory::Fory) -> ::std::result::Result<(), ::fory::Error> {"
1627 )
1628
1629 # Register enums (top-level)
1630 for enum in self.schema.enums:
1631 if self.is_imported_type(enum):
1632 continue
1633 self.generate_enum_registration(lines, enum, None)
1634
1635 # Register unions (top-level)
1636 for union in self.schema.unions:
1637 if self.is_imported_type(union):
1638 continue
1639 self.generate_union_registration(lines, union, None)
1640
1641 # Register messages (including nested types)
1642 for message in self.schema.messages:
1643 if self.is_imported_type(message):
1644 continue
1645 self.generate_message_registration(lines, message, None)
1646
1647 lines.append(" ::std::result::Result::Ok(())")
1648 lines.append("}")
1649
1650 return lines
1651
1652 def generate_fory_helpers(self) -> List[str]:
1653 lines: List[str] = []

Callers 1

generate_moduleMethod · 0.95

Calls 5

is_imported_typeMethod · 0.95
appendMethod · 0.45

Tested by

no test coverage detected