Group (e.g. C "enum" type) generation. For the validity generator, this just tags individual enumerants as required or not.
(self, groupinfo, groupName, alias)
| 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.""" |
nothing calls this directly
no test coverage detected