def _CollectSuperclasses(self, type_name, collect):
    "Recursively collect super classes for a type.\n\n    Arguments:\n      type_name: A string, the type's name.\n      collect: A set() of strings, modified to contain all superclasses.\n    "
    collect.add(type_name)
    superclasses = [name for name in self._superclasses.get(type_name, [])]
    for superclass in superclasses:
        self._CollectSuperclasses(superclass, collect)
Recursively collect super classes for a type.

Arguments:
  type_name: A string, the type's name.
  collect: A set() of strings, modified to contain all superclasses.
def _CollectSuperclasses(self, type_name, collect):
    "Recursively collect super classes for a type.\n\n    Arguments:\n      type_name: A string, the type's name.\n      collect: A set() of strings, modified to contain all superclasses.\n    "
    collect.add(type_name)
    superclasses = [name for name in self._superclasses.get(type_name, [])]
    for superclass in superclasses:
        self._CollectSuperclasses(superclass, collect)