()
| 87 | } |
| 88 | |
| 89 | func (p *parser) parseEquality() (Value, error) { |
| 90 | left, err := p.parseComparison() |
| 91 | if err != nil { |
| 92 | return Value{}, err |
| 93 | } |
| 94 | for { |
| 95 | op := p.peekTwo() |
| 96 | if op != "==" && op != "!=" { |
| 97 | break |
| 98 | } |
| 99 | p.pos += 2 |
| 100 | right, err := p.parseComparison() |
| 101 | if err != nil { |
| 102 | return Value{}, err |
| 103 | } |
| 104 | if op == "==" { |
| 105 | left = BoolVal(compareValues(left, right) == 0) |
| 106 | } else { |
| 107 | left = BoolVal(compareValues(left, right) != 0) |
| 108 | } |
| 109 | } |
| 110 | return left, nil |
| 111 | } |
| 112 | |
| 113 | func (p *parser) parseComparison() (Value, error) { |
| 114 | left, err := p.parseAddSub() |
no test coverage detected