private function loadExistingFiles()

in src/CodegenFile.hack [460:486]


  private function loadExistingFiles(): ?string {
    $file_names = $this->otherFileNames;
    $file_names[] = $this->fileName;
    $all_content = varray[];
    foreach ($file_names as $file_name) {
      if (\file_exists($file_name)) {
        $content = Filesystem::readFile($file_name);
        if ($content !== '') {
          $root_dir = $this->config->getRootDir();
          $relative_path = Str\starts_with($file_name, $root_dir)
            ? Str\slice($file_name, Str\length($root_dir) + 1)
            : $file_name;

          if (!$this->doClobber) {
            if (!SignedSourceBase::isSignedByAnySigner($content)) {
              throw new CodegenFileNoSignatureException($relative_path);
            }
            if (!SignedSourceBase::hasValidSignatureFromAnySigner($content)) {
              throw new CodegenFileBadSignatureException($relative_path);
            }
          }
        }
        $all_content[] = $content;
      }
    }
    return Str\join($all_content, '');
  }