(pos int, jsdoc jsdocScannerInfo, modifiers *ast.ModifierList, asteriskToken *ast.Node, name *ast.Node, questionToken *ast.Node, diagnosticMessage *diagnostics.Message)
| 1952 | } |
| 1953 | |
| 1954 | func (p *Parser) parseMethodDeclaration(pos int, jsdoc jsdocScannerInfo, modifiers *ast.ModifierList, asteriskToken *ast.Node, name *ast.Node, questionToken *ast.Node, diagnosticMessage *diagnostics.Message) *ast.Node { |
| 1955 | signatureFlags := core.IfElse(asteriskToken != nil, ParseFlagsYield, ParseFlagsNone) | core.IfElse(modifierListHasAsync(modifiers), ParseFlagsAwait, ParseFlagsNone) |
| 1956 | typeParameters := p.parseTypeParameters() |
| 1957 | parameters := p.parseParameters(signatureFlags) |
| 1958 | typeNode := p.parseReturnType(ast.KindColonToken, false /*isType*/) |
| 1959 | body := p.parseFunctionBlockOrSemicolon(signatureFlags, diagnosticMessage) |
| 1960 | result := p.finishNode(p.factory.NewMethodDeclaration(modifiers, asteriskToken, name, questionToken, typeParameters, parameters, typeNode, nil /*fullSignature*/, body), pos) |
| 1961 | p.withJSDoc(result, jsdoc) |
| 1962 | p.checkJSSyntax(result) |
| 1963 | return result |
| 1964 | } |
| 1965 | |
| 1966 | func modifierListHasAsync(modifiers *ast.ModifierList) bool { |
| 1967 | return modifiers != nil && core.Some(modifiers.Nodes, isAsyncModifier) |
no test coverage detected