def output_enums( header, intro, cfg, lang ): """writes exported enums to the header stream""" visitor = sig.type_visitor( lang, cfg ) val_fn = cfg[lang+'_enum_value'] header.write( '\n/* ==== enums ==== */\n' ) enums = [(sig.apply_type_metainfo_visitor(e.metainfo(), visitor), e) \ for e in intro.exported_enums()] enums.sort() for enum_name, enum in enums: items = [ " %s=%s" % (val_fn(name), val) for name, val in enum.values() ] header.write( "typedef enum {\n%s\n} %s;\n\n" % ( ',\n'.join( items ), enum_name ))
def output_enums(header, intro, cfg, lang): """writes exported enums to the header stream""" visitor = sig.type_visitor(lang, cfg) val_fn = cfg[lang + '_enum_value'] header.write('\n/* ==== enums ==== */\n') enums = [(sig.apply_type_metainfo_visitor(e.metainfo(), visitor), e) \ for e in intro.exported_enums()] enums.sort() for enum_name, enum in enums: items = [ " %s=%s" % (val_fn(name), val) for name, val in enum.values() ] header.write("typedef enum {\n%s\n} %s;\n\n" % (',\n'.join(items), enum_name))
def map_type(type_mi, lang, cfg): vis = sig.type_visitor(lang, cfg) return sig.apply_type_metainfo_visitor(type_mi, vis)
def c_enum_name(enum, cfg): visitor = sig.type_visitor('c', cfg) return sig.apply_type_metainfo_visitor(enum, visitor)
def map_type( type_mi, lang, cfg ): vis = sig.type_visitor( lang, cfg ) return sig.apply_type_metainfo_visitor( type_mi, vis )