MCPcopy Create free account
hub / github.com/microsoft/typescript-go / parseSignatureMember

Method parseSignatureMember

internal/parser/parser.go:3205–3224  ·  view source on GitHub ↗
(kind ast.Kind)

Source from the content-addressed store, hash-verified

3203}
3204
3205func (p *Parser) parseSignatureMember(kind ast.Kind) *ast.Node {
3206 pos := p.nodePos()
3207 jsdoc := p.jsdocScannerInfo()
3208 if kind == ast.KindConstructSignature {
3209 p.parseExpected(ast.KindNewKeyword)
3210 }
3211 typeParameters := p.parseTypeParameters()
3212 parameters := p.parseParameters(ParseFlagsType)
3213 typeNode := p.parseReturnType(ast.KindColonToken /*isType*/, true)
3214 p.parseTypeMemberSemicolon()
3215 var result *ast.Node
3216 if kind == ast.KindCallSignature {
3217 result = p.factory.NewCallSignatureDeclaration(typeParameters, parameters, typeNode)
3218 } else {
3219 result = p.factory.NewConstructSignatureDeclaration(typeParameters, parameters, typeNode)
3220 }
3221 p.finishNode(result, pos)
3222 p.withJSDoc(result, jsdoc)
3223 return result
3224}
3225
3226func (p *Parser) parseTypeParameters() *ast.NodeList {
3227 if p.token == ast.KindLessThanToken {

Callers 1

parseTypeMemberMethod · 0.95

Calls 11

nodePosMethod · 0.95
jsdocScannerInfoMethod · 0.95
parseExpectedMethod · 0.95
parseTypeParametersMethod · 0.95
parseParametersMethod · 0.95
parseReturnTypeMethod · 0.95
finishNodeMethod · 0.95
withJSDocMethod · 0.95

Tested by

no test coverage detected