def _get_go_files_to_mtime(self):
    """Returns a dict mapping all Go files to their mtimes.

    Returns:
      A dict mapping the path relative to the application root of every .go
      file in the application root, or any of its subdirectories, to the file's
      modification time.
    """
    go_file_to_mtime = {}
    for root, _, file_names in os.walk(
        self._server_configuration.application_root):
      for file_name in file_names:
        if not file_name.endswith('.go'):
          continue
        full_path = os.path.join(root, file_name)
        rel_path = os.path.relpath(
            full_path, self._server_configuration.application_root)
        if self._server_configuration.skip_files.match(rel_path):
          continue
        if self._server_configuration.nobuild_files.match(rel_path):
          continue

        try:
          go_file_to_mtime[rel_path] = os.path.getmtime(full_path)
        except __HOLE__ as e:
          # Ignore deleted files.
          if e.errno != errno.ENOENT:
            raise
    return go_file_to_mtime
dataset/ETHPy150Open AppScale/appscale/AppServer/google/appengine/tools/devappserver2/go_application.py/GoApplication._get_go_files_to_mtime