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

Method parseTypeOrTypePredicate

internal/parser/parser.go:3408–3420  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3406}
3407
3408func (p *Parser) parseTypeOrTypePredicate() *ast.TypeNode {
3409 if p.isIdentifier() {
3410 state := p.mark()
3411 pos := p.nodePos()
3412 id := p.parseIdentifier()
3413 if p.token == ast.KindIsKeyword && !p.hasPrecedingLineBreak() {
3414 p.nextToken()
3415 return p.finishNode(p.factory.NewTypePredicateNode(nil /*assertsModifier*/, id, p.parseType()), pos)
3416 }
3417 p.rewind(state)
3418 }
3419 return p.parseType()
3420}
3421
3422func (p *Parser) parseTypeMemberSemicolon() {
3423 // We allow type members to be separated by commas or (possibly ASI) semicolons.

Callers 1

parseJSDocTypeMethod · 0.95

Calls 10

isIdentifierMethod · 0.95
markMethod · 0.95
nodePosMethod · 0.95
parseIdentifierMethod · 0.95
hasPrecedingLineBreakMethod · 0.95
nextTokenMethod · 0.95
finishNodeMethod · 0.95
parseTypeMethod · 0.95
rewindMethod · 0.95
NewTypePredicateNodeMethod · 0.80

Tested by

no test coverage detected