()
| 3673 | } |
| 3674 | |
| 3675 | func (p *Parser) parseAssertsTypePredicate() *ast.TypeNode { |
| 3676 | pos := p.nodePos() |
| 3677 | assertsModifier := p.parseExpectedToken(ast.KindAssertsKeyword) |
| 3678 | var parameterName *ast.Node |
| 3679 | if p.token == ast.KindThisKeyword { |
| 3680 | parameterName = p.parseThisTypeNode() |
| 3681 | } else { |
| 3682 | parameterName = p.parseIdentifier() |
| 3683 | } |
| 3684 | var typeNode *ast.TypeNode |
| 3685 | if p.parseOptional(ast.KindIsKeyword) { |
| 3686 | typeNode = p.parseType() |
| 3687 | } |
| 3688 | return p.finishNode(p.factory.NewTypePredicateNode(assertsModifier, parameterName, typeNode), pos) |
| 3689 | } |
| 3690 | |
| 3691 | func (p *Parser) parseTemplateType() *ast.Node { |
| 3692 | pos := p.nodePos() |
no test coverage detected