| 453 | |
| 454 | template <typename Sink> |
| 455 | void AbslStringify(Sink& sink, const Constant& constant) { |
| 456 | absl::visit( |
| 457 | absl::Overload( |
| 458 | [&sink](absl::monostate) -> void { sink.Append("<unspecified>"); }, |
| 459 | [&sink](std::nullptr_t value) -> void { |
| 460 | sink.Append(FormatNullConstant(value)); |
| 461 | }, |
| 462 | [&sink](bool value) -> void { |
| 463 | sink.Append(FormatBoolConstant(value)); |
| 464 | }, |
| 465 | [&sink](int64_t value) -> void { |
| 466 | sink.Append(FormatIntConstant(value)); |
| 467 | }, |
| 468 | [&sink](uint64_t value) -> void { |
| 469 | sink.Append(FormatUintConstant(value)); |
| 470 | }, |
| 471 | [&sink](double value) -> void { |
| 472 | sink.Append(FormatDoubleConstant(value)); |
| 473 | }, |
| 474 | [&sink](const BytesConstant& value) -> void { |
| 475 | sink.Append(FormatBytesConstant(value)); |
| 476 | }, |
| 477 | [&sink](const StringConstant& value) -> void { |
| 478 | sink.Append(FormatStringConstant(value)); |
| 479 | }, |
| 480 | [&sink](absl::Duration value) -> void { |
| 481 | sink.Append(FormatDurationConstant(value)); |
| 482 | }, |
| 483 | [&sink](absl::Time value) -> void { |
| 484 | sink.Append(FormatTimestampConstant(value)); |
| 485 | }), |
| 486 | constant.kind()); |
| 487 | } |
| 488 | |
| 489 | } // namespace cel |
| 490 |
nothing calls this directly
no test coverage detected