(this super.Value)
| 186 | } |
| 187 | |
| 188 | func (e *Equal) Eval(this super.Value) super.Value { |
| 189 | lhsVal, rhsVal, errVal := e.numeric.eval(this) |
| 190 | if errVal != nil { |
| 191 | return *errVal |
| 192 | } |
| 193 | if lhsVal.IsNull() || rhsVal.IsNull() { |
| 194 | return super.Null |
| 195 | } |
| 196 | result := coerce.Equal(lhsVal, rhsVal) |
| 197 | if !e.equality { |
| 198 | result = !result |
| 199 | } |
| 200 | if result { |
| 201 | return super.True |
| 202 | } |
| 203 | return super.False |
| 204 | } |
| 205 | |
| 206 | type RegexpMatch struct { |
| 207 | re *regexp.Regexp |