parseUnaryExpression parses NOT expressions and primary expressions
()
| 226 | |
| 227 | // parseUnaryExpression parses NOT expressions and primary expressions |
| 228 | func (p *ExpressionParser) parseUnaryExpression() (ConditionNode, error) { |
| 229 | if p.current().kind == tokenNot { |
| 230 | p.advance() // consume ! |
| 231 | operand, err := p.parseUnaryExpression() |
| 232 | if err != nil { |
| 233 | return nil, err |
| 234 | } |
| 235 | return &NotNode{Child: operand}, nil |
| 236 | } |
| 237 | |
| 238 | return p.parsePrimaryExpression() |
| 239 | } |
| 240 | |
| 241 | // parsePrimaryExpression parses literals and parenthesized expressions |
| 242 | func (p *ExpressionParser) parsePrimaryExpression() (ConditionNode, error) { |
no test coverage detected