def genEnum(self, enuminfo, name, alias): """Generate the C declaration for a constant (a single <enum> value).""" OutputGenerator.genEnum(self, enuminfo, name, alias) body = self.buildConstantCDecl(enuminfo, name, alias) self.appendSection('enum', body)
def genEnum(self, enuminfo, name, alias): OutputGenerator.genEnum(self, enuminfo, name, alias) # Add a typeCategory{} entry for the category of this type. self.addName(self.typeCategory, name, 'consts') self.consts[name] = None
def genEnum(self, enuminfo, name, alias): """Generate enumerant (compile time constants).""" OutputGenerator.genEnum(self, enuminfo, name, alias) if alias: return self.record_name(self.consts, name)
def genEnum(self, enuminfo, name, alias): """Generate the C declaration for a constant (a single <enum> value).""" OutputGenerator.genEnum(self, enuminfo, name, alias) body = self.buildConstantCDecl(enuminfo, name, alias) self.writeInclude('enums', name, body)
def genEnum(self, enuminfo, name, alias): """Generate enumerants. <enum> tags may specify their values in several ways, but are usually just integers.""" OutputGenerator.genEnum(self, enuminfo, name, alias) (_, strVal) = self.enumToValue(enuminfo.elem, False) body = '#define ' + name.ljust(33) + ' ' + strVal self.appendSection('enum', body)
def genEnum(self, enuminfo, name, alias): """Generate enumerant (compile-time constants). - Add the constant name to the 'consts' dictionary, with the value being None to indicate that the constant isn't an enumeration value.""" OutputGenerator.genEnum(self, enuminfo, name, alias) # Add a typeCategory{} entry for the category of this type. self.addName(self.typeCategory, name, 'consts') self.consts[name] = None
def genEnum(self, enuminfo, name, alias): """Generate enumerants. <enum> tags may specify their values in several ways, but are usually just integers.""" OutputGenerator.genEnum(self, enuminfo, name, alias) (_, strVal) = self.enumToValue(enuminfo.elem, False) if self.misracppstyle() and enuminfo.elem.get('type') and not alias: # Generate e.g.: static constexpr uint32_t x = ~static_cast<uint32_t>(1U); # This appeases MISRA "underlying type" rules. typeStr = enuminfo.elem.get('type'); invert = '~' in strVal number = strVal.strip("()~UL") if typeStr != "float": number += 'U' strVal = "~" if invert else "" strVal += "static_cast<" + typeStr + ">(" + number + ")" body = 'static constexpr ' + typeStr.ljust(9) + name.ljust(33) + ' {' + strVal + '};' self.appendSection('enum', body) elif enuminfo.elem.get('type') and not alias: # Generate e.g.: #define x (~0ULL) typeStr = enuminfo.elem.get('type'); invert = '~' in strVal paren = '(' in strVal number = strVal.strip("()~UL") if typeStr != "float": if typeStr == "uint64_t": number += 'ULL' else: number += 'U' strVal = "~" if invert else "" strVal += number if paren: strVal = "(" + strVal + ")"; body = '#define ' + name.ljust(33) + ' ' + strVal; self.appendSection('enum', body) else: body = '#define ' + name.ljust(33) + ' ' + strVal self.appendSection('enum', body)
def genEnum(self, enuminfo, name, alias): """Generate enumerant.""" OutputGenerator.genEnum(self, enuminfo, name, alias) self.logMsg('diag', '# NOT writing compile-time constant', name)
def genEnum(self, enuminfo, name, alias): OutputGenerator.genEnum(self, enuminfo, name, alias)
def genEnum(self, enuminfo, name, alias): OutputGenerator.genEnum(self, enuminfo, name, alias) (_, strVal) = self.enumToValue(enuminfo.elem, False) body = '#define ' + name.ljust(33) + ' ' + strVal self.appendSection('enum', body)
def genEnum(self, enuminfo, name, alias): OutputGenerator.genEnum(self, enuminfo, name, alias) self.logMsg('diag', '# NOT writing compile-time constant', name)
def genEnum(self, enuminfo, name): OutputGenerator.genEnum(self, enuminfo, name) self.logMsg('diag', '# NOT writing compile-time constant', name)