MCPcopy Index your code
hub / github.com/microsoft/typescript-go / parsePropertyOrMethodDeclaration

Method parsePropertyOrMethodDeclaration

internal/parser/parser.go:1942–1952  ·  view source on GitHub ↗
(pos int, jsdoc jsdocScannerInfo, modifiers *ast.ModifierList)

Source from the content-addressed store, hash-verified

1940}
1941
1942func (p *Parser) parsePropertyOrMethodDeclaration(pos int, jsdoc jsdocScannerInfo, modifiers *ast.ModifierList) *ast.Node {
1943 asteriskToken := p.parseOptionalToken(ast.KindAsteriskToken)
1944 name := p.parsePropertyName()
1945 // Note: this is not legal as per the grammar. But we allow it in the parser and
1946 // report an error in the grammar checker.
1947 questionToken := p.parseOptionalToken(ast.KindQuestionToken)
1948 if asteriskToken != nil || p.token == ast.KindOpenParenToken || p.token == ast.KindLessThanToken {
1949 return p.parseMethodDeclaration(pos, jsdoc, modifiers, asteriskToken, name, questionToken, diagnostics.X_or_expected)
1950 }
1951 return p.parsePropertyDeclaration(pos, jsdoc, modifiers, name, questionToken)
1952}
1953
1954func (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)

Callers 1

parseClassElementMethod · 0.95

Calls 4

parseOptionalTokenMethod · 0.95
parsePropertyNameMethod · 0.95

Tested by

no test coverage detected