// @allowJs: true // @noEmit: true // @checkJs: true // @filename: index.js /** * @param {(m: Boolean) => string} somebody */ function sayHello(somebody) { return 'Hello ' + somebody; } // @filename: index2.js /** * @param {(m: Void) => string} somebody */ function sayHello2(somebody) { return 'Hello ' + somebody; } // @filename: index3.js /** * @param {(m: Undefined) => string} somebody */ function sayHello3(somebody) { return 'Hello ' + somebody; } // @filename: index4.js /** * @param {(m: Function) => string} somebody */ function sayHello4(somebody) { return 'Hello ' + somebody; } // @filename: index5.js /** * @param {(m: String) => string} somebody */ function sayHello5(somebody) { return 'Hello ' + somebody; } // @filename: index6.js /** * @param {(m: Number) => string} somebody */ function sayHello6(somebody) { return 'Hello ' + somebody; } // @filename: index7.js /** * @param {(m: Object) => string} somebody */ function sayHello7(somebody) { return 'Hello ' + somebody; } // @filename: index8.js function fn() {} /** * @param {fn} somebody */ function sayHello8(somebody) { }