TypeScript/tests
Nathan Shively-Sanders 25fb5419c0
Support the JSDoc @enum tag (#26021)
* Support the JSDoc @enum tag

`@enum` is used on a variable declaration with an object literal
initializer. It does a number of things:

1. The object literal has a closed set of properties, unlike other
object literals in Javascript.
2. The variable's name is resolvable as a type, but it just has the
declared type of the enum tag.
3. Each property's type must be assignable to the enum tag's declared type,
which can be any type.

For example,

```js
/** @enum {string} */
const Target = {
  START: "START",
  END: "END",
  MISTAKE: 0, // error 'number' is not assignable to 'string' -- see (3)
}

Target.THIS_IS_AN_ERROR; // See (1)
/** @type {Target} See (2) */
var target = Target.START;
```

* Fix lint, add new test case, update API baselines
2018-07-28 07:53:08 -07:00
..
baselines/reference Support the JSDoc @enum tag (#26021) 2018-07-28 07:53:08 -07:00
cases Support the JSDoc @enum tag (#26021) 2018-07-28 07:53:08 -07:00
lib
projects
webhost
perfsys.ts
perftsc.ts
perftsc.tsconfig.json
test.bat
webTestResults.html
webTestServer.ts
webTestServer.tsconfig.json