Skip to content

Commit eb27166

Browse files
RyanCavanaughbillti
authored andcommitted
Parse JSDoc comments for ES6 class constructors and methods
Fixes #6646 (cherry picked from commit 1b282cd)
1 parent de2ef72 commit eb27166

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/compiler/parser.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4778,7 +4778,7 @@ namespace ts {
47784778
parseExpected(SyntaxKind.ConstructorKeyword);
47794779
fillSignature(SyntaxKind.ColonToken, /*yieldContext*/ false, /*awaitContext*/ false, /*requireCompleteParameterList*/ false, node);
47804780
node.body = parseFunctionBlockOrSemicolon(/*isGenerator*/ false, /*isAsync*/ false, Diagnostics.or_expected);
4781-
return finishNode(node);
4781+
return addJSDocComment(finishNode(node));
47824782
}
47834783

47844784
function parseMethodDeclaration(fullStart: number, decorators: NodeArray<Decorator>, modifiers: ModifiersArray, asteriskToken: Node, name: PropertyName, questionToken: Node, diagnosticMessage?: DiagnosticMessage): MethodDeclaration {
@@ -4792,7 +4792,7 @@ namespace ts {
47924792
const isAsync = !!(method.flags & NodeFlags.Async);
47934793
fillSignature(SyntaxKind.ColonToken, /*yieldContext*/ isGenerator, /*awaitContext*/ isAsync, /*requireCompleteParameterList*/ false, method);
47944794
method.body = parseFunctionBlockOrSemicolon(isGenerator, isAsync, diagnosticMessage);
4795-
return finishNode(method);
4795+
return addJSDocComment(finishNode(method));
47964796
}
47974797

47984798
function parsePropertyDeclaration(fullStart: number, decorators: NodeArray<Decorator>, modifiers: ModifiersArray, name: PropertyName, questionToken: Node): ClassElement {
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/// <reference path="fourslash.ts" />
2+
3+
// @allowNonTsExtensions: true
4+
// @Filename: file.js
5+
//// "use strict";
6+
////
7+
//// class Something {
8+
////
9+
//// /**
10+
//// * @param {number} a
11+
//// */
12+
//// constructor(a, b) {
13+
//// a./**/
14+
//// }
15+
//// }
16+
17+
goTo.marker();
18+
verify.completionListContains('toFixed', undefined, undefined, 'method');

0 commit comments

Comments
 (0)