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

Method genGroup

scripts/validitygenerator.py:1712–1736  ·  view source on GitHub ↗

Group (e.g. C "enum" type) generation. For the validity generator, this just tags individual enumerants as required or not.

(self, groupinfo, groupName, alias)

Source from the content-addressed store, hash-verified

1710 structextends = structextends)
1711
1712 def genGroup(self, groupinfo, groupName, alias):
1713 """Group (e.g. C "enum" type) generation.
1714 For the validity generator, this just tags individual enumerants
1715 as required or not.
1716 """
1717 OutputGenerator.genGroup(self, groupinfo, groupName, alias)
1718
1719 # @@@ (Jon) something needs to be done here to handle aliases, probably
1720
1721 groupElem = groupinfo.elem
1722
1723 # Loop over the nested 'enum' tags. Keep track of the minimum and
1724 # maximum numeric values, if they can be determined; but only for
1725 # core API enumerants, not extension enumerants. This is inferred
1726 # by looking for 'extends' attributes.
1727 for elem in groupElem.findall('enum'):
1728 name = elem.get('name')
1729 ei = self.registry.lookupElementInfo(name, self.registry.enumdict)
1730
1731 if ei is None:
1732 self.logMsg('error',
1733 f'genGroup({groupName}) - no element found for enum {name}')
1734
1735 # Tag enumerant as required or not
1736 ei.required = self.isEnumRequired(elem)
1737
1738 def genType(self, typeinfo, name, alias):
1739 """Type Generation."""

Callers

nothing calls this directly

Calls 4

lookupElementInfoMethod · 0.80
logMsgMethod · 0.80
isEnumRequiredMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected