| 304 | ~RunEndEncodedMatcher() override = default; |
| 305 | |
| 306 | bool Matches(const DataType& type) const override { |
| 307 | if (type.id() == Type::RUN_END_ENCODED) { |
| 308 | const auto& ree_type = dynamic_cast<const RunEndEncodedType&>(type); |
| 309 | // This invariant is enforced in RunEndEncodedType's constructor |
| 310 | DCHECK(is_run_end_type(ree_type.run_end_type()->id())); |
| 311 | return run_end_type_matcher->Matches(*ree_type.run_end_type()) && |
| 312 | value_type_matcher->Matches(*ree_type.value_type()); |
| 313 | } |
| 314 | return false; |
| 315 | } |
| 316 | |
| 317 | bool Equals(const TypeMatcher& other) const override { |
| 318 | if (this == &other) { |
nothing calls this directly
no test coverage detected