MCPcopy
hub / github.com/KhronosGroup/Vulkan-Docs / genGroup

Method genGroup

scripts/docgenerator.py:568–591  ·  view source on GitHub ↗

Generate group (e.g. C "enum" type).

(self, groupinfo, groupName, alias)

Source from the content-addressed store, hash-verified

566 raise RuntimeError(f"Unrecognized enums type: {str(group_type)}")
567
568 def genGroup(self, groupinfo, groupName, alias):
569 """Generate group (e.g. C "enum" type)."""
570 OutputGenerator.genGroup(self, groupinfo, groupName, alias)
571
572 deprecatedby = None
573 deprecatedlink = None
574 supersededby = None
575 body = self.genRequirements(groupName)
576 if alias:
577 # If the group name is aliased, just emit a typedef declaration
578 # for the alias.
579 body += f'// Equivalent to {alias}\n'
580 body += f"typedef {alias} {groupName};\n"
581 else:
582 expand = self.genOpts.expandEnumerants
583 (_, enumbody) = self.buildEnumCDecl(expand, groupinfo, groupName)
584 body += enumbody
585 if self.genOpts.conventions.generate_enum_table:
586 self.genEnumTable(groupinfo, groupName)
587 deprecatedby = self.deprecatedBy(groupinfo)
588 deprecatedlink = groupinfo.deprecatedlink
589 supersededby = groupinfo.supersededby
590
591 self.writeInclude('enums', groupName, body, deprecatedby, deprecatedlink, supersededby)
592
593 def genEnum(self, enuminfo, name, alias):
594 """Generate the C declaration for a constant (a single <enum> value)."""

Callers

nothing calls this directly

Calls 5

genRequirementsMethod · 0.95
genEnumTableMethod · 0.95
deprecatedByMethod · 0.95
writeIncludeMethod · 0.95
buildEnumCDeclMethod · 0.80

Tested by

no test coverage detected