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

Method parseModuleOrNamespaceDeclaration

internal/parser/parser.go:2209–2232  ·  view source on GitHub ↗
(pos int, jsdoc jsdocScannerInfo, modifiers *ast.ModifierList, nested bool, keyword ast.Kind)

Source from the content-addressed store, hash-verified

2207}
2208
2209func (p *Parser) parseModuleOrNamespaceDeclaration(pos int, jsdoc jsdocScannerInfo, modifiers *ast.ModifierList, nested bool, keyword ast.Kind) *ast.Node {
2210 saveHasAwaitIdentifier := p.statementHasAwaitIdentifier
2211 var name *ast.Node
2212 if nested {
2213 name = p.parseIdentifierName()
2214 } else {
2215 name = p.parseIdentifier()
2216 }
2217 var body *ast.Node
2218 if p.parseOptional(ast.KindDotToken) {
2219 implicitExport := p.factory.NewModifier(ast.KindExportKeyword)
2220 implicitExport.Loc = core.NewTextRange(p.nodePos(), p.nodePos())
2221 implicitExport.Flags = ast.NodeFlagsReparsed
2222 implicitModifiers := p.newModifierList(implicitExport.Loc, p.nodeSliceArena.NewSlice1(implicitExport))
2223 body = p.parseModuleOrNamespaceDeclaration(p.nodePos(), 0 /*jsdoc*/, implicitModifiers, true /*nested*/, keyword)
2224 } else {
2225 body = p.parseModuleBlock()
2226 }
2227 result := p.finishNode(p.factory.NewModuleDeclaration(modifiers, keyword, name, body), pos)
2228 p.withJSDoc(result, jsdoc)
2229 p.checkJSSyntax(result)
2230 p.statementHasAwaitIdentifier = saveHasAwaitIdentifier
2231 return result
2232}
2233
2234func (p *Parser) parseImportDeclarationOrImportEqualsDeclaration(pos int, jsdoc jsdocScannerInfo, modifiers *ast.ModifierList) *ast.Statement {
2235 p.parseExpected(ast.KindImportKeyword)

Callers 1

Calls 13

parseIdentifierNameMethod · 0.95
parseIdentifierMethod · 0.95
parseOptionalMethod · 0.95
nodePosMethod · 0.95
newModifierListMethod · 0.95
parseModuleBlockMethod · 0.95
finishNodeMethod · 0.95
withJSDocMethod · 0.95
checkJSSyntaxMethod · 0.95
NewTextRangeFunction · 0.92
NewModifierMethod · 0.80
NewSlice1Method · 0.80

Tested by

no test coverage detected