code: def _get_members(self, class_obj, member_type, include_in_public=None):
          
          try:
              app = self.state.document.settings.env.app
          except AttributeError:
              app = None
          if not include_in_public:
              include_in_public = []
          all_members = []
          for member_name in dir(class_obj):
              try:
                  documenter = get_documenter(
                      app,
                      safe_getattr(class_obj, member_name),
                      class_obj)
              except AttributeError:
                  continue
              if documenter.objtype == member_type:
                  all_members.append(member_name)
          public_members = [x for x in all_members
                    if x in include_in_public or not x.startswith('_')]
          return public_members, all_members
docs: Return class members of the specified type.
  
          class_obj: Class object.
  
          member_type: Member type ('method' or 'attribute').
  
          include_in_public: set/list/tuple with member names that should be
            included in public members in addition to the public names (those
            starting without underscore).
  
          Returns:
            tuple(public_members, all_members): Names of the class members of
              the specified member type (public / all).