Generate a Go struct.
(
self,
message: Message,
parent_stack: Optional[List[Message]] = None,
)
| 911 | return None |
| 912 | |
| 913 | def generate_message( |
| 914 | self, |
| 915 | message: Message, |
| 916 | parent_stack: Optional[List[Message]] = None, |
| 917 | ) -> List[str]: |
| 918 | """Generate a Go struct.""" |
| 919 | lines = [] |
| 920 | |
| 921 | type_name = self.get_type_name(message.name, parent_stack) |
| 922 | lineage = (parent_stack or []) + [message] |
| 923 | |
| 924 | comment = self.format_type_id_comment(message, "//") |
| 925 | if comment: |
| 926 | lines.append(comment) |
| 927 | lines.append(f"type {type_name} struct {{") |
| 928 | |
| 929 | # Fields |
| 930 | for field in message.fields: |
| 931 | field_lines = self.generate_field(field, lineage) |
| 932 | for line in field_lines: |
| 933 | lines.append(f"\t{line}") |
| 934 | |
| 935 | lines.append("}") |
| 936 | lines.append("") |
| 937 | if not self.get_effective_evolving(message): |
| 938 | lines.append(f"func (*{type_name}) ForyEvolving() bool {{") |
| 939 | lines.append("\treturn false") |
| 940 | lines.append("}") |
| 941 | lines.append("") |
| 942 | lines.append(f"func (m *{type_name}) ToBytes() ([]byte, error) {{") |
| 943 | lines.append("\treturn getFory().Serialize(m)") |
| 944 | lines.append("}") |
| 945 | lines.append("") |
| 946 | lines.append(f"func (m *{type_name}) FromBytes(data []byte) error {{") |
| 947 | lines.append("\treturn getFory().Deserialize(data, m)") |
| 948 | lines.append("}") |
| 949 | |
| 950 | return lines |
| 951 | |
| 952 | def generate_message_with_nested( |
| 953 | self, |
no test coverage detected