code: def FindFileContainingSymbol(self, symbol):
      
  
      symbol = _NormalizeFullyQualifiedName(symbol)
      try:
        return self._descriptors[symbol].file
      except KeyError:
        pass
  
      try:
        return self._enum_descriptors[symbol].file
      except KeyError:
        pass
  
      try:
        return self._FindFileContainingSymbolInDb(symbol)
      except KeyError:
        pass
  
      try:
        return self._file_desc_by_toplevel_extension[symbol]
      except KeyError:
        pass
  
      # Try nested extensions inside a message.
      message_name, _, extension_name = symbol.rpartition('.')
      try:
        message = self.FindMessageTypeByName(message_name)
        assert message.extensions_by_name[extension_name]
        return message.file
  
      except KeyError:
        raise KeyError('Cannot find a file containing %s' % symbol)
docs: Gets the FileDescriptor for the file containing the specified symbol.
  
      Args:
        symbol: The name of the symbol to search for.
  
      Returns:
        A FileDescriptor that contains the specified symbol.
  
      Raises:
        KeyError: if the file cannot be found in the pool.