mtaran-google
mtaran-google
`/** @param {string|function(string)} foo */` gets changed to `foo: string|(p1: string) => AnyDuringMigration`, but it actually needs an extra set of parens around the function type, to parse correctly.
Repro: 1. Have file a.js, b.js. b imports a 2. Convert a into TS. The import in b will be changed to something like `const aModule = goog.require('...'); const {a}...
pretty sure it'll do it for even e.g. `foo` in ```javascript /** @constructor */ function CodeMirror() {}; /** @return {number} foo */ CodeMirror.prototype.f = function() {} ```
Ran clutz on some externs for CodeMirror. This ended up creating ```typescript declare namespace ಠ_ಠ.clutz.CodeMirror { type HintFunction = Function ; } ``` but then clutz also renamed every other...