| 264 | } |
| 265 | |
| 266 | size_t Expression::hash() const { |
| 267 | if (auto lit = literal()) { |
| 268 | if (lit->is_scalar()) { |
| 269 | return lit->scalar()->hash(); |
| 270 | } |
| 271 | return 0; |
| 272 | } |
| 273 | |
| 274 | if (auto ref = field_ref()) { |
| 275 | return ref->hash(); |
| 276 | } |
| 277 | |
| 278 | return CallNotNull(*this)->hash; |
| 279 | } |
| 280 | |
| 281 | bool Expression::IsBound() const { |
| 282 | if (type() == nullptr) return false; |
no test coverage detected