(
self,
message: Message,
lineage: List[Message],
indent: int,
)
| 1118 | return lines |
| 1119 | |
| 1120 | def generate_struct_init( |
| 1121 | self, |
| 1122 | message: Message, |
| 1123 | lineage: List[Message], |
| 1124 | indent: int, |
| 1125 | ) -> List[str]: |
| 1126 | ind = self.indent_str * indent |
| 1127 | lines: List[str] = [] |
| 1128 | if not message.fields: |
| 1129 | lines.append(f"{ind}public init() {{}}") |
| 1130 | return lines |
| 1131 | |
| 1132 | params: List[str] = [] |
| 1133 | assignments: List[str] = [] |
| 1134 | used_names: Set[str] = set() |
| 1135 | for field in message.fields: |
| 1136 | field_name = self.safe_member_name(field.name) |
| 1137 | suffix = 1 |
| 1138 | base_name = field_name |
| 1139 | while field_name in used_names: |
| 1140 | field_name = f"{base_name}{suffix}" |
| 1141 | suffix += 1 |
| 1142 | used_names.add(field_name) |
| 1143 | |
| 1144 | field_type = self.field_swift_type(field, lineage) |
| 1145 | default_expr = self.field_default_expression(field, field_type) |
| 1146 | if default_expr is None: |
| 1147 | default_expr = "nil" |
| 1148 | params.append(f"{field_name}: {field_type} = {default_expr}") |
| 1149 | assignments.append(f"self.{field_name} = {field_name}") |
| 1150 | |
| 1151 | lines.append(f"{ind}public init(") |
| 1152 | for i, param in enumerate(params): |
| 1153 | comma = "," if i < len(params) - 1 else "" |
| 1154 | lines.append(f"{ind}{self.indent_str}{param}{comma}") |
| 1155 | lines.append(f"{ind}) {{") |
| 1156 | for assignment in assignments: |
| 1157 | lines.append(f"{ind}{self.indent_str}{assignment}") |
| 1158 | lines.append(f"{ind}}}") |
| 1159 | return lines |
| 1160 | |
| 1161 | def generate_bytes_methods(self, type_name: str, indent: int) -> List[str]: |
| 1162 | ind = self.indent_str * indent |
no test coverage detected