code: function makeSignature(params) {
  	var r = ['('], desc;
  	if ( params ) {
  		for (var i = 0, p; (p = params[i]); i++) {
  			// ignore @param tags for 'virtual' params that are used to document members of config-like params
  			// (e.g. like "@param param1.key ...")
  			if (p.name && p.name.indexOf('.') == -1) {
  				if (i > 0) {
  					r.push(', ');
  				}
  
  				r.push('<span');
  
  				var types = listTypes(p.type, true);
  				if ( (desc = asPlainSummary(p.description)) || types ) {
  					r.push(' title="');
  					if (types) {
  						r.push('(');
  						r.push(types);
  						r.push(') ');
  					}
  					r.push(desc);
  					r.push('"');
  				}
  
  				r.push('>');
  				r.push(p.name);
  				r.push('</span>');
  				if ( p.optional ) {
  					r.push('<i class="help" title="Optional parameter">?</i>');
  				}
  			}
  		}
  	}
  	r.push(')');
  	return r.join('');
  }
docs: /* Build output for displaying function parameters.