code: function parseMethod(expression) {
    // tries to match valid javascript property names
    let m = expression.match(/([^\s]+?)\(([\s\S]*)\)/);
    if (m) {
      let methodName = m[1];
      let sig = { methodName, static: true, args: emptyArray };
      if (m[2].trim()) {
        // replace escaped commas with comma entity, split on un-escaped commas
        let args = m[2].replace(/\\,/g, '&comma;').split(',');
        return parseArgs(args, sig);
      } else {
        return sig;
      }
    }
    return null;
  }
docs: Parses an expression string for a method signature, and returns a metadata
  describing the method in terms of `methodName`, `static` (whether all the
  arguments are literals), and an array of `args`
  
  @param {string} expression The expression to parse
  @return {?MethodSignature} The method metadata object if a method expression was
  found, otherwise `undefined`
  @private