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

Method generate_enum

compiler/fory_compiler/generators/csharp.py:806–823  ·  view source on GitHub ↗
(self, enum: Enum, indent: int = 0)

Source from the content-addressed store, hash-verified

804 return f"global::{namespace_name}.{type_name}"
805
806 def generate_enum(self, enum: Enum, indent: int = 0) -> List[str]:
807 lines: List[str] = []
808 ind = self.indent_str * indent
809 comment = self.format_type_id_comment(enum, f"{ind}//")
810 if comment:
811 lines.append(comment)
812 lines.append(f"{ind}[ForyEnum]")
813 lines.append(f"{ind}public enum {self.safe_type_identifier(enum.name)}")
814 lines.append(f"{ind}{{")
815
816 for i, value in enumerate(enum.values):
817 comma = "," if i < len(enum.values) - 1 else ""
818 stripped_name = self.strip_enum_prefix(enum.name, value.name)
819 value_name = self.safe_identifier(self.to_pascal_case(stripped_name))
820 lines.append(f"{ind}{self.indent_str}{value_name} = {value.value}{comma}")
821
822 lines.append(f"{ind}}}")
823 return lines
824
825 def generate_union(
826 self,

Callers 2

generate_fileMethod · 0.95
generate_messageMethod · 0.95

Calls 6

safe_type_identifierMethod · 0.95
safe_identifierMethod · 0.95
strip_enum_prefixMethod · 0.80
to_pascal_caseMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected