#!/usr/bin/env python

"""Print to stdout the enums based on the values used in the fixer."""

import sys

import fixer


def main(unused_argv):
    indent = fixer.INITIAL_INDENT
    for cls in fixer.StructParser.__subclasses__():
        print 'typedef enum {'
        METHODS = set(range(len(cls.FIELD_KIND)))
        if hasattr(cls, '_METHOD_INDICES'):
            METHODS = set(cls._METHOD_INDICES)
        values = ['%s%s%s' % (indent, cls.FIELD_KIND_PREFIX, name)
                  for i, name in enumerate(cls.FIELD_KIND) if i in METHODS]
        print ',\n'.join(values)
        print '} %sKind;' % cls.FIELD_KIND_PREFIX[:-1]
        print


if __name__ == '__main__':
    main(sys.argv)
