| 643 | } |
| 644 | |
| 645 | size_t ValueHash(const Value& value) { |
| 646 | switch (value.kind()) { |
| 647 | case ValueKind::kBool: |
| 648 | return absl::HashOf(value.kind(), value.GetBool()); |
| 649 | case ValueKind::kInt: |
| 650 | return absl::HashOf(ValueKind::kInt, |
| 651 | absl::implicit_cast<int64_t>(value.GetInt())); |
| 652 | case ValueKind::kUint: |
| 653 | return absl::HashOf(ValueKind::kUint, |
| 654 | absl::implicit_cast<uint64_t>(value.GetUint())); |
| 655 | case ValueKind::kString: |
| 656 | return absl::HashOf(value.kind(), value.GetString()); |
| 657 | default: |
| 658 | ABSL_UNREACHABLE(); |
| 659 | } |
| 660 | } |
| 661 | |
| 662 | size_t ValueHash(const CelValue& value) { |
| 663 | switch (value.type()) { |
nothing calls this directly
no test coverage detected