mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-15 03:23:08 -06:00
* Fix jsdoc comment parsing initial state Jsdoc comment parsing can be invoked in two modes: 1. top-level parsing, for comments not inside a tag. 2. tag parsing, for comment that occur after the semantic parts of a tag. Top-level parsing skips an initial * because it assumes that it is starting at the very beginning of a JSDoc comment. Tag parsing does not. The two modes are distinguished by an optional second parameter named `margin`. When `margin` is provided, it provides an initial indent used for comment alignment. Previously, the check for `margin` was a truthy check `if (margin)`. This check incorrectly treats `margin=""` the same as `margin=undefined`. This PR changes the check to `if (margin !== undefined)`, which correctly treats `margin=""` the same as `margin=" "`. * Fixes for broken tests 1. Use SawAsterisk start state. 2. @template needs to skip asterisk in addition to whitespace while parsing type parameter names. * undo code move