def METHOD_NAME(self, class_name):
    usage_rows = list()
    class_usages = self.get_class_usages(class_name)
    for uk, slotdef in class_usages.items():
        if uk in self.mixs_slots:
            from_mixs = True
        else:
            from_mixs = False
        slotdef_dict = slotdef.__dict__
        for k, v in slotdef_dict.items():
            if v and k != "name":
                if type(v) == bool:
                    usage_dict = {"slot": uk, "from_mixs": from_mixs, "slot_attribute": k, "value": str(v)}
                    usage_rows.append(usage_dict)
                elif type(v) == dict:
                    if k == "annotations":
                        for ak, av in v.items():
                            usage_dict = {"slot": uk, "from_mixs": from_mixs, "slot_attribute": f"{k}:{ak}",
                                          "value": str(av.value)}
                            usage_rows.append(usage_dict)
                    else:
                        logger.warning(f"for {uk}, {k} is a dict with unknown type")
                elif type(v) == ElementName:
                    usage_dict = {"slot": uk, "from_mixs": from_mixs, "slot_attribute": k, "value": str(v)}
                    usage_rows.append(usage_dict)
                elif type(v) == PatternExpression:
                    usage_dict = {"slot": uk, "from_mixs": from_mixs, "slot_attribute": k, "value": str(v.syntax)}
                    usage_rows.append(usage_dict)
                elif type(v) == extended_str:
                    usage_dict = {"slot": uk, "from_mixs": from_mixs, "slot_attribute": k, "value": str(v)}
                    usage_rows.append(usage_dict)
                elif type(v) == list:
                    if type(v[0]) == Example:
                        processed = [i.value for i in v]
                        processed = '|'.join(processed)
                        usage_dict = {"slot": uk, "from_mixs": from_mixs, "slot_attribute": k,
                                      "value": str(processed)}
                        usage_rows.append(usage_dict)
                    elif type(v[0]) == extended_str:
                        processed = [i for i in v]
                        processed = '|'.join(processed)
                        usage_dict = {"slot": uk, "from_mixs": from_mixs, "slot_attribute": k,
                                      "value": str(processed)}
                        usage_rows.append(usage_dict)
                    else:
                        logger.warning(f"for {uk}, {k}[0] has type {type(v)}")
                elif type(v) == str:
                    usage_dict = {"slot": uk, "from_mixs": from_mixs, "slot_attribute": k, "value": v}
                    usage_rows.append(usage_dict)
                else:
                    logger.warning(f"for {uk}, {k} has type {type(v)}")
    return usage_rows