MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / _on_member_enum

Method _on_member_enum

dnn/scripts/gen_param_defs.py:741–774  ·  view source on GitHub ↗
(self, e)

Source from the content-addressed store, hash-verified

739 self._write("};\n", indent=-1)
740
741 def _on_member_enum(self, e):
742 self._write_doc(e.name)
743 self._write("enum class %s: uint32_t {", e.name, indent=1)
744 for i in e.members:
745 self._write_doc(i)
746 v = str(i)
747 if i is not e.members[-1] or e.member_alias:
748 v += ","
749 self._write(v)
750 for mem, alias in e.member_alias:
751 if e.combined:
752 self._write("%s = %s,", alias, e.compose_combined_enum(mem))
753 else:
754 self._write(
755 "%s = %s,",
756 str(alias).split(" ")[0].split("=")[0],
757 str(mem).split(" ")[0].split("=")[0],
758 )
759 self._write("};", indent=-1)
760 self._non_static_members.append(e)
761 self._write(
762 "static MEGDNN_CONSTEXPR uint32_t %s_NR_MEMBER = %d;",
763 str(e.name).upper(),
764 len(e.members),
765 )
766 if e.combined:
767 default = "static_cast<{}>({})".format(
768 e.name, e.compose_combined_enum(e.default)
769 )
770 else:
771 value = str(e.members[e.default])
772 value = value.split(" ")[0].split("=")[0]
773 default = "{}::{}".format(e.name, value)
774 self._add_ctor_args(e.name, default, e.name_field)
775
776 def _on_member_enum_alias(self, e):
777 s = e.src_enum

Callers

nothing calls this directly

Calls 7

_write_docMethod · 0.95
_add_ctor_argsMethod · 0.95
strFunction · 0.85
_writeMethod · 0.80
compose_combined_enumMethod · 0.80
appendMethod · 0.45
formatMethod · 0.45

Tested by

no test coverage detected