Generate a Rust module with all types.
(self)
| 632 | return lines |
| 633 | |
| 634 | def generate_module(self) -> GeneratedFile: |
| 635 | """Generate a Rust module with all types.""" |
| 636 | lines = [] |
| 637 | |
| 638 | # License header |
| 639 | lines.append(self.get_license_header("//")) |
| 640 | lines.append("") |
| 641 | |
| 642 | # Generate enums (top-level) |
| 643 | for enum in self.schema.enums: |
| 644 | if self.is_imported_type(enum): |
| 645 | continue |
| 646 | lines.extend(self.generate_enum(enum)) |
| 647 | lines.append("") |
| 648 | |
| 649 | # Generate unions (top-level) |
| 650 | for union in self.schema.unions: |
| 651 | if self.is_imported_type(union): |
| 652 | continue |
| 653 | lines.extend(self.generate_union(union)) |
| 654 | lines.append("") |
| 655 | |
| 656 | # Generate modules for nested types |
| 657 | for message in self.schema.messages: |
| 658 | if self.is_imported_type(message): |
| 659 | continue |
| 660 | module_lines = self.generate_nested_module(message) |
| 661 | if module_lines: |
| 662 | lines.extend(module_lines) |
| 663 | lines.append("") |
| 664 | |
| 665 | # Generate messages (top-level only) |
| 666 | for message in self.schema.messages: |
| 667 | if self.is_imported_type(message): |
| 668 | continue |
| 669 | lines.extend(self.generate_message(message)) |
| 670 | lines.append("") |
| 671 | |
| 672 | # Generate registration function |
| 673 | lines.extend(self.generate_registration()) |
| 674 | lines.append("") |
| 675 | lines.extend(self.generate_fory_helpers()) |
| 676 | lines.append("") |
| 677 | |
| 678 | return GeneratedFile( |
| 679 | path=f"{self.get_module_name()}.rs", |
| 680 | content="\n".join(lines), |
| 681 | ) |
| 682 | |
| 683 | def message_has_nested_enum(self, message: Message) -> bool: |
| 684 | if message.nested_enums: |
no test coverage detected