nodes: 0, module; 1, function_definition; 2, function_name:areas_of_code; 3, parameters; 4, block; 5, identifier:git_enrich; 6, identifier:in_conn; 7, identifier:out_conn; 8, default_parameter; 9, expression_statement; 10, expression_statement; 11, expression_statement; 12, return_statement; 13, identifier:block_size; 14, integer:100; 15, comment:"""Build and index for areas of code from a given Perceval RAW index.
  
      :param block_size: size of items block.
      :param git_enrich: GitEnrich object to deal with SortingHat affiliations.
      :param in_conn: ESPandasConnector to read from.
      :param out_conn: ESPandasConnector to write to.
      :return: number of documents written in ElasticSearch enriched index.
      """; 16, assignment; 17, assignment; 18, identifier:ndocs; 19, identifier:aoc; 20, call; 21, identifier:ndocs; 22, call; 23, identifier:AreasOfCode; 24, argument_list; 25, attribute; 26, argument_list; 27, keyword_argument; 28, keyword_argument; 29, keyword_argument; 30, keyword_argument; 31, identifier:aoc; 32, identifier:analyze; 33, identifier:in_connector; 34, identifier:in_conn; 35, identifier:out_connector; 36, identifier:out_conn; 37, identifier:block_size; 38, identifier:block_size; 39, identifier:git_enrich; 40, identifier:git_enrich
code: def areas_of_code(git_enrich, in_conn, out_conn, block_size=100):
      """Build and index for areas of code from a given Perceval RAW index.
  
      :param block_size: size of items block.
      :param git_enrich: GitEnrich object to deal with SortingHat affiliations.
      :param in_conn: ESPandasConnector to read from.
      :param out_conn: ESPandasConnector to write to.
      :return: number of documents written in ElasticSearch enriched index.
      """
      aoc = AreasOfCode(in_connector=in_conn, out_connector=out_conn, block_size=block_size,
                        git_enrich=git_enrich)
      ndocs = aoc.analyze()
      return ndocs