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

Method parseJSDocTypeNameWithNamespace

internal/parser/jsdoc.go:992–1015  ·  view source on GitHub ↗
(nested bool)

Source from the content-addressed store, hash-verified

990}
991
992func (p *Parser) parseJSDocTypeNameWithNamespace(nested bool) *ast.Node {
993 start := p.scanner.TokenStart()
994 if !tokenIsIdentifierOrKeyword(p.token) {
995 return nil
996 }
997 typeNameOrNamespaceName := p.parseJSDocIdentifierName(nil)
998 if p.parseOptionalJsdoc(ast.KindDotToken) {
999 body := p.parseJSDocTypeNameWithNamespace(true /*nested*/)
1000 jsDocNamespaceNode := p.factory.NewModuleDeclaration(
1001 nil, /*modifiers*/
1002 ast.KindNamespaceKeyword, /*keyword*/
1003 typeNameOrNamespaceName,
1004 body,
1005 )
1006 if nested {
1007 jsDocNamespaceNode.Flags |= ast.NodeFlagsNestedNamespace
1008 }
1009 return p.finishNode(jsDocNamespaceNode, start)
1010 }
1011 if nested {
1012 typeNameOrNamespaceName.Flags |= ast.NodeFlagsIdentifierIsInJSDocNamespace
1013 }
1014 return typeNameOrNamespaceName
1015}
1016
1017func (p *Parser) parseTypedefTag(start int, tagName *ast.IdentifierNode, indent int, indentText string) *ast.Node {
1018 typeExpression := p.tryParseTypeExpression()

Callers 2

parseTypedefTagMethod · 0.95
parseCallbackTagMethod · 0.95

Calls 6

parseOptionalJsdocMethod · 0.95
finishNodeMethod · 0.95
TokenStartMethod · 0.80
NewModuleDeclarationMethod · 0.80

Tested by

no test coverage detected