PropertySignature cannot occur in a class.
The condition inside the clause required the parent to be a class, so it was never true.
This removes the case clause and the part of the condition that is now useless.
fix#31012
Since the purpose of isolatedModules: true is to
do extra validation to ensure that separate
compilation is safe
Allowing emit in the presence of errors is
compatible with that intention.
Signed-off-by: Max Heiber <max.heiber@gmail.com>
* add action for enabling experimentalDescorators option in user config file, change error message for this case #29035
* add missing changes in tests
* Add "experimental decorators" tests for jsconfig file
type when comparing equality to a type that isn't a union of literal
types.
The rule is redundant because a primitive type is already directed-
comparable to a value of that primitive type, and it causes errors to be
missed when comparing a type parameter _constrained_ by a union of
literal types to another union of literal types.
The baseline changes look like improvements to me.
Fixes#26758.
* Scan backticks in jsdoc as a single token less often
Previously, matching backticks in jsdoc would always be scanned as one
token to aid parsing incorrect jsdoc that uses backticks for parameter
names:
``js
/** @param {string} `nope`
* @param {number} `not needed`
*/
```
However, this is wrong for code fences, which use triple backticks. This
fix parses a single backtick as a single token if it's immediately
followed by another backtick or by a newline. It retains the
questionable tokenisation of backticks-as-pairs in other cases, however.
A better fix might be to have the parser ignore backticks in jsdoc
instead.
* Add test case
* Handle jsdoc backticks in the parser, not scanner
Previously, the jsdoc scanner had ad-hoc handling of backticks that was
similar in structure to the normal scanner's handling, but much simpler.
This was a smaller code change, but is handled backwards: the special
case of backtick-quoted parameter names was handled in the scanner
instead of in the jsdoc identifier parsing code. That made it overapply
and block correct handling of asterisks across newlines, which was most
obvious in code fences inside jsdoc, as in #23517.
Fixes#23517
* More cleanup
* Perform excess property checking on intersection and union members
* Allow partial union props to contain the undefined type
* Add test case from #30771
* Un-terse getPossiblePropertiesOfUnionType side-effecting code
* Fix bug exposed in RWC
* Cache results of getPossiblePropertiesOfUnionType
* Fix whitespace