code: public void replaceScript(JsAst ast) {
      CompilerInput input = this.getInput(ast.getInputId());
      if (!replaceIncrementalSourceAst(ast)) {
        return;
      }
      Node originalRoot = checkNotNull(input.getAstRoot(this));
  
      processNewScript(ast, originalRoot);
    }
docs: Replaces one file in a hot-swap mode. The given JsAst should be made
  from a new version of a file that already was present in the last compile
  call. If the file is new, this will silently ignored.
  
  @param ast the ast of the file that is being replaced