(negative bool)
| 2878 | } |
| 2879 | |
| 2880 | func (p *Parser) parseLiteralTypeNode(negative bool) *ast.Node { |
| 2881 | pos := p.nodePos() |
| 2882 | if negative { |
| 2883 | p.nextToken() |
| 2884 | } |
| 2885 | var expression *ast.Expression |
| 2886 | if p.token == ast.KindTrueKeyword || p.token == ast.KindFalseKeyword || p.token == ast.KindNullKeyword { |
| 2887 | expression = p.parseKeywordExpression() |
| 2888 | } else { |
| 2889 | expression = p.parseLiteralExpression(false /*intern*/) |
| 2890 | } |
| 2891 | if negative { |
| 2892 | expression = p.finishNode(p.factory.NewPrefixUnaryExpression(ast.KindMinusToken, expression), pos) |
| 2893 | } |
| 2894 | return p.finishNode(p.factory.NewLiteralTypeNode(expression), pos) |
| 2895 | } |
| 2896 | |
| 2897 | func (p *Parser) parseTypeReference() *ast.Node { |
| 2898 | pos := p.nodePos() |
no test coverage detected