in lib/generator.js [722:754]
visitParams(ast, level, env) {
assert.equal(ast.type, 'params');
env.pointerParams = [];
this.emit('(');
for (var i = 0; i < ast.params.length; i++) {
if (i !== 0) {
this.emit(', ');
}
const node = ast.params[i];
assert.equal(node.type, 'param');
const name = _name(node.paramName);
env.pointerParams.push(_avoidReserveName(name));
this.emit(`${_avoidReserveName(name)}`);
if (node.paramType) {
const paramType = node.paramType;
this.emit(` `);
this.visitPointerType(paramType, level, env);
}
}
if(env.yieldFunc) {
if(ast.params.length > 0) {
this.emit(', ');
}
this.emit('_yield chan ');
this.visitPointerType(env.returnType, level, env);
if(env.hasThrow) {
this.emit(', _yieldErr chan error');
}
}
this.emit(')');
}