anchor.diff:   * @param  {func}    onFailure function(string errmsg)
    * @return {void}
    */
  -Future uploadMsg(email, isFile, content, filename) {
  +Future uploadMsg(String sendname, String sendemail, String recvname, String recvemail, bool isFile, File content, String filename) {
     Completer cmpl = new Completer();
     var ok = (response) => cmpl.complete(response);
     var fail = (error) => cmpl.completeError(error);
     
  -  js.context.callMethod('uploadMsg', [email, isFile, content, filename, fail]);
  +  js.context.callMethod('uploadMsg', [sendname, sendemail, recvname, recvemail, isFile, content, filename, ok, fail]);
     return cmpl.future;
   }
   
  
positive.code: library clienr.parse;
  
  import "dart:async";
  import "dart:js" as js;
  
  /**
  
negative.code:  * @param {func}     onSuccess function(void)
   * @param {func}     onFailure function(string errmsg)
   */
  Future setStatus(String msgId, bool isDone) {
    Completer cmpl = new Completer();
    var ok = (response) => cmpl.complete(response);
    var fail = (error) => cmpl.completeError(error);
  