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

Method parseTypeAliasDeclaration

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

Source from the content-addressed store, hash-verified

2095}
2096
2097func (p *Parser) parseTypeAliasDeclaration(pos int, jsdoc jsdocScannerInfo, modifiers *ast.ModifierList) *ast.Node {
2098 p.parseExpected(ast.KindTypeKeyword)
2099 if p.hasPrecedingLineBreak() {
2100 p.parseErrorAtCurrentToken(diagnostics.Line_break_not_permitted_here)
2101 }
2102 name := p.parseIdentifier()
2103 typeParameters := p.parseTypeParameters()
2104 p.parseExpected(ast.KindEqualsToken)
2105 var typeNode *ast.TypeNode
2106 if p.token == ast.KindIntrinsicKeyword && p.lookAhead((*Parser).nextIsNotDot) {
2107 typeNode = p.parseKeywordTypeNode()
2108 } else {
2109 typeNode = p.parseType()
2110 }
2111 p.parseSemicolon()
2112 result := p.finishNode(p.factory.NewTypeAliasDeclaration(modifiers, name, typeParameters, typeNode), pos)
2113 p.withJSDoc(result, jsdoc)
2114 p.checkJSSyntax(result)
2115 return result
2116}
2117
2118func (p *Parser) nextIsNotDot() bool {
2119 return p.nextToken() != ast.KindDotToken

Callers 1

Calls 13

parseExpectedMethod · 0.95
hasPrecedingLineBreakMethod · 0.95
parseIdentifierMethod · 0.95
parseTypeParametersMethod · 0.95
lookAheadMethod · 0.95
parseKeywordTypeNodeMethod · 0.95
parseTypeMethod · 0.95
parseSemicolonMethod · 0.95
finishNodeMethod · 0.95
withJSDocMethod · 0.95
checkJSSyntaxMethod · 0.95

Tested by

no test coverage detected