in lib/generator.js [1064:1097]
visitReturnType(ast, level, env) {
const handleIterator = (typeName) => {
if (this._type(_name(ast.returnType)) === 'void') {
this.emit(typeName);
} else {
this.emit(`${typeName}<`);
this.visitType(ast.returnType.valueType, level);
this.emit('>');
}
};
switch (ast.returnType.type) {
case 'asyncIterator':
handleIterator('IAsyncEnumerable');
break;
case 'iterator':
handleIterator('IEnumerable');
break;
default:
if (env.isAsyncMode) {
if (this._type(_name(ast.returnType)) === 'void') {
this.emit('Task');
} else {
this.emit('Task<');
this.visitType(ast.returnType, level);
this.emit('>');
}
} else {
this.visitType(ast.returnType, level);
}
break;
}
this.emit(' ');
}