parameters: (deps)
return_statement: return dep_hash
docstring: Builds a hash for searching dependencies by the namespaces they provide.
  
    Description:
      Dependency objects can provide multiple namespaces.  This method enumerates
      the provides of each dependency and adds them to a hash that can be used
      to easily resolve a given dependency by a namespace it provides.
  
    Args:
      deps: a list of dependency objects used to build the hash.
  
    Raises:
      Exception: If a multiple files try to provide the same namepace.
  
    Returns:
      A hash table { namespace: dependency } that can be used to resolve a
      dependency by a namespace it provides.
docstring_summary: Builds a hash for searching dependencies by the namespaces they provide.
docstring_tokens: Builds a hash for searching dependencies by the namespaces they provide .
function: def BuildDependencyHashFromDependencies(deps):
    """Builds a hash for searching dependencies by the namespaces they provide.
  
    Description:
      Dependency objects can provide multiple namespaces.  This method enumerates
      the provides of each dependency and adds them to a hash that can be used
      to easily resolve a given dependency by a namespace it provides.
  
    Args:
      deps: a list of dependency objects used to build the hash.
  
    Raises:
      Exception: If a multiple files try to provide the same namepace.
  
    Returns:
      A hash table { namespace: dependency } that can be used to resolve a
      dependency by a namespace it provides.
    """
    dep_hash = {}
    for dep in deps:
      for provide in dep.provides:
        if provide in dep_hash:
          raise Exception('Duplicate provide (%s) in (%s, %s)' % (
              provide,
              dep_hash[provide].filename,
              dep.filename))
        dep_hash[provide] = dep
    return dep_hash
function_tokens: def BuildDependencyHashFromDependencies ( deps ) : dep_hash = { } for dep in deps : for provide in dep . provides : if provide in dep_hash : raise Exception ( 'Duplicate provide (%s) in (%s, %s)' % ( provide , dep_hash [ provide ] . filename , dep . filename ) ) dep_hash [ provide ] = dep return dep_hash