in src/langs/cpp/combinator.js [753:776]
emitParams(emitter, params = []) {
let tmp = [];
params.forEach(param => {
if (is.any(param.type)) {
tmp.push(`const boost::any &${_avoidKeywords(param.key)}`);
this.addStatement(param.key, param.type, false);
} else {
tmp.push(`shared_ptr<${this.emitType(param.type)}> ${_avoidKeywords(param.key)}`);
this.addStatement(param.key, param.type, true);
}
});
let emit = new Emitter(this.config);
let str;
if (tmp.length > 3) {
let curr_row_len = emitter.currRow().length;
str = tmp.join(`,${emit.eol}${' '.repeat(curr_row_len)}`);
} else {
str = tmp.join(', ');
}
if (emitter instanceof Emitter) {
emitter.emit(str);
}
return str;
}