whole_func_string: function ApplySingleChunkPatch(script, change_pos, change_len, new_str,
        change_log) {
      var old_source = script.source;
  
      // Prepare new source string.
      var new_source = old_source.substring(0, change_pos) +
          new_str + old_source.substring(change_pos + change_len);
  
      return ApplyPatchMultiChunk(script,
          [ change_pos, change_pos + change_len, change_pos + new_str.length],
          new_source, false, change_log);
    }
func_code_string: function ApplySingleChunkPatch(script, change_pos, change_len, new_str,
        change_log) {
      var old_source = script.source;
  
      // Prepare new source string.
      var new_source = old_source.substring(0, change_pos) +
          new_str + old_source.substring(change_pos + change_len);
  
      return ApplyPatchMultiChunk(script,
          [ change_pos, change_pos + change_len, change_pos + new_str.length],
          new_source, false, change_log);
    }
func_documentation_string: Applies the change to the script. The change is always a substring (change_pos, change_pos + change_len) being replaced with a completely different string new_str. This API is a legacy and is obsolete.  @param {Script} script that is being changed @param {Array} change_log a list that collects engineer-readable description of what happened.