parameters: (extdef_map_lines)
return_statement: return mangled_ast_pairs
docstring: Takes iterator of individual external definition maps and creates a
      global map keeping only unique names. We leave conflicting names out of
      CTU.
  
      :param extdef_map_lines: Contains the id of a definition (mangled name) and
      the originating source (the corresponding AST file) name.
      :type extdef_map_lines: Iterator of str.
      :returns: Mangled name - AST file pairs.
      :rtype: List of (str, str) tuples.
docstring_summary: Takes iterator of individual external definition maps and creates a
      global map keeping only unique names. We leave conflicting names out of
      CTU.
docstring_tokens: Takes iterator of individual external definition maps and creates a global map keeping only unique names . We leave conflicting names out of CTU .
function: def create_global_ctu_extdef_map(extdef_map_lines):
      """ Takes iterator of individual external definition maps and creates a
      global map keeping only unique names. We leave conflicting names out of
      CTU.
  
      :param extdef_map_lines: Contains the id of a definition (mangled name) and
      the originating source (the corresponding AST file) name.
      :type extdef_map_lines: Iterator of str.
      :returns: Mangled name - AST file pairs.
      :rtype: List of (str, str) tuples.
      """
  
      mangled_to_asts = defaultdict(set)
  
      for line in extdef_map_lines:
          mangled_name, ast_file = line.strip().split(' ', 1)
          mangled_to_asts[mangled_name].add(ast_file)
  
      mangled_ast_pairs = []
  
      for mangled_name, ast_files in mangled_to_asts.items():
          if len(ast_files) == 1:
              mangled_ast_pairs.append((mangled_name, next(iter(ast_files))))
  
      return mangled_ast_pairs
function_tokens: def create_global_ctu_extdef_map ( extdef_map_lines ) : mangled_to_asts = defaultdict ( set ) for line in extdef_map_lines : mangled_name , ast_file = line . strip ( ) . split ( ' ' , 1 ) mangled_to_asts [ mangled_name ] . add ( ast_file ) mangled_ast_pairs = [ ] for mangled_name , ast_files in mangled_to_asts . items ( ) : if len ( ast_files ) == 1 : mangled_ast_pairs . append ( ( mangled_name , next ( iter ( ast_files ) ) ) ) return mangled_ast_pairs