Fix invalid cast: JSDocSignature is not a SignatureDeclaration (#25734)

This commit is contained in:
Andy 2018-07-17 13:35:55 -07:00 committed by GitHub
parent d28fb65a1f
commit 6d8a5f6288
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 3 deletions

View file

@ -494,9 +494,9 @@ namespace ts {
case SyntaxKind.JSDocSignature:
return visitNodes(cbNode, cbNodes, node.decorators) ||
visitNodes(cbNode, cbNodes, node.modifiers) ||
visitNodes(cbNode, cbNodes, (<SignatureDeclaration>node).typeParameters) ||
visitNodes(cbNode, cbNodes, (<SignatureDeclaration>node).parameters) ||
visitNode(cbNode, (<SignatureDeclaration>node).type);
forEach((<JSDocSignature>node).typeParameters, cbNode) ||
forEach((<JSDocSignature>node).parameters, cbNode) ||
visitNode(cbNode, (<JSDocSignature>node).type);
case SyntaxKind.JSDocTypeLiteral:
if ((node as JSDocTypeLiteral).jsDocPropertyTags) {
for (const tag of (node as JSDocTypeLiteral).jsDocPropertyTags!) {

View file

@ -0,0 +1,12 @@
/// <reference path='fourslash.ts' />
/////**
//// * @callback Cb
//// * @return {/**/}
//// */
////let x;
// Previously this crashed due to an invalid cast in `forEachChild` for `JSDocSignature`.
goTo.marker("");
edit.insert("number");