def all_slots_for(self, cls: ClassDefinition) -> List[SlotDefinitionName]:
        """ Return all slots for class cls """
        if not cls.is_a:
            return cls.slots
        else:
            return [sn for sn in self.all_slots_for(self.schema.classes[cls.is_a]) if sn not in cls.slot_usage] \
                   + cls.slots
def all_slots_for ( self , cls : ClassDefinition ) -> List [ SlotDefinitionName ] : if not cls . is_a : return cls . slots else : return [ sn for sn in self . all_slots_for ( self . schema . classes [ cls . is_a ] ) if sn not in cls . slot_usage ] + cls . slots
Return all slots for class cls