code: def get_all_params(cls):
          
          for task_name, task_cls in six.iteritems(cls._get_reg()):
              if task_cls == cls.AMBIGUOUS_CLASS:
                  continue
              for param_name, param_obj in task_cls.get_params():
                  yield task_name, (not task_cls.use_cmdline_section), param_name, param_obj
docs: Compiles and returns all parameters for all :py:class:`Task`.
  
          :return: a generator of tuples (TODO: we should make this more elegant)