Ejemplo n.º 1
0
def build_enum(enum, enums):
    if not enum:
        return
    Indenter.enter('typedef enum {')

    first = True
    for name, member in enum.items():
        if not first:
            print(',')
        first = False
        Indenter.printx(_constant_name(member.fullname()))
        value = getattr(member, 'value', None)
        alias = getattr(member, 'alias', None)
        if value is not None:
            val = " = %d" % value
        elif alias is not None:
            val, src, typ = alias
            if src:
                val = enums[src][val].fullname()
            elif typ == 'enum':
                val = enum[val].fullname()
            val = " = %s" % _constant_name(val)
        else:
            val = None
        if val is not None:
            sys.stdout.write(val)
    print('')

    Indenter.leave('} %s;' % _c_type(enum.name))
    print('')
Ejemplo n.º 2
0
def build_enum(enum, enums):
	if not enum:
		return
	Indenter.enter('typedef enum {')

	first = True
	for name, member in enum.items():
		if not first:
			print(',')
		first = False
		Indenter.printx(_constant_name(member.fullname()))
		value = getattr(member, 'value', None)
		alias = getattr(member, 'alias', None)
		if value is not None:
			val = " = %d" % value
		elif alias is not None:
			val, src, typ = alias
			if src:
				val = enums[src][val].fullname()
			elif typ == 'enum':
				val = enum[val].fullname()
			val = " = %s" % _constant_name(val)
		else:
			val = None
		if val is not None:
			sys.stdout.write(val)
	print('')

	Indenter.leave('} %s;' % _c_type(enum.name))
	print('')