parameters: (metaclass)
return_statement: return wrapper
docstring: Class decorator for creating a class with a metaclass.
docstring_summary: Class decorator for creating a class with a metaclass.
docstring_tokens: Class decorator for creating a class with a metaclass .
function: def add_metaclass(metaclass):
      """Class decorator for creating a class with a metaclass."""
      def wrapper(cls):
          orig_vars = cls.__dict__.copy()
          slots = orig_vars.get('__slots__')
          if slots is not None:
              if isinstance(slots, str):
                  slots = [slots]
              for slots_var in slots:
                  orig_vars.pop(slots_var)
          orig_vars.pop('__dict__', None)
          orig_vars.pop('__weakref__', None)
          return metaclass(cls.__name__, cls.__bases__, orig_vars)
      return wrapper
function_tokens: def add_metaclass ( metaclass ) : def wrapper ( cls ) : orig_vars = cls . __dict__ . copy ( ) slots = orig_vars . get ( '__slots__' ) if slots is not None : if isinstance ( slots , str ) : slots = [ slots ] for slots_var in slots : orig_vars . pop ( slots_var ) orig_vars . pop ( '__dict__' , None ) orig_vars . pop ( '__weakref__' , None ) return metaclass ( cls . __name__ , cls . __bases__ , orig_vars ) return wrapper