nodes: 0, module; 1, function_definition; 2, function_name:iter_starred; 3, parameters; 4, block; 5, identifier:self; 6, default_parameter; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, default_parameter; 11, expression_statement; 12, if_statement; 13, expression_statement; 14, expression_statement; 15, expression_statement; 16, return_statement; 17, identifier:login; 18, None; 19, identifier:sort; 20, None; 21, identifier:direction; 22, None; 23, identifier:number; 24, unary_operator; 25, identifier:etag; 26, None; 27, comment:"""Iterate over repositories starred by ``login`` or the authenticated
          user.
  
          .. versionchanged:: 0.5
             Added sort and direction parameters (optional) as per the change in
             GitHub's API.
  
          :param str login: (optional), name of user whose stars you want to see
          :param str sort: (optional), either 'created' (when the star was
              created) or 'updated' (when the repository was last pushed to)
          :param str direction: (optional), either 'asc' or 'desc'. Default:
              'desc'
          :param int number: (optional), number of repositories to return.
              Default: -1 returns all repositories
          :param str etag: (optional), ETag from a previous request to the same
              endpoint
          :returns: generator of :class:`Repository <github3.repos.Repository>`
          """; 28, identifier:login; 29, block; 30, assignment; 31, call; 32, assignment; 33, call; 34, integer:1; 35, return_statement; 36, identifier:params; 37, dictionary; 38, attribute; 39, argument_list; 40, identifier:url; 41, call; 42, attribute; 43, argument_list; 44, call; 45, pair; 46, pair; 47, identifier:self; 48, identifier:_remove_none; 49, identifier:params; 50, attribute; 51, argument_list; 52, identifier:self; 53, identifier:_iter; 54, call; 55, identifier:url; 56, identifier:Repository; 57, identifier:params; 58, identifier:etag; 59, attribute; 60, argument_list; 61, string; 62, identifier:sort; 63, string; 64, identifier:direction; 65, identifier:self; 66, identifier:_build_url; 67, string; 68, string; 69, identifier:int; 70, argument_list; 71, call; 72, identifier:iter_starred; 73, identifier:sort; 74, identifier:direction; 75, string_content:sort; 76, string_content:direction; 77, string_content:user; 78, string_content:starred; 79, identifier:number; 80, attribute; 81, argument_list; 82, identifier:self; 83, identifier:user; 84, identifier:login
code: def iter_starred(self, login=None, sort=None, direction=None, number=-1,
                       etag=None):
          """Iterate over repositories starred by ``login`` or the authenticated
          user.
  
          .. versionchanged:: 0.5
             Added sort and direction parameters (optional) as per the change in
             GitHub's API.
  
          :param str login: (optional), name of user whose stars you want to see
          :param str sort: (optional), either 'created' (when the star was
              created) or 'updated' (when the repository was last pushed to)
          :param str direction: (optional), either 'asc' or 'desc'. Default:
              'desc'
          :param int number: (optional), number of repositories to return.
              Default: -1 returns all repositories
          :param str etag: (optional), ETag from a previous request to the same
              endpoint
          :returns: generator of :class:`Repository <github3.repos.Repository>`
          """
          if login:
              return self.user(login).iter_starred(sort, direction)
  
          params = {'sort': sort, 'direction': direction}
          self._remove_none(params)
          url = self._build_url('user', 'starred')
          return self._iter(int(number), url, Repository, params, etag)