parameters: (archive_source_mapping_files, file_open)
return_statement: return tree
docstring: Builds a mapping between archive files and their associated source files.
  
    Args:
      archive_source_mapping_files: A comma separated list of J2ObjC-generated
          mapping between archive files and their associated source files.
      file_open: Reference to the builtin open function so it may be
          overridden for testing.
    Returns:
      A dict mapping between archive files and their associated source files.
docstring_summary: Builds a mapping between archive files and their associated source files.
docstring_tokens: Builds a mapping between archive files and their associated source files .
function: def BuildArchiveSourceFileMapping(archive_source_mapping_files, file_open):
    """Builds a mapping between archive files and their associated source files.
  
    Args:
      archive_source_mapping_files: A comma separated list of J2ObjC-generated
          mapping between archive files and their associated source files.
      file_open: Reference to the builtin open function so it may be
          overridden for testing.
    Returns:
      A dict mapping between archive files and their associated source files.
    """
    tree = dict()
    for archive_source_mapping_file in archive_source_mapping_files.split(','):
      with file_open(archive_source_mapping_file, 'r') as f:
        for line in f:
          entry = line.strip().split(':')[0]
          dep = line.strip().split(':')[1]
          if entry in tree:
            tree[entry].append(dep)
          else:
            tree[entry] = [dep]
    return tree
function_tokens: def BuildArchiveSourceFileMapping ( archive_source_mapping_files , file_open ) : tree = dict ( ) for archive_source_mapping_file in archive_source_mapping_files . split ( ',' ) : with file_open ( archive_source_mapping_file , 'r' ) as f : for line in f : entry = line . strip ( ) . split ( ':' ) [ 0 ] dep = line . strip ( ) . split ( ':' ) [ 1 ] if entry in tree : tree [ entry ] . append ( dep ) else : tree [ entry ] = [ dep ] return tree