def __init__(cls, name, bases, attrs, **options):
        cls._fields = collections.OrderedDict()
        # Go backwards so that the left-most classes take priority
        for base in bases:
            if hasattr(base, '_fields'):
                cls._fields.update(base._fields)

        for name, attr in attrs.items():
            if name in cls._fields and attr is None:
                del cls._fields[name]
            if hasattr(attr, 'attach_to_class'):
                attr.attach_to_class(cls)

        data.field_options = {}
        data.field_stack = [[]]
dataset/ETHPy150Open gulopine/steel/steel/common/meta.py/DeclarativeMetaclass.__init__/original