(pos, hasJSDoc, decorators, modifiers, asteriskToken, name, questionToken, exclamationToken, diagnosticMessage)
| 36598 | }); |
| 36599 | } |
| 36600 | function parseMethodDeclaration(pos, hasJSDoc, decorators, modifiers, asteriskToken, name, questionToken, exclamationToken, diagnosticMessage) { |
| 36601 | var isGenerator = asteriskToken ? 1 /* SignatureFlags.Yield */ : 0 /* SignatureFlags.None */; |
| 36602 | var isAsync = ts.some(modifiers, ts.isAsyncModifier) ? 2 /* SignatureFlags.Await */ : 0 /* SignatureFlags.None */; |
| 36603 | var typeParameters = parseTypeParameters(); |
| 36604 | var parameters = parseParameters(isGenerator | isAsync); |
| 36605 | var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); |
| 36606 | var body = parseFunctionBlockOrSemicolon(isGenerator | isAsync, diagnosticMessage); |
| 36607 | var node = factory.createMethodDeclaration(decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body); |
| 36608 | // An exclamation token on a method is invalid syntax and will be handled by the grammar checker |
| 36609 | node.exclamationToken = exclamationToken; |
| 36610 | return withJSDoc(finishNode(node, pos), hasJSDoc); |
| 36611 | } |
| 36612 | function parsePropertyDeclaration(pos, hasJSDoc, decorators, modifiers, name, questionToken) { |
| 36613 | var exclamationToken = !questionToken && !scanner.hasPrecedingLineBreak() ? parseOptionalToken(53 /* SyntaxKind.ExclamationToken */) : undefined; |
| 36614 | var type = parseTypeAnnotation(); |
no test coverage detected
searching dependent graphs…