protovalidate 0.1.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1827) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +8 -0
  3. data/CHANGELOG.md +5 -0
  4. data/LICENSE.txt +201 -0
  5. data/NOTICE.md +30 -0
  6. data/README.md +93 -0
  7. data/Rakefile +32 -0
  8. data/ext/protovalidate/Cargo.lock +342 -0
  9. data/ext/protovalidate/Cargo.toml +27 -0
  10. data/ext/protovalidate/build.rs +4 -0
  11. data/ext/protovalidate/extconf.rb +8 -0
  12. data/ext/protovalidate/src/lib.rs +161 -0
  13. data/ext/protovalidate/sys/Cargo.toml +11 -0
  14. data/ext/protovalidate/sys/build.rs +218 -0
  15. data/ext/protovalidate/sys/filelists/absl.txt +126 -0
  16. data/ext/protovalidate/sys/filelists/antlr4.txt +139 -0
  17. data/ext/protovalidate/sys/filelists/celcpp.txt +199 -0
  18. data/ext/protovalidate/sys/filelists/protobuf.txt +83 -0
  19. data/ext/protovalidate/sys/filelists/protovalidate.txt +14 -0
  20. data/ext/protovalidate/sys/filelists/re2.txt +25 -0
  21. data/ext/protovalidate/sys/gen/buf/validate/validate.pb.cc +23621 -0
  22. data/ext/protovalidate/sys/gen/buf/validate/validate.pb.h +27800 -0
  23. data/ext/protovalidate/sys/gen/cel/expr/checked.pb.cc +6286 -0
  24. data/ext/protovalidate/sys/gen/cel/expr/checked.pb.h +6412 -0
  25. data/ext/protovalidate/sys/gen/cel/expr/syntax.pb.cc +7423 -0
  26. data/ext/protovalidate/sys/gen/cel/expr/syntax.pb.h +7510 -0
  27. data/ext/protovalidate/sys/gen/cel/expr/value.pb.cc +2512 -0
  28. data/ext/protovalidate/sys/gen/cel/expr/value.pb.h +2589 -0
  29. data/ext/protovalidate/sys/gen/internal/empty_descriptor_set_embed.inc +1 -0
  30. data/ext/protovalidate/sys/gen/parser/internal/CelBaseVisitor.cpp +9 -0
  31. data/ext/protovalidate/sys/gen/parser/internal/CelBaseVisitor.h +167 -0
  32. data/ext/protovalidate/sys/gen/parser/internal/CelLexer.cpp +308 -0
  33. data/ext/protovalidate/sys/gen/parser/internal/CelLexer.h +57 -0
  34. data/ext/protovalidate/sys/gen/parser/internal/CelParser.cpp +2484 -0
  35. data/ext/protovalidate/sys/gen/parser/internal/CelParser.h +697 -0
  36. data/ext/protovalidate/sys/gen/parser/internal/CelVisitor.cpp +9 -0
  37. data/ext/protovalidate/sys/gen/parser/internal/CelVisitor.h +98 -0
  38. data/ext/protovalidate/sys/shim/pv_shim.cc +260 -0
  39. data/ext/protovalidate/sys/shim/pv_shim.h +84 -0
  40. data/ext/protovalidate/sys/src/lib.rs +176 -0
  41. data/ext/protovalidate/sys/third_party/abseil-cpp/LICENSE +203 -0
  42. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/algorithm/algorithm.h +96 -0
  43. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/algorithm/container.h +2011 -0
  44. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/attributes.h +1100 -0
  45. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/call_once.h +228 -0
  46. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/casts.cc +61 -0
  47. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/casts.h +313 -0
  48. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/config.h +898 -0
  49. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/const_init.h +76 -0
  50. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/dynamic_annotations.h +480 -0
  51. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/fast_type_id.h +73 -0
  52. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/atomic_hook.h +200 -0
  53. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h +34 -0
  54. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +72 -0
  55. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/cycleclock.h +144 -0
  56. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +55 -0
  57. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +170 -0
  58. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
  59. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/endian.h +279 -0
  60. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/errno_saver.h +43 -0
  61. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/exception_safety_testing.h +1112 -0
  62. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/exception_testing.h +42 -0
  63. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/hardening.h +136 -0
  64. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/hide_ptr.h +51 -0
  65. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/iterator_traits.h +75 -0
  66. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/iterator_traits_test_helper.h +97 -0
  67. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +667 -0
  68. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +133 -0
  69. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +196 -0
  70. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/nullability_traits.h +71 -0
  71. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/per_thread_tls.h +52 -0
  72. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/poison.h +59 -0
  73. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/pretty_function.h +33 -0
  74. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +279 -0
  75. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/raw_logging.h +217 -0
  76. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/scheduling_mode.h +58 -0
  77. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/scoped_set_env.h +45 -0
  78. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock.cc +225 -0
  79. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock.h +310 -0
  80. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +35 -0
  81. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +71 -0
  82. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +46 -0
  83. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc +81 -0
  84. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +95 -0
  85. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +40 -0
  86. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/strerror.cc +88 -0
  87. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/strerror.h +39 -0
  88. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +493 -0
  89. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/sysinfo.h +74 -0
  90. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +163 -0
  91. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/thread_identity.h +325 -0
  92. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/tracing.cc +39 -0
  93. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/tracing.h +81 -0
  94. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +68 -0
  95. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +89 -0
  96. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +134 -0
  97. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +118 -0
  98. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +62 -0
  99. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/log_severity.cc +56 -0
  100. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/log_severity.h +185 -0
  101. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/macros.h +259 -0
  102. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/no_destructor.h +191 -0
  103. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/nullability.h +318 -0
  104. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/optimization.h +311 -0
  105. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/options.h +212 -0
  106. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/policy_checks.h +115 -0
  107. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/port.h +25 -0
  108. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/prefetch.h +209 -0
  109. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/thread_annotations.h +333 -0
  110. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/throw_delegate.cc +205 -0
  111. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/throw_delegate.h +65 -0
  112. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/cleanup/cleanup.h +143 -0
  113. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  114. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/btree_map.h +941 -0
  115. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/btree_set.h +872 -0
  116. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/chunked_queue.h +757 -0
  117. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/fixed_array.h +548 -0
  118. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/flat_hash_map.h +714 -0
  119. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/flat_hash_set.h +604 -0
  120. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/hash_container_defaults.h +45 -0
  121. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/inlined_vector.h +1025 -0
  122. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/btree.h +3157 -0
  123. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/btree_container.h +875 -0
  124. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/chunked_queue.h +173 -0
  125. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/common.h +302 -0
  126. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +151 -0
  127. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +275 -0
  128. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/container_memory.h +571 -0
  129. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +281 -0
  130. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hash_generator_testing.h +172 -0
  131. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hash_policy_testing.h +173 -0
  132. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +195 -0
  133. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
  134. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtable_debug.h +102 -0
  135. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
  136. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +316 -0
  137. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +294 -0
  138. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +31 -0
  139. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/heterogeneous_lookup_testing.h +80 -0
  140. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +1094 -0
  141. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/layout.h +828 -0
  142. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h +95 -0
  143. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +380 -0
  144. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +2110 -0
  145. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +4056 -0
  146. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +79 -0
  147. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/test_allocator.h +387 -0
  148. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/test_instance_tracker.h +274 -0
  149. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/tracked.h +83 -0
  150. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/linked_hash_map.h +666 -0
  151. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/linked_hash_set.h +527 -0
  152. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/node_hash_map.h +710 -0
  153. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/node_hash_set.h +603 -0
  154. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/crc32c.cc +95 -0
  155. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/crc32c.h +192 -0
  156. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +359 -0
  157. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h +69 -0
  158. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc.cc +435 -0
  159. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc.h +83 -0
  160. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +319 -0
  161. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc32c.h +39 -0
  162. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc32c_inline.h +72 -0
  163. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +131 -0
  164. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h +159 -0
  165. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +161 -0
  166. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h +122 -0
  167. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +78 -0
  168. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +459 -0
  169. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +93 -0
  170. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +824 -0
  171. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +81 -0
  172. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +195 -0
  173. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/failure_signal_handler.h +121 -0
  174. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +98 -0
  175. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
  176. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
  177. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +126 -0
  178. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +258 -0
  179. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +55 -0
  180. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +2958 -0
  181. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/demangle.h +76 -0
  182. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +925 -0
  183. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.h +50 -0
  184. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +413 -0
  185. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +141 -0
  186. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc +334 -0
  187. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/examine_stack.h +70 -0
  188. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stack_consumption.h +50 -0
  189. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +299 -0
  190. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +148 -0
  191. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +96 -0
  192. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +121 -0
  193. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +121 -0
  194. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +270 -0
  195. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +208 -0
  196. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +25 -0
  197. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +81 -0
  198. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +410 -0
  199. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +163 -0
  200. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +70 -0
  201. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +47 -0
  202. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +209 -0
  203. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
  204. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/leak_check.cc +73 -0
  205. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/leak_check.h +150 -0
  206. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/stacktrace.cc +204 -0
  207. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/stacktrace.h +259 -0
  208. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize.cc +62 -0
  209. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize.h +99 -0
  210. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +102 -0
  211. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +1708 -0
  212. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +63 -0
  213. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
  214. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +99 -0
  215. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/commandlineflag.h +220 -0
  216. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/config.h +68 -0
  217. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/declare.h +77 -0
  218. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/flag.h +307 -0
  219. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
  220. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/flag.h +969 -0
  221. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/parse.h +70 -0
  222. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/path_util.h +62 -0
  223. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +64 -0
  224. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/program_name.h +50 -0
  225. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/registry.h +98 -0
  226. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
  227. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/usage.h +106 -0
  228. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/marshalling.h +335 -0
  229. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/parse.h +130 -0
  230. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/reflection.h +90 -0
  231. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/usage.h +43 -0
  232. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/usage_config.h +135 -0
  233. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/any_invocable.h +335 -0
  234. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/bind_back.h +79 -0
  235. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/bind_front.h +200 -0
  236. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/function_ref.h +249 -0
  237. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +787 -0
  238. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/internal/back_binder.h +95 -0
  239. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/internal/front_binder.h +93 -0
  240. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/internal/function_ref.h +151 -0
  241. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/overload.h +72 -0
  242. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/hash.h +466 -0
  243. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/hash_testing.h +382 -0
  244. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/city.cc +337 -0
  245. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/city.h +78 -0
  246. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/hash.cc +430 -0
  247. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/hash.h +1619 -0
  248. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/spy_hash_state.h +289 -0
  249. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
  250. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/absl_check.h +117 -0
  251. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/absl_log.h +115 -0
  252. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +93 -0
  253. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/check.h +210 -0
  254. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/check_test_impl.inc +1035 -0
  255. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/die_if_null.cc +34 -0
  256. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/die_if_null.h +97 -0
  257. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/flags.h +43 -0
  258. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/globals.cc +178 -0
  259. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/globals.h +230 -0
  260. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/initialize.h +45 -0
  261. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/append_truncated.h +75 -0
  262. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/check_impl.h +151 -0
  263. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/check_op.cc +147 -0
  264. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/check_op.h +565 -0
  265. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/conditions.cc +85 -0
  266. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/conditions.h +247 -0
  267. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/config.h +45 -0
  268. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/container.h +312 -0
  269. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/flags.h +59 -0
  270. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/fnmatch.cc +73 -0
  271. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/fnmatch.h +35 -0
  272. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/globals.cc +145 -0
  273. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/globals.h +101 -0
  274. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_format.cc +205 -0
  275. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_format.h +78 -0
  276. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_impl.h +280 -0
  277. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_message.cc +788 -0
  278. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_message.h +469 -0
  279. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_sink_set.cc +296 -0
  280. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_sink_set.h +54 -0
  281. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/nullguard.cc +35 -0
  282. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/nullguard.h +88 -0
  283. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/nullstream.h +128 -0
  284. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/proto.cc +231 -0
  285. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/proto.h +298 -0
  286. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/strip.h +99 -0
  287. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/structured.h +160 -0
  288. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/structured_proto.cc +115 -0
  289. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/structured_proto.h +108 -0
  290. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/test_actions.h +90 -0
  291. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/test_helpers.h +71 -0
  292. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/test_matchers.h +94 -0
  293. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/vlog_config.cc +347 -0
  294. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/vlog_config.h +164 -0
  295. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/voidify.h +50 -0
  296. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log.h +378 -0
  297. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_basic_test_impl.inc +654 -0
  298. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_entry.cc +263 -0
  299. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_entry.h +223 -0
  300. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_sink.cc +23 -0
  301. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_sink.h +71 -0
  302. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_sink_registry.h +64 -0
  303. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_streamer.h +208 -0
  304. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/scoped_mock_log.h +203 -0
  305. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/structured.h +75 -0
  306. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/vlog_is_on.h +72 -0
  307. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/memory/memory.h +328 -0
  308. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/meta/internal/constexpr_testing.h +73 -0
  309. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/meta/internal/requires.h +67 -0
  310. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/meta/type_traits.h +646 -0
  311. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/bits.h +262 -0
  312. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/int128.cc +344 -0
  313. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/int128.h +1224 -0
  314. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +303 -0
  315. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +347 -0
  316. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/internal/bits.h +394 -0
  317. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  318. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/hashtable.h +40 -0
  319. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +93 -0
  320. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.h +130 -0
  321. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler.h +211 -0
  322. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/profile_builder.h +161 -0
  323. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +253 -0
  324. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +202 -0
  325. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/beta_distribution.h +429 -0
  326. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/bit_gen_ref.h +160 -0
  327. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/discrete_distribution.h +249 -0
  328. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/distributions.h +450 -0
  329. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/exponential_distribution.h +166 -0
  330. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/gaussian_distribution.h +276 -0
  331. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/chi_square.h +89 -0
  332. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +83 -0
  333. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/distribution_test_util.h +113 -0
  334. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
  335. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/explicit_seed_seq.h +92 -0
  336. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +271 -0
  337. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/fastmath.h +57 -0
  338. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/generate_real.h +144 -0
  339. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +248 -0
  340. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/mock_helpers.h +134 -0
  341. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/mock_overload_set.h +122 -0
  342. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/mock_validators.h +98 -0
  343. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/nanobenchmark.h +172 -0
  344. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +160 -0
  345. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +287 -0
  346. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/platform.h +158 -0
  347. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen.h +96 -0
  348. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
  349. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_engine.h +265 -0
  350. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
  351. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
  352. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
  353. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +166 -0
  354. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/seed_material.h +105 -0
  355. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/sequence_urbg.h +60 -0
  356. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/traits.h +170 -0
  357. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
  358. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +95 -0
  359. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +253 -0
  360. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/mock_distributions.h +269 -0
  361. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/mocking_access.h +74 -0
  362. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/mocking_bit_gen.h +227 -0
  363. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/poisson_distribution.h +262 -0
  364. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/random.h +224 -0
  365. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
  366. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/seed_sequences.h +112 -0
  367. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +276 -0
  368. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +204 -0
  369. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/zipf_distribution.h +273 -0
  370. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/internal/status_internal.cc +296 -0
  371. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/internal/status_internal.h +157 -0
  372. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/internal/status_matchers.h +260 -0
  373. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +657 -0
  374. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status.cc +413 -0
  375. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status.h +1174 -0
  376. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_builder.h +978 -0
  377. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_macros.h +484 -0
  378. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_matchers.h +167 -0
  379. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_payload_printer.cc +36 -0
  380. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_payload_printer.h +53 -0
  381. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/statusor.cc +106 -0
  382. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/statusor.h +776 -0
  383. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/ascii.cc +296 -0
  384. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/ascii.h +288 -0
  385. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/charconv.cc +1442 -0
  386. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/charconv.h +123 -0
  387. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/charset.h +163 -0
  388. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord.cc +1601 -0
  389. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord.h +1773 -0
  390. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord_analysis.cc +196 -0
  391. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord_analysis.h +63 -0
  392. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord_buffer.h +574 -0
  393. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord_test_helpers.h +122 -0
  394. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cordz_test_helpers.h +152 -0
  395. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/escaping.cc +1183 -0
  396. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/escaping.h +195 -0
  397. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/has_absl_stringify.h +64 -0
  398. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/has_ostream_operator.h +42 -0
  399. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/append_and_overwrite.h +93 -0
  400. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +357 -0
  401. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +433 -0
  402. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +504 -0
  403. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/charconv_parse.h +99 -0
  404. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
  405. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +70 -0
  406. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +942 -0
  407. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1237 -0
  408. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +944 -0
  409. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +187 -0
  410. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +267 -0
  411. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +69 -0
  412. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +212 -0
  413. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +64 -0
  414. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +47 -0
  415. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +56 -0
  416. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h +103 -0
  417. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +195 -0
  418. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_test_util.h +205 -0
  419. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +102 -0
  420. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +87 -0
  421. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +165 -0
  422. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +98 -0
  423. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +424 -0
  424. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +295 -0
  425. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token.h +97 -0
  426. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +88 -0
  427. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
  428. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +123 -0
  429. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +99 -0
  430. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +35 -0
  431. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/escaping.cc +68 -0
  432. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/escaping.h +35 -0
  433. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/escaping_test_common.h +133 -0
  434. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/generic_printer.h +115 -0
  435. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/generic_printer_internal.h +444 -0
  436. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/memutil.cc +48 -0
  437. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/memutil.h +40 -0
  438. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/numbers_test_common.h +184 -0
  439. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +43 -0
  440. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/ostringstream.h +114 -0
  441. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/pow10_helper.h +40 -0
  442. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +114 -0
  443. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h +248 -0
  444. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +615 -0
  445. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +653 -0
  446. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +275 -0
  447. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +237 -0
  448. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +98 -0
  449. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +357 -0
  450. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +53 -0
  451. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +456 -0
  452. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +2148 -0
  453. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +37 -0
  454. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +74 -0
  455. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +97 -0
  456. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +140 -0
  457. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +271 -0
  458. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +340 -0
  459. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +524 -0
  460. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/string_constant.h +67 -0
  461. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc +28 -0
  462. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h +69 -0
  463. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/stringify_stream.h +119 -0
  464. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/utf8.cc +148 -0
  465. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/utf8.h +64 -0
  466. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/match.cc +133 -0
  467. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/match.h +129 -0
  468. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/numbers.cc +1636 -0
  469. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/numbers.h +363 -0
  470. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/resize_and_overwrite.h +198 -0
  471. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_cat.cc +247 -0
  472. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_cat.h +668 -0
  473. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_format.h +887 -0
  474. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_join.h +301 -0
  475. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_replace.cc +91 -0
  476. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_replace.h +222 -0
  477. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_split.cc +144 -0
  478. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_split.h +587 -0
  479. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/string_view.h +60 -0
  480. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/strip.h +99 -0
  481. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/substitute.cc +187 -0
  482. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/substitute.h +769 -0
  483. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/barrier.cc +52 -0
  484. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/barrier.h +79 -0
  485. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +73 -0
  486. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +107 -0
  487. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +173 -0
  488. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +56 -0
  489. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/futex.h +177 -0
  490. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +107 -0
  491. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.h +63 -0
  492. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +714 -0
  493. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +146 -0
  494. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +220 -0
  495. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +178 -0
  496. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
  497. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +124 -0
  498. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +163 -0
  499. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.h +60 -0
  500. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +118 -0
  501. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.h +65 -0
  502. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +87 -0
  503. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h +56 -0
  504. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/thread_pool.h +96 -0
  505. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +69 -0
  506. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +38 -0
  507. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.h +90 -0
  508. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +147 -0
  509. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.h +72 -0
  510. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/mutex.cc +2833 -0
  511. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/mutex.h +1352 -0
  512. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/notification.cc +85 -0
  513. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/notification.h +133 -0
  514. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/civil_time.cc +200 -0
  515. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/civil_time.h +589 -0
  516. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/clock.cc +603 -0
  517. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/clock.h +81 -0
  518. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/clock_interface.h +93 -0
  519. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/duration.cc +918 -0
  520. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/format.cc +155 -0
  521. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +332 -0
  522. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +644 -0
  523. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +460 -0
  524. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +102 -0
  525. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +94 -0
  526. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.h +33 -0
  527. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +140 -0
  528. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +52 -0
  529. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1069 -0
  530. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +47 -0
  531. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +80 -0
  532. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +115 -0
  533. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +97 -0
  534. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +1070 -0
  535. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +128 -0
  536. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +333 -0
  537. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +60 -0
  538. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +217 -0
  539. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +185 -0
  540. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +37 -0
  541. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +159 -0
  542. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +132 -0
  543. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +115 -0
  544. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +116 -0
  545. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +31 -0
  546. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc +24 -0
  547. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/test_util.h +33 -0
  548. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/simulated_clock.h +109 -0
  549. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/time.cc +507 -0
  550. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/time.h +1926 -0
  551. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/any.h +66 -0
  552. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/any_span.h +1067 -0
  553. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/compare.h +506 -0
  554. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/internal/any_span.h +477 -0
  555. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/internal/span.h +140 -0
  556. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/optional.h +68 -0
  557. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/optional_ref.h +295 -0
  558. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/source_location.cc +18 -0
  559. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/source_location.h +172 -0
  560. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/span.h +827 -0
  561. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/variant.h +139 -0
  562. data/ext/protovalidate/sys/third_party/abseil-cpp/absl/utility/utility.h +151 -0
  563. data/ext/protovalidate/sys/third_party/antlr4/LICENSE.txt +28 -0
  564. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +10 -0
  565. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorListener.h +167 -0
  566. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +10 -0
  567. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +121 -0
  568. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +23 -0
  569. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRFileStream.h +30 -0
  570. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +180 -0
  571. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRInputStream.h +79 -0
  572. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +61 -0
  573. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BailErrorStrategy.h +59 -0
  574. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BaseErrorListener.cpp +25 -0
  575. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BaseErrorListener.h +36 -0
  576. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +414 -0
  577. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BufferedTokenStream.h +200 -0
  578. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CharStream.cpp +11 -0
  579. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CharStream.h +37 -0
  580. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonToken.cpp +193 -0
  581. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonToken.h +158 -0
  582. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +39 -0
  583. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenFactory.h +74 -0
  584. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenStream.cpp +78 -0
  585. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenStream.h +79 -0
  586. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +15 -0
  587. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ConsoleErrorListener.h +35 -0
  588. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +336 -0
  589. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +466 -0
  590. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +84 -0
  591. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +80 -0
  592. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Exceptions.cpp +64 -0
  593. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Exceptions.h +99 -0
  594. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/FailedPredicateException.cpp +52 -0
  595. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/FailedPredicateException.h +32 -0
  596. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/FlatHashMap.h +57 -0
  597. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/FlatHashSet.h +57 -0
  598. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/InputMismatchException.cpp +18 -0
  599. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/InputMismatchException.h +24 -0
  600. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/IntStream.cpp +12 -0
  601. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/IntStream.h +218 -0
  602. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +19 -0
  603. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/InterpreterRuleContext.h +45 -0
  604. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Lexer.cpp +294 -0
  605. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Lexer.h +196 -0
  606. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/LexerInterpreter.cpp +60 -0
  607. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/LexerInterpreter.h +46 -0
  608. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +36 -0
  609. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/LexerNoViableAltException.h +31 -0
  610. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ListTokenSource.cpp +92 -0
  611. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ListTokenSource.h +88 -0
  612. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/NoViableAltException.cpp +46 -0
  613. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/NoViableAltException.h +42 -0
  614. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Parser.cpp +670 -0
  615. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Parser.h +461 -0
  616. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ParserInterpreter.cpp +294 -0
  617. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ParserInterpreter.h +173 -0
  618. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ParserRuleContext.cpp +138 -0
  619. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ParserRuleContext.h +147 -0
  620. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +53 -0
  621. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ProxyErrorListener.h +38 -0
  622. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RecognitionException.cpp +65 -0
  623. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RecognitionException.h +98 -0
  624. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Recognizer.cpp +157 -0
  625. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Recognizer.h +160 -0
  626. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuleContext.cpp +144 -0
  627. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuleContext.h +141 -0
  628. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +27 -0
  629. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +32 -0
  630. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +54 -0
  631. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuntimeMetaData.h +155 -0
  632. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Token.cpp +9 -0
  633. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Token.h +92 -0
  634. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenFactory.h +30 -0
  635. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenSource.cpp +9 -0
  636. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenSource.h +85 -0
  637. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenStream.cpp +11 -0
  638. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenStream.h +137 -0
  639. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +428 -0
  640. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenStreamRewriter.h +295 -0
  641. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +208 -0
  642. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedCharStream.h +117 -0
  643. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +270 -0
  644. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +115 -0
  645. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Version.h +42 -0
  646. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Vocabulary.cpp +64 -0
  647. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Vocabulary.h +177 -0
  648. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/WritableToken.cpp +9 -0
  649. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/WritableToken.h +23 -0
  650. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/antlr4-common.h +101 -0
  651. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/antlr4-runtime.h +168 -0
  652. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATN.cpp +159 -0
  653. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATN.h +133 -0
  654. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +106 -0
  655. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfig.h +157 -0
  656. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +233 -0
  657. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +157 -0
  658. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +39 -0
  659. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +48 -0
  660. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +628 -0
  661. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +32 -0
  662. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +33 -0
  663. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNSimulator.h +71 -0
  664. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNState.cpp +56 -0
  665. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNState.h +139 -0
  666. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNStateType.cpp +33 -0
  667. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNStateType.h +36 -0
  668. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNType.h +20 -0
  669. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +29 -0
  670. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ActionTransition.h +35 -0
  671. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +16 -0
  672. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +68 -0
  673. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +129 -0
  674. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +51 -0
  675. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +27 -0
  676. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/AtomTransition.h +33 -0
  677. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +24 -0
  678. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/BasicState.h +23 -0
  679. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/BlockEndState.h +26 -0
  680. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/BlockStartState.h +30 -0
  681. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +14 -0
  682. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +47 -0
  683. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +14 -0
  684. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +70 -0
  685. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +25 -0
  686. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionInfo.h +227 -0
  687. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionState.cpp +12 -0
  688. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionState.h +34 -0
  689. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +31 -0
  690. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +42 -0
  691. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +15 -0
  692. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ErrorInfo.h +43 -0
  693. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/HashUtils.h +18 -0
  694. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +189 -0
  695. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +76 -0
  696. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +67 -0
  697. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +44 -0
  698. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +621 -0
  699. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +199 -0
  700. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerAction.cpp +15 -0
  701. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerAction.h +100 -0
  702. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +108 -0
  703. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +128 -0
  704. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerActionType.h +57 -0
  705. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +43 -0
  706. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +59 -0
  707. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +45 -0
  708. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +75 -0
  709. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +50 -0
  710. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +76 -0
  711. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +43 -0
  712. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerModeAction.h +57 -0
  713. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +36 -0
  714. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +53 -0
  715. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +36 -0
  716. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +53 -0
  717. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +43 -0
  718. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +57 -0
  719. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +36 -0
  720. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +51 -0
  721. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +43 -0
  722. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +51 -0
  723. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +16 -0
  724. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +42 -0
  725. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LoopEndState.h +26 -0
  726. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +22 -0
  727. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/NotSetTransition.h +27 -0
  728. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +16 -0
  729. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +25 -0
  730. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +102 -0
  731. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParseInfo.h +102 -0
  732. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +1413 -0
  733. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +911 -0
  734. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParserATNSimulatorOptions.h +50 -0
  735. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +29 -0
  736. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +25 -0
  737. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +23 -0
  738. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +35 -0
  739. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +17 -0
  740. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +62 -0
  741. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +24 -0
  742. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateTransition.h +50 -0
  743. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +601 -0
  744. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContext.h +225 -0
  745. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextCache.cpp +56 -0
  746. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextCache.h +63 -0
  747. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.cpp +167 -0
  748. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.h +101 -0
  749. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextMergeCacheOptions.h +71 -0
  750. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextType.h +21 -0
  751. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +202 -0
  752. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionMode.h +436 -0
  753. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +179 -0
  754. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +60 -0
  755. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +26 -0
  756. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RangeTransition.h +31 -0
  757. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RuleStartState.h +26 -0
  758. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RuleStopState.h +27 -0
  759. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +33 -0
  760. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RuleTransition.h +42 -0
  761. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +418 -0
  762. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SemanticContext.h +237 -0
  763. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SemanticContextType.h +23 -0
  764. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SerializedATNView.h +101 -0
  765. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SetTransition.cpp +28 -0
  766. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SetTransition.h +38 -0
  767. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +79 -0
  768. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +43 -0
  769. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +24 -0
  770. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +37 -0
  771. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +19 -0
  772. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +25 -0
  773. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/TokensStartState.h +24 -0
  774. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/Transition.cpp +36 -0
  775. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/Transition.h +65 -0
  776. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/TransitionType.cpp +27 -0
  777. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/TransitionType.h +33 -0
  778. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +21 -0
  779. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/WildcardTransition.h +27 -0
  780. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFA.cpp +115 -0
  781. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFA.h +96 -0
  782. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +60 -0
  783. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFASerializer.h +32 -0
  784. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFAState.cpp +59 -0
  785. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFAState.h +154 -0
  786. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +17 -0
  787. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +22 -0
  788. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/internal/Synchronization.cpp +100 -0
  789. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/internal/Synchronization.h +154 -0
  790. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +124 -0
  791. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +33 -0
  792. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/Interval.cpp +61 -0
  793. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/Interval.h +84 -0
  794. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +508 -0
  795. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/IntervalSet.h +190 -0
  796. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +120 -0
  797. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/MurmurHash.h +102 -0
  798. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/Predicate.cpp +4 -0
  799. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/Predicate.h +21 -0
  800. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Any.cpp +8 -0
  801. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Any.h +16 -0
  802. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Arrays.cpp +43 -0
  803. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Arrays.h +149 -0
  804. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/BitSet.h +76 -0
  805. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/CPPUtils.cpp +207 -0
  806. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/CPPUtils.h +65 -0
  807. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Casts.h +34 -0
  808. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Declarations.h +161 -0
  809. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/StringUtils.cpp +38 -0
  810. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/StringUtils.h +16 -0
  811. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Unicode.h +28 -0
  812. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Utf8.cpp +242 -0
  813. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Utf8.h +54 -0
  814. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +129 -0
  815. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ErrorNode.h +24 -0
  816. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +54 -0
  817. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +43 -0
  818. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +66 -0
  819. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +53 -0
  820. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTree.cpp +12 -0
  821. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTree.h +111 -0
  822. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +9 -0
  823. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +39 -0
  824. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +50 -0
  825. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeType.h +22 -0
  826. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +9 -0
  827. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +57 -0
  828. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +48 -0
  829. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +55 -0
  830. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/TerminalNode.h +40 -0
  831. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +54 -0
  832. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +32 -0
  833. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/Trees.cpp +241 -0
  834. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/Trees.h +78 -0
  835. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +9 -0
  836. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +44 -0
  837. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +69 -0
  838. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +132 -0
  839. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +64 -0
  840. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +105 -0
  841. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +370 -0
  842. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +185 -0
  843. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +77 -0
  844. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +117 -0
  845. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +39 -0
  846. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +86 -0
  847. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +28 -0
  848. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +51 -0
  849. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +36 -0
  850. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +80 -0
  851. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +154 -0
  852. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPath.h +86 -0
  853. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +31 -0
  854. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +40 -0
  855. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +180 -0
  856. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +53 -0
  857. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +13 -0
  858. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +22 -0
  859. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +20 -0
  860. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +27 -0
  861. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +30 -0
  862. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +26 -0
  863. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +20 -0
  864. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +25 -0
  865. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +33 -0
  866. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +26 -0
  867. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +23 -0
  868. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +23 -0
  869. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +24 -0
  870. data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +23 -0
  871. data/ext/protovalidate/sys/third_party/cel-cpp/LICENSE +202 -0
  872. data/ext/protovalidate/sys/third_party/cel-cpp/base/ast.h +20 -0
  873. data/ext/protovalidate/sys/third_party/cel-cpp/base/attribute.cc +330 -0
  874. data/ext/protovalidate/sys/third_party/cel-cpp/base/attribute.h +278 -0
  875. data/ext/protovalidate/sys/third_party/cel-cpp/base/attribute_set.h +108 -0
  876. data/ext/protovalidate/sys/third_party/cel-cpp/base/builtins.h +106 -0
  877. data/ext/protovalidate/sys/third_party/cel-cpp/base/function.h +20 -0
  878. data/ext/protovalidate/sys/third_party/cel-cpp/base/function_adapter.h +19 -0
  879. data/ext/protovalidate/sys/third_party/cel-cpp/base/function_descriptor.h +20 -0
  880. data/ext/protovalidate/sys/third_party/cel-cpp/base/function_result.h +70 -0
  881. data/ext/protovalidate/sys/third_party/cel-cpp/base/function_result_set.cc +28 -0
  882. data/ext/protovalidate/sys/third_party/cel-cpp/base/function_result_set.h +105 -0
  883. data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/memory_manager_testing.h +54 -0
  884. data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/message_wrapper.h +30 -0
  885. data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/operators.h +91 -0
  886. data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/unknown_set.cc +31 -0
  887. data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/unknown_set.h +131 -0
  888. data/ext/protovalidate/sys/third_party/cel-cpp/base/kind.h +25 -0
  889. data/ext/protovalidate/sys/third_party/cel-cpp/base/operators.h +507 -0
  890. data/ext/protovalidate/sys/third_party/cel-cpp/base/type_provider.h +26 -0
  891. data/ext/protovalidate/sys/third_party/cel-cpp/checker/checker_options.h +110 -0
  892. data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/builtins_arena.cc +28 -0
  893. data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/builtins_arena.h +29 -0
  894. data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/field_path.h +77 -0
  895. data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/namespace_generator.h +120 -0
  896. data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/proto_type_mask.h +111 -0
  897. data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/proto_type_mask_registry.h +83 -0
  898. data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/test_ast_helpers.h +31 -0
  899. data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/type_check_env.h +249 -0
  900. data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/type_checker_builder_impl.h +170 -0
  901. data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/type_checker_impl.h +58 -0
  902. data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/type_inference_context.h +229 -0
  903. data/ext/protovalidate/sys/third_party/cel-cpp/checker/optional.h +30 -0
  904. data/ext/protovalidate/sys/third_party/cel-cpp/checker/standard_library.h +26 -0
  905. data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_check_issue.cc +59 -0
  906. data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_check_issue.h +69 -0
  907. data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker.cc +36 -0
  908. data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker.h +65 -0
  909. data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker_builder.h +186 -0
  910. data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker_builder_factory.h +59 -0
  911. data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker_subset_factory.h +45 -0
  912. data/ext/protovalidate/sys/third_party/cel-cpp/checker/validation_result.cc +32 -0
  913. data/ext/protovalidate/sys/third_party/cel-cpp/checker/validation_result.h +117 -0
  914. data/ext/protovalidate/sys/third_party/cel-cpp/codelab/checked_expr_conversion_example.h +59 -0
  915. data/ext/protovalidate/sys/third_party/cel-cpp/codelab/exercise1.h +32 -0
  916. data/ext/protovalidate/sys/third_party/cel-cpp/codelab/exercise10.h +46 -0
  917. data/ext/protovalidate/sys/third_party/cel-cpp/codelab/exercise2.h +40 -0
  918. data/ext/protovalidate/sys/third_party/cel-cpp/codelab/exercise4.h +34 -0
  919. data/ext/protovalidate/sys/third_party/cel-cpp/codelab/network_functions.h +197 -0
  920. data/ext/protovalidate/sys/third_party/cel-cpp/common/allocator.h +606 -0
  921. data/ext/protovalidate/sys/third_party/cel-cpp/common/any.cc +38 -0
  922. data/ext/protovalidate/sys/third_party/cel-cpp/common/any.h +90 -0
  923. data/ext/protovalidate/sys/third_party/cel-cpp/common/arena.h +110 -0
  924. data/ext/protovalidate/sys/third_party/cel-cpp/common/arena_string.h +365 -0
  925. data/ext/protovalidate/sys/third_party/cel-cpp/common/arena_string_pool.h +86 -0
  926. data/ext/protovalidate/sys/third_party/cel-cpp/common/arena_string_view.h +239 -0
  927. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/constant_proto.cc +123 -0
  928. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/constant_proto.h +37 -0
  929. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/expr_proto.cc +514 -0
  930. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/expr_proto.h +32 -0
  931. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/metadata.cc +262 -0
  932. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/metadata.h +920 -0
  933. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/navigable_ast_internal.h +311 -0
  934. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/navigable_ast_kinds.cc +80 -0
  935. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/navigable_ast_kinds.h +74 -0
  936. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/source_info_proto.cc +90 -0
  937. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/source_info_proto.h +32 -0
  938. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast.cc +98 -0
  939. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast.h +157 -0
  940. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_proto.cc +547 -0
  941. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_proto.h +52 -0
  942. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_rewrite.cc +389 -0
  943. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_rewrite.h +146 -0
  944. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_traverse.cc +380 -0
  945. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_traverse.h +105 -0
  946. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_visitor.h +118 -0
  947. data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_visitor_base.h +88 -0
  948. data/ext/protovalidate/sys/third_party/cel-cpp/common/casting.h +75 -0
  949. data/ext/protovalidate/sys/third_party/cel-cpp/common/constant.cc +101 -0
  950. data/ext/protovalidate/sys/third_party/cel-cpp/common/constant.h +491 -0
  951. data/ext/protovalidate/sys/third_party/cel-cpp/common/container.cc +171 -0
  952. data/ext/protovalidate/sys/third_party/cel-cpp/common/container.h +138 -0
  953. data/ext/protovalidate/sys/third_party/cel-cpp/common/data.h +120 -0
  954. data/ext/protovalidate/sys/third_party/cel-cpp/common/decl.cc +221 -0
  955. data/ext/protovalidate/sys/third_party/cel-cpp/common/decl.h +446 -0
  956. data/ext/protovalidate/sys/third_party/cel-cpp/common/decl_proto.h +50 -0
  957. data/ext/protovalidate/sys/third_party/cel-cpp/common/decl_proto_v1alpha1.h +55 -0
  958. data/ext/protovalidate/sys/third_party/cel-cpp/common/descriptor_pool_type_introspector.cc +244 -0
  959. data/ext/protovalidate/sys/third_party/cel-cpp/common/descriptor_pool_type_introspector.h +106 -0
  960. data/ext/protovalidate/sys/third_party/cel-cpp/common/expr.cc +320 -0
  961. data/ext/protovalidate/sys/third_party/cel-cpp/common/expr.h +1720 -0
  962. data/ext/protovalidate/sys/third_party/cel-cpp/common/expr_factory.h +402 -0
  963. data/ext/protovalidate/sys/third_party/cel-cpp/common/expr_printer.h +57 -0
  964. data/ext/protovalidate/sys/third_party/cel-cpp/common/format_type_name.h +30 -0
  965. data/ext/protovalidate/sys/third_party/cel-cpp/common/function_descriptor.cc +98 -0
  966. data/ext/protovalidate/sys/third_party/cel-cpp/common/function_descriptor.h +124 -0
  967. data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/byte_string.cc +1074 -0
  968. data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/byte_string.h +688 -0
  969. data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/casting.h +237 -0
  970. data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/metadata.h +41 -0
  971. data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/reference_count.cc +118 -0
  972. data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/reference_count.h +406 -0
  973. data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/value_conversion.h +115 -0
  974. data/ext/protovalidate/sys/third_party/cel-cpp/common/json.h +35 -0
  975. data/ext/protovalidate/sys/third_party/cel-cpp/common/kind.cc +80 -0
  976. data/ext/protovalidate/sys/third_party/cel-cpp/common/kind.h +76 -0
  977. data/ext/protovalidate/sys/third_party/cel-cpp/common/legacy_value.cc +1324 -0
  978. data/ext/protovalidate/sys/third_party/cel-cpp/common/legacy_value.h +131 -0
  979. data/ext/protovalidate/sys/third_party/cel-cpp/common/memory.cc +83 -0
  980. data/ext/protovalidate/sys/third_party/cel-cpp/common/memory.h +1505 -0
  981. data/ext/protovalidate/sys/third_party/cel-cpp/common/memory_testing.h +71 -0
  982. data/ext/protovalidate/sys/third_party/cel-cpp/common/minimal_descriptor_database.h +32 -0
  983. data/ext/protovalidate/sys/third_party/cel-cpp/common/minimal_descriptor_pool.h +36 -0
  984. data/ext/protovalidate/sys/third_party/cel-cpp/common/native_type.h +26 -0
  985. data/ext/protovalidate/sys/third_party/cel-cpp/common/navigable_ast.cc +202 -0
  986. data/ext/protovalidate/sys/third_party/cel-cpp/common/navigable_ast.h +168 -0
  987. data/ext/protovalidate/sys/third_party/cel-cpp/common/operators.cc +233 -0
  988. data/ext/protovalidate/sys/third_party/cel-cpp/common/operators.h +87 -0
  989. data/ext/protovalidate/sys/third_party/cel-cpp/common/optional_ref.h +163 -0
  990. data/ext/protovalidate/sys/third_party/cel-cpp/common/reference.h +269 -0
  991. data/ext/protovalidate/sys/third_party/cel-cpp/common/reference_count.h +26 -0
  992. data/ext/protovalidate/sys/third_party/cel-cpp/common/signature.cc +640 -0
  993. data/ext/protovalidate/sys/third_party/cel-cpp/common/signature.h +101 -0
  994. data/ext/protovalidate/sys/third_party/cel-cpp/common/source.cc +679 -0
  995. data/ext/protovalidate/sys/third_party/cel-cpp/common/source.h +261 -0
  996. data/ext/protovalidate/sys/third_party/cel-cpp/common/standard_definitions.h +349 -0
  997. data/ext/protovalidate/sys/third_party/cel-cpp/common/type.cc +737 -0
  998. data/ext/protovalidate/sys/third_party/cel-cpp/common/type.h +1303 -0
  999. data/ext/protovalidate/sys/third_party/cel-cpp/common/type_introspector.cc +277 -0
  1000. data/ext/protovalidate/sys/third_party/cel-cpp/common/type_introspector.h +157 -0
  1001. data/ext/protovalidate/sys/third_party/cel-cpp/common/type_kind.h +113 -0
  1002. data/ext/protovalidate/sys/third_party/cel-cpp/common/type_proto.h +39 -0
  1003. data/ext/protovalidate/sys/third_party/cel-cpp/common/type_reflector.h +43 -0
  1004. data/ext/protovalidate/sys/third_party/cel-cpp/common/type_spec_resolver.cc +324 -0
  1005. data/ext/protovalidate/sys/third_party/cel-cpp/common/type_spec_resolver.h +46 -0
  1006. data/ext/protovalidate/sys/third_party/cel-cpp/common/type_testing.h +24 -0
  1007. data/ext/protovalidate/sys/third_party/cel-cpp/common/typeinfo.cc +73 -0
  1008. data/ext/protovalidate/sys/third_party/cel-cpp/common/typeinfo.h +221 -0
  1009. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/any_type.h +74 -0
  1010. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/basic_struct_type.cc +53 -0
  1011. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/basic_struct_type.h +119 -0
  1012. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/bool_type.h +73 -0
  1013. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/bool_wrapper_type.h +79 -0
  1014. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/bytes_type.h +73 -0
  1015. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/bytes_wrapper_type.h +79 -0
  1016. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/double_type.h +73 -0
  1017. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/double_wrapper_type.h +79 -0
  1018. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/duration_type.h +73 -0
  1019. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/dyn_type.h +73 -0
  1020. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/enum_type.cc +43 -0
  1021. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/enum_type.h +128 -0
  1022. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/error_type.h +75 -0
  1023. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/function_type.cc +89 -0
  1024. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/function_type.h +91 -0
  1025. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/function_type_pool.cc +29 -0
  1026. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/function_type_pool.h +102 -0
  1027. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/int_type.h +72 -0
  1028. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/int_wrapper_type.h +78 -0
  1029. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/legacy_type_introspector.h +34 -0
  1030. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/list_type.cc +77 -0
  1031. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/list_type.h +115 -0
  1032. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/list_type_pool.cc +29 -0
  1033. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/list_type_pool.h +80 -0
  1034. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/map_type.cc +122 -0
  1035. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/map_type.h +124 -0
  1036. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/map_type_pool.cc +30 -0
  1037. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/map_type_pool.h +93 -0
  1038. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/message_type.cc +95 -0
  1039. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/message_type.h +209 -0
  1040. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/null_type.h +73 -0
  1041. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/opaque_type.cc +109 -0
  1042. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/opaque_type.h +118 -0
  1043. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/opaque_type_pool.cc +33 -0
  1044. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/opaque_type_pool.h +99 -0
  1045. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/optional_type.cc +68 -0
  1046. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/optional_type.h +114 -0
  1047. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/string_type.h +73 -0
  1048. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/string_wrapper_type.h +86 -0
  1049. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/struct_type.cc +87 -0
  1050. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/struct_type.h +158 -0
  1051. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/timestamp_type.h +73 -0
  1052. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_param_type.h +78 -0
  1053. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_pool.cc +96 -0
  1054. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_pool.h +99 -0
  1055. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_type.cc +74 -0
  1056. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_type.h +92 -0
  1057. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_type_pool.cc +26 -0
  1058. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_type_pool.h +86 -0
  1059. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/types.h +99 -0
  1060. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/uint_type.h +73 -0
  1061. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/uint_wrapper_type.h +79 -0
  1062. data/ext/protovalidate/sys/third_party/cel-cpp/common/types/unknown_type.h +74 -0
  1063. data/ext/protovalidate/sys/third_party/cel-cpp/common/unknown.h +27 -0
  1064. data/ext/protovalidate/sys/third_party/cel-cpp/common/value.cc +2791 -0
  1065. data/ext/protovalidate/sys/third_party/cel-cpp/common/value.h +2947 -0
  1066. data/ext/protovalidate/sys/third_party/cel-cpp/common/value_kind.h +104 -0
  1067. data/ext/protovalidate/sys/third_party/cel-cpp/common/value_testing.h +307 -0
  1068. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bool_value.cc +97 -0
  1069. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bool_value.h +111 -0
  1070. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bytes_value.cc +194 -0
  1071. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bytes_value.h +338 -0
  1072. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bytes_value_input_stream.h +133 -0
  1073. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bytes_value_output_stream.h +176 -0
  1074. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_list_value.cc +614 -0
  1075. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_list_value.h +423 -0
  1076. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_map_value.cc +823 -0
  1077. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_map_value.h +469 -0
  1078. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_struct_value.cc +385 -0
  1079. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_struct_value.h +459 -0
  1080. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_value.h +84 -0
  1081. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/double_value.cc +137 -0
  1082. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/double_value.h +101 -0
  1083. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/duration_value.cc +105 -0
  1084. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/duration_value.h +147 -0
  1085. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/enum_value.h +49 -0
  1086. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/error_value.cc +194 -0
  1087. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/error_value.h +276 -0
  1088. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/int_value.cc +111 -0
  1089. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/int_value.h +117 -0
  1090. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_list_value.cc +76 -0
  1091. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_list_value.h +167 -0
  1092. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_map_value.cc +76 -0
  1093. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_map_value.h +185 -0
  1094. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_struct_value.cc +43 -0
  1095. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_struct_value.h +183 -0
  1096. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/list_value.cc +304 -0
  1097. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/list_value.h +284 -0
  1098. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/list_value_builder.h +110 -0
  1099. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/list_value_variant.h +214 -0
  1100. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/map_value.cc +378 -0
  1101. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/map_value.h +323 -0
  1102. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/map_value_builder.h +110 -0
  1103. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/map_value_variant.h +212 -0
  1104. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/message_value.cc +306 -0
  1105. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/message_value.h +268 -0
  1106. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/null_value.cc +78 -0
  1107. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/null_value.h +96 -0
  1108. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/opaque_value.cc +194 -0
  1109. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/opaque_value.h +338 -0
  1110. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/optional_value.cc +435 -0
  1111. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/optional_value.h +207 -0
  1112. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_list_value.cc +486 -0
  1113. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_list_value.h +229 -0
  1114. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_map_value.cc +439 -0
  1115. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_map_value.h +250 -0
  1116. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_value.cc +103 -0
  1117. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_value.h +40 -0
  1118. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_map_field_value.cc +583 -0
  1119. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_map_field_value.h +242 -0
  1120. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_message_value.cc +411 -0
  1121. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_message_value.h +249 -0
  1122. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_repeated_field_value.cc +365 -0
  1123. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_repeated_field_value.h +220 -0
  1124. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/string_value.cc +1518 -0
  1125. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/string_value.h +489 -0
  1126. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value.cc +390 -0
  1127. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value.h +373 -0
  1128. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value_builder.cc +1552 -0
  1129. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value_builder.h +35 -0
  1130. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value_variant.h +205 -0
  1131. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/timestamp_value.cc +105 -0
  1132. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/timestamp_value.h +146 -0
  1133. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/type_value.cc +72 -0
  1134. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/type_value.h +108 -0
  1135. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/uint_value.cc +110 -0
  1136. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/uint_value.h +119 -0
  1137. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/unknown_value.cc +66 -0
  1138. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/unknown_value.h +121 -0
  1139. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/value_builder.cc +1432 -0
  1140. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/value_builder.h +36 -0
  1141. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/value_variant.cc +537 -0
  1142. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/value_variant.h +831 -0
  1143. data/ext/protovalidate/sys/third_party/cel-cpp/common/values/values.h +351 -0
  1144. data/ext/protovalidate/sys/third_party/cel-cpp/compiler/compiler.h +195 -0
  1145. data/ext/protovalidate/sys/third_party/cel-cpp/compiler/compiler_factory.h +70 -0
  1146. data/ext/protovalidate/sys/third_party/cel-cpp/compiler/compiler_library_subset_factory.h +80 -0
  1147. data/ext/protovalidate/sys/third_party/cel-cpp/compiler/optional.h +28 -0
  1148. data/ext/protovalidate/sys/third_party/cel-cpp/compiler/standard_library.h +27 -0
  1149. data/ext/protovalidate/sys/third_party/cel-cpp/env/config.h +173 -0
  1150. data/ext/protovalidate/sys/third_party/cel-cpp/env/env.h +76 -0
  1151. data/ext/protovalidate/sys/third_party/cel-cpp/env/env_runtime.h +85 -0
  1152. data/ext/protovalidate/sys/third_party/cel-cpp/env/env_std_extensions.h +42 -0
  1153. data/ext/protovalidate/sys/third_party/cel-cpp/env/env_yaml.h +74 -0
  1154. data/ext/protovalidate/sys/third_party/cel-cpp/env/internal/ext_registry.h +74 -0
  1155. data/ext/protovalidate/sys/third_party/cel-cpp/env/internal/runtime_ext_registry.h +84 -0
  1156. data/ext/protovalidate/sys/third_party/cel-cpp/env/runtime_std_extensions.h +46 -0
  1157. data/ext/protovalidate/sys/third_party/cel-cpp/env/type_info.h +42 -0
  1158. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/cel_expression_builder_flat_impl.cc +111 -0
  1159. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/cel_expression_builder_flat_impl.h +108 -0
  1160. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/check_ast_extensions.cc +58 -0
  1161. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/check_ast_extensions.h +34 -0
  1162. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/comprehension_vulnerability_check.cc +275 -0
  1163. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/comprehension_vulnerability_check.h +51 -0
  1164. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/constant_folding.cc +280 -0
  1165. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/constant_folding.h +42 -0
  1166. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/flat_expr_builder.cc +2667 -0
  1167. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/flat_expr_builder.h +104 -0
  1168. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/flat_expr_builder_extensions.cc +474 -0
  1169. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/flat_expr_builder_extensions.h +481 -0
  1170. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/instrumentation.h +60 -0
  1171. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/qualified_reference_resolver.cc +359 -0
  1172. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/qualified_reference_resolver.h +53 -0
  1173. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/regex_precompilation_optimization.cc +274 -0
  1174. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/regex_precompilation_optimization.h +29 -0
  1175. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/resolver.cc +222 -0
  1176. data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/resolver.h +127 -0
  1177. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/attribute_trail.cc +28 -0
  1178. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/attribute_trail.h +65 -0
  1179. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/attribute_utility.cc +260 -0
  1180. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/attribute_utility.h +179 -0
  1181. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/cel_expression_flat_impl.cc +147 -0
  1182. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/cel_expression_flat_impl.h +175 -0
  1183. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/compiler_constant_step.cc +37 -0
  1184. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/compiler_constant_step.h +76 -0
  1185. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/comprehension_slots.h +153 -0
  1186. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/comprehension_step.cc +685 -0
  1187. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/comprehension_step.h +119 -0
  1188. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/const_value_step.h +31 -0
  1189. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/container_access_step.cc +370 -0
  1190. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/container_access_step.h +26 -0
  1191. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_list_step.cc +283 -0
  1192. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_list_step.h +40 -0
  1193. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_map_step.cc +289 -0
  1194. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_map_step.h +59 -0
  1195. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_struct_step.cc +270 -0
  1196. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_struct_step.h +44 -0
  1197. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/direct_expression_step.cc +34 -0
  1198. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/direct_expression_step.h +99 -0
  1199. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/equality_steps.cc +293 -0
  1200. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/equality_steps.h +45 -0
  1201. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/evaluator_core.cc +178 -0
  1202. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/evaluator_core.h +516 -0
  1203. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/evaluator_stack.cc +92 -0
  1204. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/evaluator_stack.h +327 -0
  1205. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/expression_step_base.h +12 -0
  1206. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/function_step.cc +529 -0
  1207. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/function_step.h +48 -0
  1208. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/ident_step.cc +174 -0
  1209. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/ident_step.h +31 -0
  1210. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/iterator_stack.h +77 -0
  1211. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/jump_step.cc +172 -0
  1212. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/jump_step.h +74 -0
  1213. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/lazy_init_step.cc +236 -0
  1214. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/lazy_init_step.h +87 -0
  1215. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/logic_step.cc +487 -0
  1216. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/logic_step.h +49 -0
  1217. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/optional_or_step.cc +305 -0
  1218. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/optional_or_step.h +51 -0
  1219. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/regex_match_step.cc +135 -0
  1220. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/regex_match_step.h +37 -0
  1221. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/select_step.cc +581 -0
  1222. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/select_step.h +33 -0
  1223. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/shadowable_value_step.cc +98 -0
  1224. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/shadowable_value_step.h +26 -0
  1225. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/ternary_step.cc +194 -0
  1226. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/ternary_step.h +26 -0
  1227. data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/trace_step.h +73 -0
  1228. data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/adapter_activation_impl.cc +87 -0
  1229. data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/adapter_activation_impl.h +68 -0
  1230. data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/cel_value_equal.cc +242 -0
  1231. data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/cel_value_equal.h +34 -0
  1232. data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/errors.cc +64 -0
  1233. data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/errors.h +54 -0
  1234. data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/interop.h +20 -0
  1235. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/activation.cc +119 -0
  1236. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/activation.h +170 -0
  1237. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/activation_bind_helper.h +60 -0
  1238. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/ast_rewrite.h +175 -0
  1239. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/ast_traverse.h +110 -0
  1240. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/ast_visitor.h +185 -0
  1241. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/ast_visitor_base.h +109 -0
  1242. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/base_activation.h +75 -0
  1243. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/builtin_func_registrar.cc +65 -0
  1244. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/builtin_func_registrar.h +30 -0
  1245. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_attribute.cc +90 -0
  1246. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_attribute.h +64 -0
  1247. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_builtins.h +19 -0
  1248. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_expr_builder_factory.cc +146 -0
  1249. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_expr_builder_factory.h +43 -0
  1250. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_expression.h +144 -0
  1251. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function.cc +76 -0
  1252. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function.h +80 -0
  1253. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function_adapter.h +121 -0
  1254. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function_adapter_impl.h +407 -0
  1255. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function_registry.cc +122 -0
  1256. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function_registry.h +146 -0
  1257. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_number.cc +31 -0
  1258. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_number.h +36 -0
  1259. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_options.cc +51 -0
  1260. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_options.h +233 -0
  1261. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_type_registry.cc +64 -0
  1262. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_type_registry.h +145 -0
  1263. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_value.cc +412 -0
  1264. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_value.h +770 -0
  1265. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_value_internal.h +103 -0
  1266. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_value_producer.h +25 -0
  1267. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/comparison_functions.h +36 -0
  1268. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/container_function_registrar.h +36 -0
  1269. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/container_backed_list_impl.h +44 -0
  1270. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/container_backed_map_impl.cc +131 -0
  1271. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/container_backed_map_impl.h +70 -0
  1272. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/field_access.cc +85 -0
  1273. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/field_access.h +70 -0
  1274. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/field_backed_list_impl.h +33 -0
  1275. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/field_backed_map_impl.h +35 -0
  1276. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/internal_field_backed_list_impl.cc +36 -0
  1277. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/internal_field_backed_list_impl.h +59 -0
  1278. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/internal_field_backed_map_impl.cc +298 -0
  1279. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/internal_field_backed_map_impl.h +77 -0
  1280. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/equality_function_registrar.h +44 -0
  1281. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/extension_func_registrar.h +20 -0
  1282. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/logical_function_registrar.h +36 -0
  1283. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/message_wrapper.h +139 -0
  1284. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/portable_cel_function_adapter.h +72 -0
  1285. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/set_util.h +43 -0
  1286. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/source_position.h +65 -0
  1287. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/string_extension_func_registrar.cc +29 -0
  1288. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/string_extension_func_registrar.h +31 -0
  1289. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_descriptor_pool_builder.h +40 -0
  1290. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_wrap_util.cc +1479 -0
  1291. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_wrap_util.h +45 -0
  1292. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_wrapper.cc +60 -0
  1293. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_wrapper.h +53 -0
  1294. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/field_access_impl.cc +746 -0
  1295. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/field_access_impl.h +80 -0
  1296. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/legacy_type_adapter.h +177 -0
  1297. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/legacy_type_info_apis.h +108 -0
  1298. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/legacy_type_provider.cc +232 -0
  1299. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/legacy_type_provider.h +79 -0
  1300. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/proto_message_type_adapter.cc +708 -0
  1301. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/proto_message_type_adapter.h +137 -0
  1302. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/protobuf_descriptor_type_provider.cc +70 -0
  1303. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/protobuf_descriptor_type_provider.h +67 -0
  1304. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/protobuf_value_factory.h +36 -0
  1305. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/trivial_legacy_type_info.h +54 -0
  1306. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/transform_utility.h +39 -0
  1307. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/unknown_attribute_set.h +20 -0
  1308. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/unknown_function_result_set.cc +1 -0
  1309. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/unknown_function_result_set.h +27 -0
  1310. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/unknown_set.h +22 -0
  1311. data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/value_export_util.h +28 -0
  1312. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/bindings_ext.h +46 -0
  1313. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/comprehensions_v2.h +39 -0
  1314. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/comprehensions_v2_functions.h +35 -0
  1315. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/comprehensions_v2_macros.h +34 -0
  1316. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/encoders.h +45 -0
  1317. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/formatting.cc +570 -0
  1318. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/formatting.h +39 -0
  1319. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/lists_functions.h +138 -0
  1320. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/math_ext.h +39 -0
  1321. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/math_ext_decls.h +33 -0
  1322. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/math_ext_macros.h +38 -0
  1323. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/proto_ext.h +42 -0
  1324. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/ast_converters.h +56 -0
  1325. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/bind_proto_to_activation.h +38 -0
  1326. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/enum_adapter.h +30 -0
  1327. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/internal/map_reflection.cc +132 -0
  1328. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/internal/map_reflection.h +67 -0
  1329. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/internal/qualify.cc +457 -0
  1330. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/internal/qualify.h +117 -0
  1331. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/memory_manager.cc +37 -0
  1332. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/memory_manager.h +56 -0
  1333. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/runtime_adapter.h +51 -0
  1334. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/value.h +98 -0
  1335. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/value_testing.h +78 -0
  1336. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/regex_ext.h +131 -0
  1337. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/regex_functions.h +52 -0
  1338. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/select_optimization.cc +958 -0
  1339. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/select_optimization.h +90 -0
  1340. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/sets_functions.h +45 -0
  1341. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/strings.cc +432 -0
  1342. data/ext/protovalidate/sys/third_party/cel-cpp/extensions/strings.h +73 -0
  1343. data/ext/protovalidate/sys/third_party/cel-cpp/internal/align.h +95 -0
  1344. data/ext/protovalidate/sys/third_party/cel-cpp/internal/benchmark.h +20 -0
  1345. data/ext/protovalidate/sys/third_party/cel-cpp/internal/casts.h +50 -0
  1346. data/ext/protovalidate/sys/third_party/cel-cpp/internal/empty_descriptors.cc +73 -0
  1347. data/ext/protovalidate/sys/third_party/cel-cpp/internal/empty_descriptors.h +31 -0
  1348. data/ext/protovalidate/sys/third_party/cel-cpp/internal/equals_text_proto.h +65 -0
  1349. data/ext/protovalidate/sys/third_party/cel-cpp/internal/exceptions.h +35 -0
  1350. data/ext/protovalidate/sys/third_party/cel-cpp/internal/json.cc +2041 -0
  1351. data/ext/protovalidate/sys/third_party/cel-cpp/internal/json.h +141 -0
  1352. data/ext/protovalidate/sys/third_party/cel-cpp/internal/lexis.cc +79 -0
  1353. data/ext/protovalidate/sys/third_party/cel-cpp/internal/lexis.h +32 -0
  1354. data/ext/protovalidate/sys/third_party/cel-cpp/internal/manual.h +91 -0
  1355. data/ext/protovalidate/sys/third_party/cel-cpp/internal/message_equality.cc +1490 -0
  1356. data/ext/protovalidate/sys/third_party/cel-cpp/internal/message_equality.h +54 -0
  1357. data/ext/protovalidate/sys/third_party/cel-cpp/internal/message_type_name.h +56 -0
  1358. data/ext/protovalidate/sys/third_party/cel-cpp/internal/minimal_descriptor_database.h +32 -0
  1359. data/ext/protovalidate/sys/third_party/cel-cpp/internal/minimal_descriptor_pool.h +40 -0
  1360. data/ext/protovalidate/sys/third_party/cel-cpp/internal/names.h +26 -0
  1361. data/ext/protovalidate/sys/third_party/cel-cpp/internal/new.cc +142 -0
  1362. data/ext/protovalidate/sys/third_party/cel-cpp/internal/new.h +61 -0
  1363. data/ext/protovalidate/sys/third_party/cel-cpp/internal/noop_delete.h +53 -0
  1364. data/ext/protovalidate/sys/third_party/cel-cpp/internal/number.h +299 -0
  1365. data/ext/protovalidate/sys/third_party/cel-cpp/internal/overflow.cc +339 -0
  1366. data/ext/protovalidate/sys/third_party/cel-cpp/internal/overflow.h +178 -0
  1367. data/ext/protovalidate/sys/third_party/cel-cpp/internal/parse_text_proto.h +121 -0
  1368. data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_file_util.h +73 -0
  1369. data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_matchers.h +140 -0
  1370. data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_time_encoding.cc +103 -0
  1371. data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_time_encoding.h +49 -0
  1372. data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_util.h +87 -0
  1373. data/ext/protovalidate/sys/third_party/cel-cpp/internal/protobuf_runtime_version.h +32 -0
  1374. data/ext/protovalidate/sys/third_party/cel-cpp/internal/re2_options.h +61 -0
  1375. data/ext/protovalidate/sys/third_party/cel-cpp/internal/runfiles.h +36 -0
  1376. data/ext/protovalidate/sys/third_party/cel-cpp/internal/status_builder.h +114 -0
  1377. data/ext/protovalidate/sys/third_party/cel-cpp/internal/status_macros.h +152 -0
  1378. data/ext/protovalidate/sys/third_party/cel-cpp/internal/string_pool.cc +79 -0
  1379. data/ext/protovalidate/sys/third_party/cel-cpp/internal/string_pool.h +59 -0
  1380. data/ext/protovalidate/sys/third_party/cel-cpp/internal/strings.cc +693 -0
  1381. data/ext/protovalidate/sys/third_party/cel-cpp/internal/strings.h +90 -0
  1382. data/ext/protovalidate/sys/third_party/cel-cpp/internal/testing.h +44 -0
  1383. data/ext/protovalidate/sys/third_party/cel-cpp/internal/testing_descriptor_pool.h +35 -0
  1384. data/ext/protovalidate/sys/third_party/cel-cpp/internal/testing_message_factory.h +31 -0
  1385. data/ext/protovalidate/sys/third_party/cel-cpp/internal/time.cc +198 -0
  1386. data/ext/protovalidate/sys/third_party/cel-cpp/internal/time.h +65 -0
  1387. data/ext/protovalidate/sys/third_party/cel-cpp/internal/to_address.h +68 -0
  1388. data/ext/protovalidate/sys/third_party/cel-cpp/internal/unicode.h +28 -0
  1389. data/ext/protovalidate/sys/third_party/cel-cpp/internal/utf8.cc +526 -0
  1390. data/ext/protovalidate/sys/third_party/cel-cpp/internal/utf8.h +82 -0
  1391. data/ext/protovalidate/sys/third_party/cel-cpp/internal/well_known_types.cc +2181 -0
  1392. data/ext/protovalidate/sys/third_party/cel-cpp/internal/well_known_types.h +1593 -0
  1393. data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/ast_factory.cc +320 -0
  1394. data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/ast_factory.h +174 -0
  1395. data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/ast_factory_interface.h +130 -0
  1396. data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/lexer.cc +711 -0
  1397. data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/lexer.h +286 -0
  1398. data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/options.h +29 -0
  1399. data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/pratt_parser.cc +226 -0
  1400. data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/pratt_parser.h +110 -0
  1401. data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/pratt_parser_worker.cc +261 -0
  1402. data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/pratt_parser_worker.h +1143 -0
  1403. data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro.cc +561 -0
  1404. data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro.h +229 -0
  1405. data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro_expr_factory.cc +128 -0
  1406. data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro_expr_factory.h +333 -0
  1407. data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro_registry.cc +87 -0
  1408. data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro_registry.h +59 -0
  1409. data/ext/protovalidate/sys/third_party/cel-cpp/parser/options.h +115 -0
  1410. data/ext/protovalidate/sys/third_party/cel-cpp/parser/parser.cc +1995 -0
  1411. data/ext/protovalidate/sys/third_party/cel-cpp/parser/parser.h +102 -0
  1412. data/ext/protovalidate/sys/third_party/cel-cpp/parser/parser_interface.h +160 -0
  1413. data/ext/protovalidate/sys/third_party/cel-cpp/parser/parser_subset_factory.h +41 -0
  1414. data/ext/protovalidate/sys/third_party/cel-cpp/parser/source_factory.h +47 -0
  1415. data/ext/protovalidate/sys/third_party/cel-cpp/parser/standard_macros.h +31 -0
  1416. data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy.h +333 -0
  1417. data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy_parse_context.h +65 -0
  1418. data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy_parse_result.h +105 -0
  1419. data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy_parser.h +40 -0
  1420. data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy_validation_result.h +84 -0
  1421. data/ext/protovalidate/sys/third_party/cel-cpp/policy/compiler.h +50 -0
  1422. data/ext/protovalidate/sys/third_party/cel-cpp/policy/internal/issue_reporter.h +57 -0
  1423. data/ext/protovalidate/sys/third_party/cel-cpp/policy/internal/optimizer_expr_factory.h +419 -0
  1424. data/ext/protovalidate/sys/third_party/cel-cpp/policy/internal/yaml_string_element_scanner.h +40 -0
  1425. data/ext/protovalidate/sys/third_party/cel-cpp/policy/test_util.h +33 -0
  1426. data/ext/protovalidate/sys/third_party/cel-cpp/policy/yaml_policy_parser.h +135 -0
  1427. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/activation.cc +141 -0
  1428. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/activation.h +184 -0
  1429. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/activation_interface.h +109 -0
  1430. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/bind_proto_to_activation.h +174 -0
  1431. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/comprehension_vulnerability_check.h +35 -0
  1432. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/constant_folding.h +69 -0
  1433. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/embedder_context.h +147 -0
  1434. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function.h +115 -0
  1435. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_adapter.h +830 -0
  1436. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_overload_reference.h +34 -0
  1437. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_provider.h +46 -0
  1438. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_registry.cc +263 -0
  1439. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_registry.h +160 -0
  1440. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/activation_attribute_matcher_access.cc +61 -0
  1441. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/activation_attribute_matcher_access.h +60 -0
  1442. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/attribute_matcher.h +48 -0
  1443. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/convert_constant.cc +78 -0
  1444. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/convert_constant.h +39 -0
  1445. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/errors.cc +69 -0
  1446. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/errors.h +71 -0
  1447. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/function_adapter.h +232 -0
  1448. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/issue_collector.h +64 -0
  1449. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/legacy_runtime_type_provider.h +37 -0
  1450. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_env.cc +73 -0
  1451. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_env.h +134 -0
  1452. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_env_testing.h +60 -0
  1453. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_friend_access.h +45 -0
  1454. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_impl.cc +159 -0
  1455. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_impl.h +125 -0
  1456. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_type_provider.cc +96 -0
  1457. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_type_provider.h +66 -0
  1458. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/optional_types.h +152 -0
  1459. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/reference_resolver.h +46 -0
  1460. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/regex_precompilation.h +32 -0
  1461. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/register_function_helper.h +99 -0
  1462. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime.h +229 -0
  1463. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime_builder.h +101 -0
  1464. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime_builder_factory.h +65 -0
  1465. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime_issue.h +88 -0
  1466. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime_options.h +209 -0
  1467. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/arithmetic_functions.cc +233 -0
  1468. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/arithmetic_functions.h +35 -0
  1469. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/comparison_functions.cc +272 -0
  1470. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/comparison_functions.h +36 -0
  1471. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/container_functions.cc +136 -0
  1472. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/container_functions.h +36 -0
  1473. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/container_membership_functions.cc +331 -0
  1474. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/container_membership_functions.h +34 -0
  1475. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/equality_functions.cc +612 -0
  1476. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/equality_functions.h +60 -0
  1477. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/logical_functions.cc +66 -0
  1478. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/logical_functions.h +36 -0
  1479. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/regex_functions.cc +56 -0
  1480. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/regex_functions.h +38 -0
  1481. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/string_functions.cc +140 -0
  1482. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/string_functions.h +34 -0
  1483. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/time_functions.cc +499 -0
  1484. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/time_functions.h +56 -0
  1485. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/type_conversion_functions.cc +470 -0
  1486. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/type_conversion_functions.h +34 -0
  1487. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard_functions.h +33 -0
  1488. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard_runtime_builder_factory.h +43 -0
  1489. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/type_registry.cc +84 -0
  1490. data/ext/protovalidate/sys/third_party/cel-cpp/runtime/type_registry.h +155 -0
  1491. data/ext/protovalidate/sys/third_party/cel-cpp/tools/branch_coverage.h +68 -0
  1492. data/ext/protovalidate/sys/third_party/cel-cpp/tools/cel_field_extractor.h +70 -0
  1493. data/ext/protovalidate/sys/third_party/cel-cpp/tools/cel_unparser.h +60 -0
  1494. data/ext/protovalidate/sys/third_party/cel-cpp/tools/descriptor_pool_builder.h +93 -0
  1495. data/ext/protovalidate/sys/third_party/cel-cpp/tools/flatbuffers_backed_impl.h +58 -0
  1496. data/ext/protovalidate/sys/third_party/cel-cpp/tools/navigable_ast.h +169 -0
  1497. data/ext/protovalidate/sys/third_party/cel-cpp/tools/proto_to_predicate.h +48 -0
  1498. data/ext/protovalidate/sys/third_party/cel-cpp/validator/ast_depth_validator.h +27 -0
  1499. data/ext/protovalidate/sys/third_party/cel-cpp/validator/comprehension_nesting_validator.h +31 -0
  1500. data/ext/protovalidate/sys/third_party/cel-cpp/validator/homogeneous_literal_validator.h +38 -0
  1501. data/ext/protovalidate/sys/third_party/cel-cpp/validator/regex_validator.h +53 -0
  1502. data/ext/protovalidate/sys/third_party/cel-cpp/validator/timestamp_literal_validator.h +29 -0
  1503. data/ext/protovalidate/sys/third_party/cel-cpp/validator/validator.cc +85 -0
  1504. data/ext/protovalidate/sys/third_party/cel-cpp/validator/validator.h +151 -0
  1505. data/ext/protovalidate/sys/third_party/protobuf/LICENSE +32 -0
  1506. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any.cc +65 -0
  1507. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any.h +161 -0
  1508. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any.pb.cc +528 -0
  1509. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any.pb.h +516 -0
  1510. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any_lite.cc +95 -0
  1511. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/api.pb.cc +1959 -0
  1512. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/api.pb.h +1985 -0
  1513. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena.cc +1004 -0
  1514. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena.h +1238 -0
  1515. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_align.cc +21 -0
  1516. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_align.h +199 -0
  1517. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_allocation_policy.h +102 -0
  1518. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_cleanup.h +108 -0
  1519. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_test_util.h +91 -0
  1520. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arenastring.cc +290 -0
  1521. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arenastring.h +545 -0
  1522. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arenaz_sampler.cc +227 -0
  1523. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arenaz_sampler.h +238 -0
  1524. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/annotation_test_util.h +105 -0
  1525. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/code_generator.h +256 -0
  1526. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/code_generator_lite.h +77 -0
  1527. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/command_line_interface.h +517 -0
  1528. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/command_line_interface_tester.h +162 -0
  1529. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/importer.cc +594 -0
  1530. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/importer.h +338 -0
  1531. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/mock_code_generator.h +144 -0
  1532. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/notices.h +242 -0
  1533. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/package_info.h +40 -0
  1534. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/parser.cc +2716 -0
  1535. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/parser.h +642 -0
  1536. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/plugin.h +73 -0
  1537. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.h +2320 -0
  1538. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/retention.h +70 -0
  1539. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/scc.h +155 -0
  1540. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/subprocess.h +91 -0
  1541. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/versions.h +78 -0
  1542. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/zip_writer.h +45 -0
  1543. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/cpp_edition_defaults.h +12 -0
  1544. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/cpp_features.pb.cc +539 -0
  1545. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/cpp_features.pb.h +630 -0
  1546. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor.cc +10801 -0
  1547. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor.h +3417 -0
  1548. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor.pb.cc +18982 -0
  1549. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor.pb.h +23170 -0
  1550. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_database.cc +1102 -0
  1551. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_database.h +423 -0
  1552. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_legacy.h +32 -0
  1553. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_lite.h +110 -0
  1554. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_test_utils.h +129 -0
  1555. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_visitor.h +187 -0
  1556. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/duration.pb.cc +481 -0
  1557. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/duration.pb.h +367 -0
  1558. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/dynamic_message.cc +1104 -0
  1559. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/dynamic_message.h +217 -0
  1560. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/empty.pb.cc +285 -0
  1561. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/empty.pb.h +245 -0
  1562. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/endian.h +192 -0
  1563. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/explicitly_constructed.h +71 -0
  1564. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/extension_set.cc +1925 -0
  1565. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/extension_set.h +1886 -0
  1566. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/extension_set_heavy.cc +459 -0
  1567. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/extension_set_inl.h +274 -0
  1568. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/feature_resolver.cc +637 -0
  1569. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/feature_resolver.h +108 -0
  1570. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/field_access_listener.h +166 -0
  1571. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/field_mask.pb.cc +472 -0
  1572. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/field_mask.pb.h +396 -0
  1573. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/field_with_arena.h +110 -0
  1574. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_enum_reflection.h +187 -0
  1575. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_enum_util.cc +223 -0
  1576. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_enum_util.h +185 -0
  1577. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_bases.cc +88 -0
  1578. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_bases.h +68 -0
  1579. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc +4185 -0
  1580. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_reflection.h +372 -0
  1581. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_decl.h +615 -0
  1582. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_full.cc +105 -0
  1583. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_gen.cc +960 -0
  1584. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_gen.h +193 -0
  1585. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_impl.h +1229 -0
  1586. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_lite.cc +3308 -0
  1587. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_util.cc +434 -0
  1588. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_util.h +445 -0
  1589. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/has_bits.h +138 -0
  1590. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/implicit_weak_message.cc +139 -0
  1591. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/implicit_weak_message.h +266 -0
  1592. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/inlined_string_field.cc +144 -0
  1593. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/inlined_string_field.h +379 -0
  1594. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_feature_helper.cc +28 -0
  1595. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_feature_helper.h +130 -0
  1596. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_metadata_locator.h +291 -0
  1597. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_visibility.h +55 -0
  1598. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_visibility_for_testing.h +27 -0
  1599. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/coded_stream.cc +1045 -0
  1600. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/coded_stream.h +1885 -0
  1601. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/gzip_stream.cc +333 -0
  1602. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/gzip_stream.h +189 -0
  1603. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/io_win32.cc +450 -0
  1604. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/io_win32.h +118 -0
  1605. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/package_info.h +30 -0
  1606. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/printer.cc +842 -0
  1607. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/printer.h +1183 -0
  1608. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/strtod.cc +260 -0
  1609. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/strtod.h +57 -0
  1610. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/test_zero_copy_stream.h +185 -0
  1611. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/tokenizer.cc +1262 -0
  1612. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/tokenizer.h +441 -0
  1613. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_sink.cc +45 -0
  1614. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_sink.h +59 -0
  1615. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream.cc +128 -0
  1616. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream.h +269 -0
  1617. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc +354 -0
  1618. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h +319 -0
  1619. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc +699 -0
  1620. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h +533 -0
  1621. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/descriptor_traits.h +510 -0
  1622. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/lexer.cc +512 -0
  1623. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/lexer.h +341 -0
  1624. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/message_path.cc +46 -0
  1625. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/message_path.h +61 -0
  1626. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/parser.cc +1437 -0
  1627. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/parser.h +37 -0
  1628. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/parser_traits.h +400 -0
  1629. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/unparser.cc +915 -0
  1630. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/unparser.h +38 -0
  1631. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/unparser_traits.h +414 -0
  1632. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/untyped_message.cc +577 -0
  1633. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/untyped_message.h +246 -0
  1634. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/writer.cc +307 -0
  1635. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/writer.h +214 -0
  1636. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/zero_copy_buffered_stream.cc +152 -0
  1637. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/zero_copy_buffered_stream.h +338 -0
  1638. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/json.cc +137 -0
  1639. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/json.h +200 -0
  1640. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map.cc +297 -0
  1641. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map.h +1787 -0
  1642. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_entry.h +139 -0
  1643. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_field.cc +597 -0
  1644. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_field.h +925 -0
  1645. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_field_lite.h +124 -0
  1646. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_test.inc +4427 -0
  1647. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_test_util.h +617 -0
  1648. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_type_handler.h +374 -0
  1649. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message.cc +745 -0
  1650. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message.h +1936 -0
  1651. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message_lite.cc +807 -0
  1652. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message_lite.h +1861 -0
  1653. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message_unittest.inc +2302 -0
  1654. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message_unittest_legacy_apis.inc +98 -0
  1655. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/metadata.h +13 -0
  1656. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/metadata_lite.h +271 -0
  1657. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/micro_string.cc +376 -0
  1658. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/micro_string.h +649 -0
  1659. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/os_macros_restore.inc +97 -0
  1660. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/os_macros_undef.inc +166 -0
  1661. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/package_info.h +43 -0
  1662. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/parse_context.cc +850 -0
  1663. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/parse_context.h +1883 -0
  1664. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/port.cc +131 -0
  1665. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/port.h +908 -0
  1666. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/port_def.inc +820 -0
  1667. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/port_undef.inc +97 -0
  1668. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/proto3_lite_unittest.inc +127 -0
  1669. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/raw_ptr.cc +29 -0
  1670. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/raw_ptr.h +64 -0
  1671. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection.h +603 -0
  1672. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_internal.h +313 -0
  1673. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_mode.cc +36 -0
  1674. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_mode.h +144 -0
  1675. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_ops.cc +456 -0
  1676. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_ops.h +67 -0
  1677. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_tester.h +127 -0
  1678. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_visit_field_info.h +1378 -0
  1679. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_visit_fields.h +511 -0
  1680. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field.cc +76 -0
  1681. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field.h +1814 -0
  1682. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field_proxy.h +697 -0
  1683. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field_proxy_iterator.h +236 -0
  1684. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field_proxy_traits.h +100 -0
  1685. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field_reflection_unittest.inc +687 -0
  1686. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_ptr_field.cc +251 -0
  1687. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h +2706 -0
  1688. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/runtime_version.h +27 -0
  1689. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/serial_arena.h +447 -0
  1690. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/service.cc +22 -0
  1691. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/service.h +271 -0
  1692. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/source_context.pb.cc +463 -0
  1693. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/source_context.pb.h +376 -0
  1694. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/string_block.h +181 -0
  1695. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/string_member_robber.h +17 -0
  1696. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/struct.pb.cc +1663 -0
  1697. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/struct.pb.h +1426 -0
  1698. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/callback.h +584 -0
  1699. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/common.cc +121 -0
  1700. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/common.h +94 -0
  1701. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/platform_macros.h +115 -0
  1702. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/port.h +228 -0
  1703. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/status_macros.h +72 -0
  1704. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/symbol_checker.cc +219 -0
  1705. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/symbol_checker.h +142 -0
  1706. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/test_textproto.h +54 -0
  1707. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/test_util.h +3897 -0
  1708. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/test_util2.h +70 -0
  1709. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/test_util_lite.h +86 -0
  1710. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/text_format.cc +3324 -0
  1711. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/text_format.h +925 -0
  1712. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/thread_safe_arena.h +297 -0
  1713. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/timestamp.pb.cc +481 -0
  1714. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/timestamp.pb.h +367 -0
  1715. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/type.pb.cc +3129 -0
  1716. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/type.pb.h +3343 -0
  1717. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/unknown_field_set.cc +351 -0
  1718. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/unknown_field_set.h +464 -0
  1719. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/delimited_message_util.cc +107 -0
  1720. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/delimited_message_util.h +85 -0
  1721. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/field_comparator.cc +237 -0
  1722. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/field_comparator.h +256 -0
  1723. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/field_mask_util.cc +754 -0
  1724. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/field_mask_util.h +242 -0
  1725. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/internal_timeval.h +28 -0
  1726. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/json_util.h +34 -0
  1727. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/message_differencer.cc +2372 -0
  1728. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/message_differencer.h +1002 -0
  1729. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/package_info.h +23 -0
  1730. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/python/field_mask_util_clif_aux.h +32 -0
  1731. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/time_util.cc +563 -0
  1732. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/time_util.h +297 -0
  1733. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/type_resolver.h +56 -0
  1734. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/type_resolver_util.cc +436 -0
  1735. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/type_resolver_util.h +45 -0
  1736. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/varint_shuffle.h +165 -0
  1737. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format.cc +1785 -0
  1738. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format.h +374 -0
  1739. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format_lite.cc +901 -0
  1740. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format_lite.h +1720 -0
  1741. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format_unittest.h +1726 -0
  1742. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wrappers.pb.cc +3203 -0
  1743. data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wrappers.pb.h +2317 -0
  1744. data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_range.c +207 -0
  1745. data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_range.h +23 -0
  1746. data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_range_neon.inc +117 -0
  1747. data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_range_sse.inc +272 -0
  1748. data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_validity.h +30 -0
  1749. data/ext/protovalidate/sys/third_party/protovalidate-cc/LICENSE +201 -0
  1750. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/cel_rules.h +116 -0
  1751. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/cel_validation_rules.cc +166 -0
  1752. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/cel_validation_rules.h +72 -0
  1753. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/extra_func.cc +482 -0
  1754. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/extra_func.h +31 -0
  1755. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/field_rules.cc +388 -0
  1756. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/field_rules.h +92 -0
  1757. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/ipv4.cc +69 -0
  1758. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/ipv4.h +58 -0
  1759. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/ipv6.cc +143 -0
  1760. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/ipv6.h +51 -0
  1761. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/parser_common.h +256 -0
  1762. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/uri.cc +469 -0
  1763. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/uri.h +25 -0
  1764. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/message_factory.cc +31 -0
  1765. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/message_factory.h +43 -0
  1766. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/message_rules.cc +114 -0
  1767. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/message_rules.h +39 -0
  1768. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/proto_field.h +155 -0
  1769. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/rules.cc +437 -0
  1770. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/rules.h +221 -0
  1771. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/validation_rules.h +153 -0
  1772. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/validator.cc +190 -0
  1773. data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/validator.h +156 -0
  1774. data/ext/protovalidate/sys/third_party/re2/LICENSE +27 -0
  1775. data/ext/protovalidate/sys/third_party/re2/re2/bitmap256.cc +43 -0
  1776. data/ext/protovalidate/sys/third_party/re2/re2/bitmap256.h +88 -0
  1777. data/ext/protovalidate/sys/third_party/re2/re2/bitstate.cc +389 -0
  1778. data/ext/protovalidate/sys/third_party/re2/re2/compile.cc +1265 -0
  1779. data/ext/protovalidate/sys/third_party/re2/re2/dfa.cc +2135 -0
  1780. data/ext/protovalidate/sys/third_party/re2/re2/filtered_re2.cc +138 -0
  1781. data/ext/protovalidate/sys/third_party/re2/re2/filtered_re2.h +115 -0
  1782. data/ext/protovalidate/sys/third_party/re2/re2/mimics_pcre.cc +196 -0
  1783. data/ext/protovalidate/sys/third_party/re2/re2/nfa.cc +714 -0
  1784. data/ext/protovalidate/sys/third_party/re2/re2/onepass.cc +623 -0
  1785. data/ext/protovalidate/sys/third_party/re2/re2/parse.cc +2529 -0
  1786. data/ext/protovalidate/sys/third_party/re2/re2/perl_groups.cc +119 -0
  1787. data/ext/protovalidate/sys/third_party/re2/re2/pod_array.h +55 -0
  1788. data/ext/protovalidate/sys/third_party/re2/re2/prefilter.cc +711 -0
  1789. data/ext/protovalidate/sys/third_party/re2/re2/prefilter.h +168 -0
  1790. data/ext/protovalidate/sys/third_party/re2/re2/prefilter_tree.cc +376 -0
  1791. data/ext/protovalidate/sys/third_party/re2/re2/prefilter_tree.h +153 -0
  1792. data/ext/protovalidate/sys/third_party/re2/re2/prog.cc +1181 -0
  1793. data/ext/protovalidate/sys/third_party/re2/re2/prog.h +493 -0
  1794. data/ext/protovalidate/sys/third_party/re2/re2/re2.cc +1355 -0
  1795. data/ext/protovalidate/sys/third_party/re2/re2/re2.h +1074 -0
  1796. data/ext/protovalidate/sys/third_party/re2/re2/regexp.cc +1004 -0
  1797. data/ext/protovalidate/sys/third_party/re2/re2/regexp.h +693 -0
  1798. data/ext/protovalidate/sys/third_party/re2/re2/set.cc +185 -0
  1799. data/ext/protovalidate/sys/third_party/re2/re2/set.h +91 -0
  1800. data/ext/protovalidate/sys/third_party/re2/re2/simplify.cc +689 -0
  1801. data/ext/protovalidate/sys/third_party/re2/re2/sparse_array.h +394 -0
  1802. data/ext/protovalidate/sys/third_party/re2/re2/sparse_set.h +266 -0
  1803. data/ext/protovalidate/sys/third_party/re2/re2/stringpiece.h +18 -0
  1804. data/ext/protovalidate/sys/third_party/re2/re2/tostring.cc +351 -0
  1805. data/ext/protovalidate/sys/third_party/re2/re2/unicode_casefold.cc +604 -0
  1806. data/ext/protovalidate/sys/third_party/re2/re2/unicode_casefold.h +77 -0
  1807. data/ext/protovalidate/sys/third_party/re2/re2/unicode_groups.cc +6517 -0
  1808. data/ext/protovalidate/sys/third_party/re2/re2/unicode_groups.h +66 -0
  1809. data/ext/protovalidate/sys/third_party/re2/re2/walker-inl.h +249 -0
  1810. data/ext/protovalidate/sys/third_party/re2/util/malloc_counter.h +19 -0
  1811. data/ext/protovalidate/sys/third_party/re2/util/pcre.h +671 -0
  1812. data/ext/protovalidate/sys/third_party/re2/util/rune.cc +260 -0
  1813. data/ext/protovalidate/sys/third_party/re2/util/strutil.cc +26 -0
  1814. data/ext/protovalidate/sys/third_party/re2/util/strutil.h +16 -0
  1815. data/ext/protovalidate/sys/third_party/re2/util/utf.h +44 -0
  1816. data/ext/protovalidate/sys/versions.json +15 -0
  1817. data/lib/buf/validate/validate_pb.rb +55 -0
  1818. data/lib/protovalidate/errors.rb +32 -0
  1819. data/lib/protovalidate/native.rb +30 -0
  1820. data/lib/protovalidate/validator.rb +96 -0
  1821. data/lib/protovalidate/version.rb +10 -0
  1822. data/lib/protovalidate/violation.rb +115 -0
  1823. data/lib/protovalidate.rb +48 -0
  1824. data/sig/buf/validate/validate_pb.rbs +64 -0
  1825. data/sig/protovalidate/native.rbs +14 -0
  1826. data/sig/protovalidate.rbs +90 -0
  1827. metadata +1900 -0
@@ -0,0 +1,2181 @@
1
+ // Copyright 2024 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ #include "internal/well_known_types.h"
16
+
17
+ #include <cstddef>
18
+ #include <cstdint>
19
+ #include <functional>
20
+ #include <string>
21
+ #include <utility>
22
+ #include <vector>
23
+
24
+ #include "google/protobuf/any.pb.h"
25
+ #include "google/protobuf/duration.pb.h"
26
+ #include "google/protobuf/field_mask.pb.h"
27
+ #include "google/protobuf/struct.pb.h"
28
+ #include "google/protobuf/timestamp.pb.h"
29
+ #include "google/protobuf/wrappers.pb.h"
30
+ #include "google/protobuf/descriptor.pb.h"
31
+ #include "absl/base/attributes.h"
32
+ #include "absl/base/call_once.h"
33
+ #include "absl/base/no_destructor.h"
34
+ #include "absl/base/nullability.h"
35
+ #include "absl/base/optimization.h"
36
+ #include "absl/functional/overload.h"
37
+ #include "absl/log/absl_check.h"
38
+ #include "absl/status/status.h"
39
+ #include "absl/status/statusor.h"
40
+ #include "absl/strings/cord.h"
41
+ #include "absl/strings/escaping.h"
42
+ #include "absl/strings/str_cat.h"
43
+ #include "absl/strings/str_join.h"
44
+ #include "absl/strings/string_view.h"
45
+ #include "absl/strings/strip.h"
46
+ #include "absl/time/time.h"
47
+ #include "absl/types/variant.h"
48
+ #include "common/json.h"
49
+ #include "common/memory.h"
50
+ #include "extensions/protobuf/internal/map_reflection.h"
51
+ #include "internal/protobuf_runtime_version.h"
52
+ #include "internal/status_macros.h"
53
+ #include "google/protobuf/arena.h"
54
+ #include "google/protobuf/descriptor.h"
55
+ #include "google/protobuf/map_field.h"
56
+ #include "google/protobuf/message.h"
57
+ #include "google/protobuf/message_lite.h"
58
+ #include "google/protobuf/reflection.h"
59
+ #include "google/protobuf/util/time_util.h"
60
+
61
+ namespace cel::well_known_types {
62
+
63
+ namespace {
64
+
65
+ using ::google::protobuf::Descriptor;
66
+ using ::google::protobuf::DescriptorPool;
67
+ using ::google::protobuf::EnumDescriptor;
68
+ using ::google::protobuf::FieldDescriptor;
69
+ using ::google::protobuf::OneofDescriptor;
70
+ using ::google::protobuf::util::TimeUtil;
71
+
72
+ using CppStringType = ::google::protobuf::FieldDescriptor::CppStringType;
73
+
74
+ FieldDescriptor::Label GetFieldLabel(
75
+ const FieldDescriptor* absl_nonnull field) {
76
+ if (field->is_required()) {
77
+ return FieldDescriptor::LABEL_REQUIRED;
78
+ } else if (field->is_repeated()) {
79
+ return FieldDescriptor::LABEL_REPEATED;
80
+ } else {
81
+ return FieldDescriptor::LABEL_OPTIONAL;
82
+ }
83
+ }
84
+
85
+ absl::string_view FlatStringValue(
86
+ const StringValue& value ABSL_ATTRIBUTE_LIFETIME_BOUND,
87
+ std::string& scratch ABSL_ATTRIBUTE_LIFETIME_BOUND) {
88
+ return absl::visit(
89
+ absl::Overload(
90
+ [](absl::string_view string) -> absl::string_view { return string; },
91
+ [&](const absl::Cord& cord) -> absl::string_view {
92
+ if (auto flat = cord.TryFlat(); flat) {
93
+ return *flat;
94
+ }
95
+ scratch = static_cast<std::string>(cord);
96
+ return scratch;
97
+ }),
98
+ AsVariant(value));
99
+ }
100
+
101
+ StringValue CopyStringValue(const StringValue& value,
102
+ std::string& scratch
103
+ ABSL_ATTRIBUTE_LIFETIME_BOUND) {
104
+ return absl::visit(
105
+ absl::Overload(
106
+ [&](absl::string_view string) -> StringValue {
107
+ if (string.data() != scratch.data()) {
108
+ scratch.assign(string.data(), string.size());
109
+ return scratch;
110
+ }
111
+ return string;
112
+ },
113
+ [](const absl::Cord& cord) -> StringValue { return cord; }),
114
+ AsVariant(value));
115
+ }
116
+
117
+ BytesValue CopyBytesValue(const BytesValue& value,
118
+ std::string& scratch ABSL_ATTRIBUTE_LIFETIME_BOUND) {
119
+ return absl::visit(
120
+ absl::Overload(
121
+ [&](absl::string_view string) -> BytesValue {
122
+ if (string.data() != scratch.data()) {
123
+ scratch.assign(string.data(), string.size());
124
+ return scratch;
125
+ }
126
+ return string;
127
+ },
128
+ [](const absl::Cord& cord) -> BytesValue { return cord; }),
129
+ AsVariant(value));
130
+ }
131
+
132
+ google::protobuf::Reflection::ScratchSpace& GetScratchSpace() {
133
+ static absl::NoDestructor<google::protobuf::Reflection::ScratchSpace> scratch_space;
134
+ return *scratch_space;
135
+ }
136
+
137
+ template <typename Variant>
138
+ Variant GetStringField(const google::protobuf::Reflection* absl_nonnull reflection,
139
+ const google::protobuf::Message& message,
140
+ const FieldDescriptor* absl_nonnull field,
141
+ CppStringType string_type,
142
+ std::string& scratch ABSL_ATTRIBUTE_LIFETIME_BOUND) {
143
+ ABSL_DCHECK(field->cpp_string_type() == string_type);
144
+ switch (string_type) {
145
+ case CppStringType::kCord:
146
+ return reflection->GetCord(message, field);
147
+ case CppStringType::kView:
148
+ ABSL_FALLTHROUGH_INTENDED;
149
+ case CppStringType::kString:
150
+ // Message is guaranteed to be storing as some sort of contiguous array of
151
+ // bytes, there is no need to copy. But unfortunately `GetStringView`
152
+ // forces taking scratch space.
153
+ return reflection->GetStringView(message, field, GetScratchSpace());
154
+ default:
155
+ return absl::string_view(
156
+ reflection->GetStringReference(message, field, &scratch));
157
+ }
158
+ }
159
+
160
+ template <typename Variant>
161
+ Variant GetStringField(const google::protobuf::Message& message,
162
+ const FieldDescriptor* absl_nonnull field,
163
+ CppStringType string_type,
164
+ std::string& scratch ABSL_ATTRIBUTE_LIFETIME_BOUND) {
165
+ return GetStringField<Variant>(message.GetReflection(), message, field,
166
+ string_type, scratch);
167
+ }
168
+
169
+ template <typename Variant>
170
+ Variant GetRepeatedStringField(
171
+ const google::protobuf::Reflection* absl_nonnull reflection,
172
+ const google::protobuf::Message& message, const FieldDescriptor* absl_nonnull field,
173
+ CppStringType string_type, int index,
174
+ std::string& scratch ABSL_ATTRIBUTE_LIFETIME_BOUND) {
175
+ ABSL_DCHECK(field->cpp_string_type() == string_type);
176
+ switch (string_type) {
177
+ case CppStringType::kView:
178
+ ABSL_FALLTHROUGH_INTENDED;
179
+ case CppStringType::kString:
180
+ // Message is guaranteed to be storing as some sort of contiguous array of
181
+ // bytes, there is no need to copy. But unfortunately `GetStringView`
182
+ // forces taking scratch space.
183
+ return reflection->GetRepeatedStringView(message, field, index,
184
+ GetScratchSpace());
185
+ default:
186
+ return absl::string_view(reflection->GetRepeatedStringReference(
187
+ message, field, index, &scratch));
188
+ }
189
+ }
190
+
191
+ template <typename Variant>
192
+ Variant GetRepeatedStringField(
193
+ const google::protobuf::Message& message, const FieldDescriptor* absl_nonnull field,
194
+ CppStringType string_type, int index,
195
+ std::string& scratch ABSL_ATTRIBUTE_LIFETIME_BOUND) {
196
+ return GetRepeatedStringField<Variant>(message.GetReflection(), message,
197
+ field, string_type, index, scratch);
198
+ }
199
+
200
+ absl::StatusOr<const Descriptor* absl_nonnull> GetMessageTypeByName(
201
+ const DescriptorPool* absl_nonnull pool, absl::string_view name) {
202
+ const auto* descriptor = pool->FindMessageTypeByName(name);
203
+ if (ABSL_PREDICT_FALSE(descriptor == nullptr)) {
204
+ return absl::InvalidArgumentError(absl::StrCat(
205
+ "descriptor missing for protocol buffer message well known type: ",
206
+ name));
207
+ }
208
+ return descriptor;
209
+ }
210
+
211
+ absl::StatusOr<const EnumDescriptor* absl_nonnull> GetEnumTypeByName(
212
+ const DescriptorPool* absl_nonnull pool, absl::string_view name) {
213
+ const auto* descriptor = pool->FindEnumTypeByName(name);
214
+ if (ABSL_PREDICT_FALSE(descriptor == nullptr)) {
215
+ return absl::InvalidArgumentError(absl::StrCat(
216
+ "descriptor missing for protocol buffer enum well known type: ", name));
217
+ }
218
+ return descriptor;
219
+ }
220
+
221
+ absl::StatusOr<const OneofDescriptor* absl_nonnull> GetOneofByName(
222
+ const Descriptor* absl_nonnull descriptor, absl::string_view name) {
223
+ const auto* oneof = descriptor->FindOneofByName(name);
224
+ if (ABSL_PREDICT_FALSE(oneof == nullptr)) {
225
+ return absl::InvalidArgumentError(absl::StrCat(
226
+ "oneof missing for protocol buffer message well known type: ",
227
+ descriptor->full_name(), ".", name));
228
+ }
229
+ return oneof;
230
+ }
231
+
232
+ absl::StatusOr<const FieldDescriptor* absl_nonnull> GetFieldByNumber(
233
+ const Descriptor* absl_nonnull descriptor, int32_t number) {
234
+ const auto* field = descriptor->FindFieldByNumber(number);
235
+ if (ABSL_PREDICT_FALSE(field == nullptr)) {
236
+ return absl::InvalidArgumentError(absl::StrCat(
237
+ "field missing for protocol buffer message well known type: ",
238
+ descriptor->full_name(), ".", number));
239
+ }
240
+ return field;
241
+ }
242
+
243
+ absl::Status CheckFieldType(const FieldDescriptor* absl_nonnull field,
244
+ FieldDescriptor::Type type) {
245
+ if (ABSL_PREDICT_FALSE(field->type() != type)) {
246
+ return absl::InvalidArgumentError(absl::StrCat(
247
+ "unexpected field type for protocol buffer message well known type: ",
248
+ field->full_name(), " ", field->type_name()));
249
+ }
250
+ return absl::OkStatus();
251
+ }
252
+
253
+ absl::Status CheckFieldCppType(const FieldDescriptor* absl_nonnull field,
254
+ FieldDescriptor::CppType cpp_type) {
255
+ if (ABSL_PREDICT_FALSE(field->cpp_type() != cpp_type)) {
256
+ return absl::InvalidArgumentError(absl::StrCat(
257
+ "unexpected field type for protocol buffer message well known type: ",
258
+ field->full_name(), " ", field->cpp_type_name()));
259
+ }
260
+ return absl::OkStatus();
261
+ }
262
+
263
+ absl::string_view LabelToString(FieldDescriptor::Label label) {
264
+ switch (label) {
265
+ case FieldDescriptor::LABEL_REPEATED:
266
+ return "REPEATED";
267
+ case FieldDescriptor::LABEL_REQUIRED:
268
+ return "REQUIRED";
269
+ case FieldDescriptor::LABEL_OPTIONAL:
270
+ return "OPTIONAL";
271
+ default:
272
+ return "ERROR";
273
+ }
274
+ }
275
+
276
+ absl::Status CheckFieldCardinality(const FieldDescriptor* absl_nonnull field,
277
+ FieldDescriptor::Label label) {
278
+ if (ABSL_PREDICT_FALSE(GetFieldLabel(field) != label)) {
279
+ return absl::InvalidArgumentError(absl::StrCat(
280
+ "unexpected field cardinality for protocol buffer message "
281
+ "well known type: ",
282
+ field->full_name(), " ", LabelToString(GetFieldLabel(field))));
283
+ }
284
+ return absl::OkStatus();
285
+ }
286
+
287
+ absl::string_view WellKnownTypeToString(
288
+ Descriptor::WellKnownType well_known_type) {
289
+ switch (well_known_type) {
290
+ case Descriptor::WELLKNOWNTYPE_BOOLVALUE:
291
+ return "BOOLVALUE";
292
+ case Descriptor::WELLKNOWNTYPE_INT32VALUE:
293
+ return "INT32VALUE";
294
+ case Descriptor::WELLKNOWNTYPE_INT64VALUE:
295
+ return "INT64VALUE";
296
+ case Descriptor::WELLKNOWNTYPE_UINT32VALUE:
297
+ return "UINT32VALUE";
298
+ case Descriptor::WELLKNOWNTYPE_UINT64VALUE:
299
+ return "UINT64VALUE";
300
+ case Descriptor::WELLKNOWNTYPE_FLOATVALUE:
301
+ return "FLOATVALUE";
302
+ case Descriptor::WELLKNOWNTYPE_DOUBLEVALUE:
303
+ return "DOUBLEVALUE";
304
+ case Descriptor::WELLKNOWNTYPE_BYTESVALUE:
305
+ return "BYTESVALUE";
306
+ case Descriptor::WELLKNOWNTYPE_STRINGVALUE:
307
+ return "STRINGVALUE";
308
+ case Descriptor::WELLKNOWNTYPE_ANY:
309
+ return "ANY";
310
+ case Descriptor::WELLKNOWNTYPE_DURATION:
311
+ return "DURATION";
312
+ case Descriptor::WELLKNOWNTYPE_TIMESTAMP:
313
+ return "TIMESTAMP";
314
+ case Descriptor::WELLKNOWNTYPE_VALUE:
315
+ return "VALUE";
316
+ case Descriptor::WELLKNOWNTYPE_LISTVALUE:
317
+ return "LISTVALUE";
318
+ case Descriptor::WELLKNOWNTYPE_STRUCT:
319
+ return "STRUCT";
320
+ case Descriptor::WELLKNOWNTYPE_FIELDMASK:
321
+ return "FIELDMASK";
322
+ default:
323
+ return "ERROR";
324
+ }
325
+ }
326
+
327
+ absl::Status CheckWellKnownType(const Descriptor* absl_nonnull descriptor,
328
+ Descriptor::WellKnownType well_known_type) {
329
+ if (ABSL_PREDICT_FALSE(descriptor->well_known_type() != well_known_type)) {
330
+ return absl::InvalidArgumentError(absl::StrCat(
331
+ "expected message to be well known type: ", descriptor->full_name(),
332
+ " ", WellKnownTypeToString(descriptor->well_known_type())));
333
+ }
334
+ return absl::OkStatus();
335
+ }
336
+
337
+ absl::Status CheckFieldWellKnownType(
338
+ const FieldDescriptor* absl_nonnull field,
339
+ Descriptor::WellKnownType well_known_type) {
340
+ ABSL_DCHECK_EQ(field->cpp_type(), FieldDescriptor::CPPTYPE_MESSAGE);
341
+ if (ABSL_PREDICT_FALSE(field->message_type()->well_known_type() !=
342
+ well_known_type)) {
343
+ return absl::InvalidArgumentError(absl::StrCat(
344
+ "expected message field to be well known type for protocol buffer "
345
+ "message well known type: ",
346
+ field->full_name(), " ",
347
+ WellKnownTypeToString(field->message_type()->well_known_type())));
348
+ }
349
+ return absl::OkStatus();
350
+ }
351
+
352
+ absl::Status CheckFieldOneof(const FieldDescriptor* absl_nonnull field,
353
+ const OneofDescriptor* absl_nonnull oneof,
354
+ int index) {
355
+ if (ABSL_PREDICT_FALSE(field->containing_oneof() != oneof)) {
356
+ return absl::InvalidArgumentError(
357
+ absl::StrCat("expected field to be member of oneof for protocol buffer "
358
+ "message well known type: ",
359
+ field->full_name()));
360
+ }
361
+ if (ABSL_PREDICT_FALSE(field->index_in_oneof() != index)) {
362
+ return absl::InvalidArgumentError(absl::StrCat(
363
+ "expected field to have index in oneof of ", index,
364
+ " for protocol buffer "
365
+ "message well known type: ",
366
+ field->full_name(), " oneof_index=", field->index_in_oneof()));
367
+ }
368
+ return absl::OkStatus();
369
+ }
370
+
371
+ absl::Status CheckMapField(const FieldDescriptor* absl_nonnull field) {
372
+ if (ABSL_PREDICT_FALSE(!field->is_map())) {
373
+ return absl::InvalidArgumentError(
374
+ absl::StrCat("expected field to be map for protocol buffer "
375
+ "message well known type: ",
376
+ field->full_name()));
377
+ }
378
+ return absl::OkStatus();
379
+ }
380
+
381
+ } // namespace
382
+
383
+ bool StringValue::ConsumePrefix(absl::string_view prefix) {
384
+ return absl::visit(absl::Overload(
385
+ [&](absl::string_view& value) {
386
+ return absl::ConsumePrefix(&value, prefix);
387
+ },
388
+ [&](absl::Cord& cord) {
389
+ if (cord.StartsWith(prefix)) {
390
+ cord.RemovePrefix(prefix.size());
391
+ return true;
392
+ }
393
+ return false;
394
+ }),
395
+ AsVariant(*this));
396
+ }
397
+
398
+ StringValue GetStringField(const google::protobuf::Reflection* absl_nonnull reflection,
399
+ const google::protobuf::Message& message,
400
+ const FieldDescriptor* absl_nonnull field,
401
+ std::string& scratch) {
402
+ ABSL_DCHECK_EQ(reflection, message.GetReflection());
403
+ ABSL_DCHECK(!field->is_map() && !field->is_repeated());
404
+ ABSL_DCHECK_EQ(field->type(), FieldDescriptor::TYPE_STRING);
405
+ ABSL_DCHECK_EQ(field->cpp_type(), FieldDescriptor::CPPTYPE_STRING);
406
+ return GetStringField<StringValue>(reflection, message, field,
407
+ field->cpp_string_type(), scratch);
408
+ }
409
+
410
+ BytesValue GetBytesField(const google::protobuf::Reflection* absl_nonnull reflection,
411
+ const google::protobuf::Message& message,
412
+ const FieldDescriptor* absl_nonnull field,
413
+ std::string& scratch) {
414
+ ABSL_DCHECK_EQ(reflection, message.GetReflection());
415
+ ABSL_DCHECK(!field->is_map() && !field->is_repeated());
416
+ ABSL_DCHECK_EQ(field->type(), FieldDescriptor::TYPE_BYTES);
417
+ ABSL_DCHECK_EQ(field->cpp_type(), FieldDescriptor::CPPTYPE_STRING);
418
+ return GetStringField<BytesValue>(reflection, message, field,
419
+ field->cpp_string_type(), scratch);
420
+ }
421
+
422
+ StringValue GetRepeatedStringField(
423
+ const google::protobuf::Reflection* absl_nonnull reflection,
424
+ const google::protobuf::Message& message, const FieldDescriptor* absl_nonnull field,
425
+ int index, std::string& scratch) {
426
+ ABSL_DCHECK_EQ(reflection, message.GetReflection());
427
+ ABSL_DCHECK(!field->is_map() && field->is_repeated());
428
+ ABSL_DCHECK_EQ(field->type(), FieldDescriptor::TYPE_STRING);
429
+ ABSL_DCHECK_EQ(field->cpp_type(), FieldDescriptor::CPPTYPE_STRING);
430
+ return GetRepeatedStringField<StringValue>(
431
+ reflection, message, field, field->cpp_string_type(), index, scratch);
432
+ }
433
+
434
+ BytesValue GetRepeatedBytesField(
435
+ const google::protobuf::Reflection* absl_nonnull reflection,
436
+ const google::protobuf::Message& message, const FieldDescriptor* absl_nonnull field,
437
+ int index, std::string& scratch) {
438
+ ABSL_DCHECK_EQ(reflection, message.GetReflection());
439
+ ABSL_DCHECK(!field->is_map() && field->is_repeated());
440
+ ABSL_DCHECK_EQ(field->type(), FieldDescriptor::TYPE_BYTES);
441
+ ABSL_DCHECK_EQ(field->cpp_type(), FieldDescriptor::CPPTYPE_STRING);
442
+ return GetRepeatedStringField<BytesValue>(
443
+ reflection, message, field, field->cpp_string_type(), index, scratch);
444
+ }
445
+
446
+ absl::Status NullValueReflection::Initialize(
447
+ const DescriptorPool* absl_nonnull pool) {
448
+ CEL_ASSIGN_OR_RETURN(const auto* descriptor,
449
+ GetEnumTypeByName(pool, "google.protobuf.NullValue"));
450
+ return Initialize(descriptor);
451
+ }
452
+
453
+ absl::Status NullValueReflection::Initialize(
454
+ const EnumDescriptor* absl_nonnull descriptor) {
455
+ if (descriptor_ != descriptor) {
456
+ if (ABSL_PREDICT_FALSE(descriptor->full_name() !=
457
+ "google.protobuf.NullValue")) {
458
+ return absl::InvalidArgumentError(absl::StrCat(
459
+ "expected enum to be well known type: ", descriptor->full_name(),
460
+ " google.protobuf.NullValue"));
461
+ }
462
+ descriptor_ = nullptr;
463
+ value_ = descriptor->FindValueByNumber(0);
464
+ if (ABSL_PREDICT_FALSE(value_ == nullptr)) {
465
+ return absl::InvalidArgumentError(
466
+ "well known protocol buffer enum missing value: "
467
+ "google.protobuf.NullValue.NULL_VALUE");
468
+ }
469
+ if (ABSL_PREDICT_FALSE(descriptor->value_count() != 1)) {
470
+ std::vector<absl::string_view> values;
471
+ values.reserve(static_cast<size_t>(descriptor->value_count()));
472
+ for (int i = 0; i < descriptor->value_count(); ++i) {
473
+ values.push_back(descriptor->value(i)->name());
474
+ }
475
+ return absl::InvalidArgumentError(
476
+ absl::StrCat("well known protocol buffer enum has multiple values: [",
477
+ absl::StrJoin(values, ", "), "]"));
478
+ }
479
+ descriptor_ = descriptor;
480
+ }
481
+ return absl::OkStatus();
482
+ }
483
+
484
+ absl::Status BoolValueReflection::Initialize(
485
+ const DescriptorPool* absl_nonnull pool) {
486
+ CEL_ASSIGN_OR_RETURN(const auto* descriptor,
487
+ GetMessageTypeByName(pool, "google.protobuf.BoolValue"));
488
+ return Initialize(descriptor);
489
+ }
490
+
491
+ absl::Status BoolValueReflection::Initialize(
492
+ const Descriptor* absl_nonnull descriptor) {
493
+ if (descriptor_ != descriptor) {
494
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
495
+ descriptor_ = nullptr;
496
+ CEL_ASSIGN_OR_RETURN(value_field_, GetFieldByNumber(descriptor, 1));
497
+ CEL_RETURN_IF_ERROR(
498
+ CheckFieldCppType(value_field_, FieldDescriptor::CPPTYPE_BOOL));
499
+ CEL_RETURN_IF_ERROR(
500
+ CheckFieldCardinality(value_field_, FieldDescriptor::LABEL_OPTIONAL));
501
+ descriptor_ = descriptor;
502
+ }
503
+ return absl::OkStatus();
504
+ }
505
+
506
+ bool BoolValueReflection::GetValue(const google::protobuf::Message& message) const {
507
+ ABSL_DCHECK(IsInitialized());
508
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
509
+ return message.GetReflection()->GetBool(message, value_field_);
510
+ }
511
+
512
+ void BoolValueReflection::SetValue(google::protobuf::Message* absl_nonnull message,
513
+ bool value) const {
514
+ ABSL_DCHECK(IsInitialized());
515
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
516
+ message->GetReflection()->SetBool(message, value_field_, value);
517
+ }
518
+
519
+ absl::StatusOr<BoolValueReflection> GetBoolValueReflection(
520
+ const Descriptor* absl_nonnull descriptor) {
521
+ BoolValueReflection reflection;
522
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
523
+ return reflection;
524
+ }
525
+
526
+ absl::Status Int32ValueReflection::Initialize(
527
+ const DescriptorPool* absl_nonnull pool) {
528
+ CEL_ASSIGN_OR_RETURN(
529
+ const auto* descriptor,
530
+ GetMessageTypeByName(pool, "google.protobuf.Int32Value"));
531
+ return Initialize(descriptor);
532
+ }
533
+
534
+ absl::Status Int32ValueReflection::Initialize(
535
+ const Descriptor* absl_nonnull descriptor) {
536
+ if (descriptor_ != descriptor) {
537
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
538
+ descriptor_ = nullptr;
539
+ CEL_ASSIGN_OR_RETURN(value_field_, GetFieldByNumber(descriptor, 1));
540
+ CEL_RETURN_IF_ERROR(
541
+ CheckFieldCppType(value_field_, FieldDescriptor::CPPTYPE_INT32));
542
+ CEL_RETURN_IF_ERROR(
543
+ CheckFieldCardinality(value_field_, FieldDescriptor::LABEL_OPTIONAL));
544
+ descriptor_ = descriptor;
545
+ }
546
+ return absl::OkStatus();
547
+ }
548
+
549
+ int32_t Int32ValueReflection::GetValue(const google::protobuf::Message& message) const {
550
+ ABSL_DCHECK(IsInitialized());
551
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
552
+ return message.GetReflection()->GetInt32(message, value_field_);
553
+ }
554
+
555
+ void Int32ValueReflection::SetValue(google::protobuf::Message* absl_nonnull message,
556
+ int32_t value) const {
557
+ ABSL_DCHECK(IsInitialized());
558
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
559
+ message->GetReflection()->SetInt32(message, value_field_, value);
560
+ }
561
+
562
+ absl::StatusOr<Int32ValueReflection> GetInt32ValueReflection(
563
+ const Descriptor* absl_nonnull descriptor) {
564
+ Int32ValueReflection reflection;
565
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
566
+ return reflection;
567
+ }
568
+
569
+ absl::Status Int64ValueReflection::Initialize(
570
+ const DescriptorPool* absl_nonnull pool) {
571
+ CEL_ASSIGN_OR_RETURN(
572
+ const auto* descriptor,
573
+ GetMessageTypeByName(pool, "google.protobuf.Int64Value"));
574
+ return Initialize(descriptor);
575
+ }
576
+
577
+ absl::Status Int64ValueReflection::Initialize(
578
+ const Descriptor* absl_nonnull descriptor) {
579
+ if (descriptor_ != descriptor) {
580
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
581
+ descriptor_ = nullptr;
582
+ CEL_ASSIGN_OR_RETURN(value_field_, GetFieldByNumber(descriptor, 1));
583
+ CEL_RETURN_IF_ERROR(
584
+ CheckFieldCppType(value_field_, FieldDescriptor::CPPTYPE_INT64));
585
+ CEL_RETURN_IF_ERROR(
586
+ CheckFieldCardinality(value_field_, FieldDescriptor::LABEL_OPTIONAL));
587
+ descriptor_ = descriptor;
588
+ }
589
+ return absl::OkStatus();
590
+ }
591
+
592
+ int64_t Int64ValueReflection::GetValue(const google::protobuf::Message& message) const {
593
+ ABSL_DCHECK(IsInitialized());
594
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
595
+ return message.GetReflection()->GetInt64(message, value_field_);
596
+ }
597
+
598
+ void Int64ValueReflection::SetValue(google::protobuf::Message* absl_nonnull message,
599
+ int64_t value) const {
600
+ ABSL_DCHECK(IsInitialized());
601
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
602
+ message->GetReflection()->SetInt64(message, value_field_, value);
603
+ }
604
+
605
+ absl::StatusOr<Int64ValueReflection> GetInt64ValueReflection(
606
+ const Descriptor* absl_nonnull descriptor) {
607
+ Int64ValueReflection reflection;
608
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
609
+ return reflection;
610
+ }
611
+
612
+ absl::Status UInt32ValueReflection::Initialize(
613
+ const DescriptorPool* absl_nonnull pool) {
614
+ CEL_ASSIGN_OR_RETURN(
615
+ const auto* descriptor,
616
+ GetMessageTypeByName(pool, "google.protobuf.UInt32Value"));
617
+ return Initialize(descriptor);
618
+ }
619
+
620
+ absl::Status UInt32ValueReflection::Initialize(
621
+ const Descriptor* absl_nonnull descriptor) {
622
+ if (descriptor_ != descriptor) {
623
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
624
+ descriptor_ = nullptr;
625
+ CEL_ASSIGN_OR_RETURN(value_field_, GetFieldByNumber(descriptor, 1));
626
+ CEL_RETURN_IF_ERROR(
627
+ CheckFieldCppType(value_field_, FieldDescriptor::CPPTYPE_UINT32));
628
+ CEL_RETURN_IF_ERROR(
629
+ CheckFieldCardinality(value_field_, FieldDescriptor::LABEL_OPTIONAL));
630
+ descriptor_ = descriptor;
631
+ }
632
+ return absl::OkStatus();
633
+ }
634
+
635
+ uint32_t UInt32ValueReflection::GetValue(const google::protobuf::Message& message) const {
636
+ ABSL_DCHECK(IsInitialized());
637
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
638
+ return message.GetReflection()->GetUInt32(message, value_field_);
639
+ }
640
+
641
+ void UInt32ValueReflection::SetValue(google::protobuf::Message* absl_nonnull message,
642
+ uint32_t value) const {
643
+ ABSL_DCHECK(IsInitialized());
644
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
645
+ message->GetReflection()->SetUInt32(message, value_field_, value);
646
+ }
647
+
648
+ absl::StatusOr<UInt32ValueReflection> GetUInt32ValueReflection(
649
+ const Descriptor* absl_nonnull descriptor) {
650
+ UInt32ValueReflection reflection;
651
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
652
+ return reflection;
653
+ }
654
+
655
+ absl::Status UInt64ValueReflection::Initialize(
656
+ const DescriptorPool* absl_nonnull pool) {
657
+ CEL_ASSIGN_OR_RETURN(
658
+ const auto* descriptor,
659
+ GetMessageTypeByName(pool, "google.protobuf.UInt64Value"));
660
+ return Initialize(descriptor);
661
+ }
662
+
663
+ absl::Status UInt64ValueReflection::Initialize(
664
+ const Descriptor* absl_nonnull descriptor) {
665
+ if (descriptor_ != descriptor) {
666
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
667
+ descriptor_ = nullptr;
668
+ CEL_ASSIGN_OR_RETURN(value_field_, GetFieldByNumber(descriptor, 1));
669
+ CEL_RETURN_IF_ERROR(
670
+ CheckFieldCppType(value_field_, FieldDescriptor::CPPTYPE_UINT64));
671
+ CEL_RETURN_IF_ERROR(
672
+ CheckFieldCardinality(value_field_, FieldDescriptor::LABEL_OPTIONAL));
673
+ descriptor_ = descriptor;
674
+ }
675
+ return absl::OkStatus();
676
+ }
677
+
678
+ uint64_t UInt64ValueReflection::GetValue(const google::protobuf::Message& message) const {
679
+ ABSL_DCHECK(IsInitialized());
680
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
681
+ return message.GetReflection()->GetUInt64(message, value_field_);
682
+ }
683
+
684
+ void UInt64ValueReflection::SetValue(google::protobuf::Message* absl_nonnull message,
685
+ uint64_t value) const {
686
+ ABSL_DCHECK(IsInitialized());
687
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
688
+ message->GetReflection()->SetUInt64(message, value_field_, value);
689
+ }
690
+
691
+ absl::StatusOr<UInt64ValueReflection> GetUInt64ValueReflection(
692
+ const Descriptor* absl_nonnull descriptor) {
693
+ UInt64ValueReflection reflection;
694
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
695
+ return reflection;
696
+ }
697
+
698
+ absl::Status FloatValueReflection::Initialize(
699
+ const DescriptorPool* absl_nonnull pool) {
700
+ CEL_ASSIGN_OR_RETURN(
701
+ const auto* descriptor,
702
+ GetMessageTypeByName(pool, "google.protobuf.FloatValue"));
703
+ return Initialize(descriptor);
704
+ }
705
+
706
+ absl::Status FloatValueReflection::Initialize(
707
+ const Descriptor* absl_nonnull descriptor) {
708
+ if (descriptor_ != descriptor) {
709
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
710
+ descriptor_ = nullptr;
711
+ CEL_ASSIGN_OR_RETURN(value_field_, GetFieldByNumber(descriptor, 1));
712
+ CEL_RETURN_IF_ERROR(
713
+ CheckFieldCppType(value_field_, FieldDescriptor::CPPTYPE_FLOAT));
714
+ CEL_RETURN_IF_ERROR(
715
+ CheckFieldCardinality(value_field_, FieldDescriptor::LABEL_OPTIONAL));
716
+ descriptor_ = descriptor;
717
+ }
718
+ return absl::OkStatus();
719
+ }
720
+
721
+ float FloatValueReflection::GetValue(const google::protobuf::Message& message) const {
722
+ ABSL_DCHECK(IsInitialized());
723
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
724
+ return message.GetReflection()->GetFloat(message, value_field_);
725
+ }
726
+
727
+ void FloatValueReflection::SetValue(google::protobuf::Message* absl_nonnull message,
728
+ float value) const {
729
+ ABSL_DCHECK(IsInitialized());
730
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
731
+ message->GetReflection()->SetFloat(message, value_field_, value);
732
+ }
733
+
734
+ absl::StatusOr<FloatValueReflection> GetFloatValueReflection(
735
+ const Descriptor* absl_nonnull descriptor) {
736
+ FloatValueReflection reflection;
737
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
738
+ return reflection;
739
+ }
740
+
741
+ absl::Status DoubleValueReflection::Initialize(
742
+ const DescriptorPool* absl_nonnull pool) {
743
+ CEL_ASSIGN_OR_RETURN(
744
+ const auto* descriptor,
745
+ GetMessageTypeByName(pool, "google.protobuf.DoubleValue"));
746
+ return Initialize(descriptor);
747
+ }
748
+
749
+ absl::Status DoubleValueReflection::Initialize(
750
+ const Descriptor* absl_nonnull descriptor) {
751
+ if (descriptor_ != descriptor) {
752
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
753
+ descriptor_ = nullptr;
754
+ CEL_ASSIGN_OR_RETURN(value_field_, GetFieldByNumber(descriptor, 1));
755
+ CEL_RETURN_IF_ERROR(
756
+ CheckFieldCppType(value_field_, FieldDescriptor::CPPTYPE_DOUBLE));
757
+ CEL_RETURN_IF_ERROR(
758
+ CheckFieldCardinality(value_field_, FieldDescriptor::LABEL_OPTIONAL));
759
+ descriptor_ = descriptor;
760
+ }
761
+ return absl::OkStatus();
762
+ }
763
+
764
+ double DoubleValueReflection::GetValue(const google::protobuf::Message& message) const {
765
+ ABSL_DCHECK(IsInitialized());
766
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
767
+ return message.GetReflection()->GetDouble(message, value_field_);
768
+ }
769
+
770
+ void DoubleValueReflection::SetValue(google::protobuf::Message* absl_nonnull message,
771
+ double value) const {
772
+ ABSL_DCHECK(IsInitialized());
773
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
774
+ message->GetReflection()->SetDouble(message, value_field_, value);
775
+ }
776
+
777
+ absl::StatusOr<DoubleValueReflection> GetDoubleValueReflection(
778
+ const Descriptor* absl_nonnull descriptor) {
779
+ DoubleValueReflection reflection;
780
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
781
+ return reflection;
782
+ }
783
+
784
+ absl::Status BytesValueReflection::Initialize(
785
+ const DescriptorPool* absl_nonnull pool) {
786
+ CEL_ASSIGN_OR_RETURN(
787
+ const auto* descriptor,
788
+ GetMessageTypeByName(pool, "google.protobuf.BytesValue"));
789
+ return Initialize(descriptor);
790
+ }
791
+
792
+ absl::Status BytesValueReflection::Initialize(
793
+ const Descriptor* absl_nonnull descriptor) {
794
+ if (descriptor_ != descriptor) {
795
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
796
+ descriptor_ = nullptr;
797
+ CEL_ASSIGN_OR_RETURN(value_field_, GetFieldByNumber(descriptor, 1));
798
+ CEL_RETURN_IF_ERROR(
799
+ CheckFieldType(value_field_, FieldDescriptor::TYPE_BYTES));
800
+ CEL_RETURN_IF_ERROR(
801
+ CheckFieldCardinality(value_field_, FieldDescriptor::LABEL_OPTIONAL));
802
+ value_field_string_type_ = value_field_->cpp_string_type();
803
+ descriptor_ = descriptor;
804
+ }
805
+ return absl::OkStatus();
806
+ }
807
+
808
+ BytesValue BytesValueReflection::GetValue(const google::protobuf::Message& message,
809
+ std::string& scratch) const {
810
+ ABSL_DCHECK(IsInitialized());
811
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
812
+ return GetStringField<BytesValue>(message, value_field_,
813
+ value_field_string_type_, scratch);
814
+ }
815
+
816
+ void BytesValueReflection::SetValue(google::protobuf::Message* absl_nonnull message,
817
+ absl::string_view value) const {
818
+ ABSL_DCHECK(IsInitialized());
819
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
820
+ message->GetReflection()->SetString(message, value_field_,
821
+ std::string(value));
822
+ }
823
+
824
+ void BytesValueReflection::SetValue(google::protobuf::Message* absl_nonnull message,
825
+ const absl::Cord& value) const {
826
+ ABSL_DCHECK(IsInitialized());
827
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
828
+ message->GetReflection()->SetString(message, value_field_, value);
829
+ }
830
+
831
+ absl::StatusOr<BytesValueReflection> GetBytesValueReflection(
832
+ const Descriptor* absl_nonnull descriptor) {
833
+ BytesValueReflection reflection;
834
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
835
+ return reflection;
836
+ }
837
+
838
+ absl::Status StringValueReflection::Initialize(
839
+ const DescriptorPool* absl_nonnull pool) {
840
+ CEL_ASSIGN_OR_RETURN(
841
+ const auto* descriptor,
842
+ GetMessageTypeByName(pool, "google.protobuf.StringValue"));
843
+ return Initialize(descriptor);
844
+ }
845
+
846
+ absl::Status StringValueReflection::Initialize(
847
+ const Descriptor* absl_nonnull descriptor) {
848
+ if (descriptor_ != descriptor) {
849
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
850
+ descriptor_ = nullptr;
851
+ CEL_ASSIGN_OR_RETURN(value_field_, GetFieldByNumber(descriptor, 1));
852
+ CEL_RETURN_IF_ERROR(
853
+ CheckFieldType(value_field_, FieldDescriptor::TYPE_STRING));
854
+ CEL_RETURN_IF_ERROR(
855
+ CheckFieldCardinality(value_field_, FieldDescriptor::LABEL_OPTIONAL));
856
+ value_field_string_type_ = value_field_->cpp_string_type();
857
+ descriptor_ = descriptor;
858
+ }
859
+ return absl::OkStatus();
860
+ }
861
+
862
+ StringValue StringValueReflection::GetValue(const google::protobuf::Message& message,
863
+ std::string& scratch) const {
864
+ ABSL_DCHECK(IsInitialized());
865
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
866
+ return GetStringField<StringValue>(message, value_field_,
867
+ value_field_string_type_, scratch);
868
+ }
869
+
870
+ void StringValueReflection::SetValue(google::protobuf::Message* absl_nonnull message,
871
+ absl::string_view value) const {
872
+ ABSL_DCHECK(IsInitialized());
873
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
874
+ message->GetReflection()->SetString(message, value_field_,
875
+ std::string(value));
876
+ }
877
+
878
+ void StringValueReflection::SetValue(google::protobuf::Message* absl_nonnull message,
879
+ const absl::Cord& value) const {
880
+ ABSL_DCHECK(IsInitialized());
881
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
882
+ message->GetReflection()->SetString(message, value_field_, value);
883
+ }
884
+
885
+ absl::StatusOr<StringValueReflection> GetStringValueReflection(
886
+ const Descriptor* absl_nonnull descriptor) {
887
+ StringValueReflection reflection;
888
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
889
+ return reflection;
890
+ }
891
+
892
+ absl::Status AnyReflection::Initialize(
893
+ const DescriptorPool* absl_nonnull pool) {
894
+ CEL_ASSIGN_OR_RETURN(const auto* descriptor,
895
+ GetMessageTypeByName(pool, "google.protobuf.Any"));
896
+ return Initialize(descriptor);
897
+ }
898
+
899
+ absl::Status AnyReflection::Initialize(
900
+ const Descriptor* absl_nonnull descriptor) {
901
+ if (descriptor_ != descriptor) {
902
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
903
+ descriptor_ = nullptr;
904
+ CEL_ASSIGN_OR_RETURN(type_url_field_, GetFieldByNumber(descriptor, 1));
905
+ CEL_RETURN_IF_ERROR(
906
+ CheckFieldType(type_url_field_, FieldDescriptor::TYPE_STRING));
907
+ CEL_RETURN_IF_ERROR(CheckFieldCardinality(type_url_field_,
908
+ FieldDescriptor::LABEL_OPTIONAL));
909
+ type_url_field_string_type_ = type_url_field_->cpp_string_type();
910
+ CEL_ASSIGN_OR_RETURN(value_field_, GetFieldByNumber(descriptor, 2));
911
+ CEL_RETURN_IF_ERROR(
912
+ CheckFieldType(value_field_, FieldDescriptor::TYPE_BYTES));
913
+ CEL_RETURN_IF_ERROR(
914
+ CheckFieldCardinality(value_field_, FieldDescriptor::LABEL_OPTIONAL));
915
+ value_field_string_type_ = value_field_->cpp_string_type();
916
+ descriptor_ = descriptor;
917
+ }
918
+ return absl::OkStatus();
919
+ }
920
+
921
+ void AnyReflection::SetTypeUrl(google::protobuf::Message* absl_nonnull message,
922
+ absl::string_view type_url) const {
923
+ ABSL_DCHECK(IsInitialized());
924
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
925
+ message->GetReflection()->SetString(message, type_url_field_,
926
+ std::string(type_url));
927
+ }
928
+
929
+ void AnyReflection::SetValue(google::protobuf::Message* absl_nonnull message,
930
+ const absl::Cord& value) const {
931
+ ABSL_DCHECK(IsInitialized());
932
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
933
+ message->GetReflection()->SetString(message, value_field_, value);
934
+ }
935
+
936
+ StringValue AnyReflection::GetTypeUrl(const google::protobuf::Message& message,
937
+ std::string& scratch) const {
938
+ ABSL_DCHECK(IsInitialized());
939
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
940
+ return GetStringField<StringValue>(message, type_url_field_,
941
+ type_url_field_string_type_, scratch);
942
+ }
943
+
944
+ BytesValue AnyReflection::GetValue(const google::protobuf::Message& message,
945
+ std::string& scratch) const {
946
+ ABSL_DCHECK(IsInitialized());
947
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
948
+ return GetStringField<BytesValue>(message, value_field_,
949
+ value_field_string_type_, scratch);
950
+ }
951
+
952
+ absl::StatusOr<AnyReflection> GetAnyReflection(
953
+ const Descriptor* absl_nonnull descriptor) {
954
+ AnyReflection reflection;
955
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
956
+ return reflection;
957
+ }
958
+
959
+ AnyReflection GetAnyReflectionOrDie(
960
+ const google::protobuf::Descriptor* absl_nonnull descriptor) {
961
+ AnyReflection reflection;
962
+ ABSL_CHECK_OK(reflection.Initialize(descriptor)); // Crash OK
963
+ return reflection;
964
+ }
965
+
966
+ absl::Status DurationReflection::Initialize(
967
+ const DescriptorPool* absl_nonnull pool) {
968
+ CEL_ASSIGN_OR_RETURN(const auto* descriptor,
969
+ GetMessageTypeByName(pool, "google.protobuf.Duration"));
970
+ return Initialize(descriptor);
971
+ }
972
+
973
+ absl::Status DurationReflection::Initialize(
974
+ const Descriptor* absl_nonnull descriptor) {
975
+ if (descriptor_ != descriptor) {
976
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
977
+ descriptor_ = nullptr;
978
+ CEL_ASSIGN_OR_RETURN(seconds_field_, GetFieldByNumber(descriptor, 1));
979
+ CEL_RETURN_IF_ERROR(
980
+ CheckFieldCppType(seconds_field_, FieldDescriptor::CPPTYPE_INT64));
981
+ CEL_RETURN_IF_ERROR(
982
+ CheckFieldCardinality(seconds_field_, FieldDescriptor::LABEL_OPTIONAL));
983
+ CEL_ASSIGN_OR_RETURN(nanos_field_, GetFieldByNumber(descriptor, 2));
984
+ CEL_RETURN_IF_ERROR(
985
+ CheckFieldCppType(nanos_field_, FieldDescriptor::CPPTYPE_INT32));
986
+ CEL_RETURN_IF_ERROR(
987
+ CheckFieldCardinality(nanos_field_, FieldDescriptor::LABEL_OPTIONAL));
988
+ descriptor_ = descriptor;
989
+ }
990
+ return absl::OkStatus();
991
+ }
992
+
993
+ int64_t DurationReflection::GetSeconds(const google::protobuf::Message& message) const {
994
+ ABSL_DCHECK(IsInitialized());
995
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
996
+ return message.GetReflection()->GetInt64(message, seconds_field_);
997
+ }
998
+
999
+ int32_t DurationReflection::GetNanos(const google::protobuf::Message& message) const {
1000
+ ABSL_DCHECK(IsInitialized());
1001
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1002
+ return message.GetReflection()->GetInt32(message, nanos_field_);
1003
+ }
1004
+
1005
+ void DurationReflection::SetSeconds(google::protobuf::Message* absl_nonnull message,
1006
+ int64_t value) const {
1007
+ ABSL_DCHECK(IsInitialized());
1008
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1009
+ message->GetReflection()->SetInt64(message, seconds_field_, value);
1010
+ }
1011
+
1012
+ void DurationReflection::SetNanos(google::protobuf::Message* absl_nonnull message,
1013
+ int32_t value) const {
1014
+ ABSL_DCHECK(IsInitialized());
1015
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1016
+ message->GetReflection()->SetInt32(message, nanos_field_, value);
1017
+ }
1018
+
1019
+ absl::Status DurationReflection::SetFromAbslDuration(
1020
+ google::protobuf::Message* absl_nonnull message, absl::Duration duration) const {
1021
+ ABSL_DCHECK(IsInitialized());
1022
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1023
+ int64_t seconds = absl::IDivDuration(duration, absl::Seconds(1), &duration);
1024
+ if (ABSL_PREDICT_FALSE(seconds < TimeUtil::kDurationMinSeconds ||
1025
+ seconds > TimeUtil::kDurationMaxSeconds)) {
1026
+ return absl::InvalidArgumentError(
1027
+ absl::StrCat("invalid duration seconds: ", seconds));
1028
+ }
1029
+ int32_t nanos = static_cast<int32_t>(
1030
+ absl::IDivDuration(duration, absl::Nanoseconds(1), &duration));
1031
+ if (ABSL_PREDICT_FALSE(nanos < TimeUtil::kDurationMinNanoseconds ||
1032
+ nanos > TimeUtil::kDurationMaxNanoseconds)) {
1033
+ return absl::InvalidArgumentError(
1034
+ absl::StrCat("invalid duration nanoseconds: ", nanos));
1035
+ }
1036
+ if ((seconds < 0 && nanos > 0) || (seconds > 0 && nanos < 0)) {
1037
+ return absl::InvalidArgumentError(absl::StrCat(
1038
+ "duration sign mismatch: seconds=", seconds, ", nanoseconds=", nanos));
1039
+ }
1040
+ SetSeconds(message, seconds);
1041
+ SetNanos(message, nanos);
1042
+ return absl::OkStatus();
1043
+ }
1044
+
1045
+ absl::Status DurationReflection::SetFromAbslDuration(
1046
+ GeneratedMessageType* absl_nonnull message, absl::Duration duration) {
1047
+ int64_t seconds = absl::IDivDuration(duration, absl::Seconds(1), &duration);
1048
+ if (ABSL_PREDICT_FALSE(seconds < TimeUtil::kDurationMinSeconds ||
1049
+ seconds > TimeUtil::kDurationMaxSeconds)) {
1050
+ return absl::InvalidArgumentError(
1051
+ absl::StrCat("invalid duration seconds: ", seconds));
1052
+ }
1053
+ int32_t nanos = static_cast<int32_t>(
1054
+ absl::IDivDuration(duration, absl::Nanoseconds(1), &duration));
1055
+ if (ABSL_PREDICT_FALSE(nanos < TimeUtil::kDurationMinNanoseconds ||
1056
+ nanos > TimeUtil::kDurationMaxNanoseconds)) {
1057
+ return absl::InvalidArgumentError(
1058
+ absl::StrCat("invalid duration nanoseconds: ", nanos));
1059
+ }
1060
+ if ((seconds < 0 && nanos > 0) || (seconds > 0 && nanos < 0)) {
1061
+ return absl::InvalidArgumentError(absl::StrCat(
1062
+ "duration sign mismatch: seconds=", seconds, ", nanoseconds=", nanos));
1063
+ }
1064
+ SetSeconds(message, seconds);
1065
+ SetNanos(message, nanos);
1066
+ return absl::OkStatus();
1067
+ }
1068
+
1069
+ void DurationReflection::UnsafeSetFromAbslDuration(
1070
+ google::protobuf::Message* absl_nonnull message, absl::Duration duration) const {
1071
+ ABSL_DCHECK(IsInitialized());
1072
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1073
+ int64_t seconds = absl::IDivDuration(duration, absl::Seconds(1), &duration);
1074
+ int32_t nanos = static_cast<int32_t>(
1075
+ absl::IDivDuration(duration, absl::Nanoseconds(1), &duration));
1076
+ SetSeconds(message, seconds);
1077
+ SetNanos(message, nanos);
1078
+ }
1079
+
1080
+ absl::StatusOr<absl::Duration> DurationReflection::ToAbslDuration(
1081
+ const google::protobuf::Message& message) const {
1082
+ ABSL_DCHECK(IsInitialized());
1083
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1084
+ int64_t seconds = GetSeconds(message);
1085
+ if (ABSL_PREDICT_FALSE(seconds < TimeUtil::kDurationMinSeconds ||
1086
+ seconds > TimeUtil::kDurationMaxSeconds)) {
1087
+ return absl::InvalidArgumentError(
1088
+ absl::StrCat("invalid duration seconds: ", seconds));
1089
+ }
1090
+ int32_t nanos = GetNanos(message);
1091
+ if (ABSL_PREDICT_FALSE(nanos < TimeUtil::kDurationMinNanoseconds ||
1092
+ nanos > TimeUtil::kDurationMaxNanoseconds)) {
1093
+ return absl::InvalidArgumentError(
1094
+ absl::StrCat("invalid duration nanoseconds: ", nanos));
1095
+ }
1096
+ if ((seconds < 0 && nanos > 0) || (seconds > 0 && nanos < 0)) {
1097
+ return absl::InvalidArgumentError(absl::StrCat(
1098
+ "duration sign mismatch: seconds=", seconds, ", nanoseconds=", nanos));
1099
+ }
1100
+ return absl::Seconds(seconds) + absl::Nanoseconds(nanos);
1101
+ }
1102
+
1103
+ absl::Duration DurationReflection::UnsafeToAbslDuration(
1104
+ const google::protobuf::Message& message) const {
1105
+ ABSL_DCHECK(IsInitialized());
1106
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1107
+ int64_t seconds = GetSeconds(message);
1108
+ int32_t nanos = GetNanos(message);
1109
+ return absl::Seconds(seconds) + absl::Nanoseconds(nanos);
1110
+ }
1111
+
1112
+ absl::StatusOr<DurationReflection> GetDurationReflection(
1113
+ const Descriptor* absl_nonnull descriptor) {
1114
+ DurationReflection reflection;
1115
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
1116
+ return reflection;
1117
+ }
1118
+
1119
+ absl::Status TimestampReflection::Initialize(
1120
+ const DescriptorPool* absl_nonnull pool) {
1121
+ CEL_ASSIGN_OR_RETURN(const auto* descriptor,
1122
+ GetMessageTypeByName(pool, "google.protobuf.Timestamp"));
1123
+ return Initialize(descriptor);
1124
+ }
1125
+
1126
+ absl::Status TimestampReflection::Initialize(
1127
+ const Descriptor* absl_nonnull descriptor) {
1128
+ if (descriptor_ != descriptor) {
1129
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
1130
+ descriptor_ = nullptr;
1131
+ CEL_ASSIGN_OR_RETURN(seconds_field_, GetFieldByNumber(descriptor, 1));
1132
+ CEL_RETURN_IF_ERROR(
1133
+ CheckFieldCppType(seconds_field_, FieldDescriptor::CPPTYPE_INT64));
1134
+ CEL_RETURN_IF_ERROR(
1135
+ CheckFieldCardinality(seconds_field_, FieldDescriptor::LABEL_OPTIONAL));
1136
+ CEL_ASSIGN_OR_RETURN(nanos_field_, GetFieldByNumber(descriptor, 2));
1137
+ CEL_RETURN_IF_ERROR(
1138
+ CheckFieldCppType(nanos_field_, FieldDescriptor::CPPTYPE_INT32));
1139
+ CEL_RETURN_IF_ERROR(
1140
+ CheckFieldCardinality(nanos_field_, FieldDescriptor::LABEL_OPTIONAL));
1141
+ descriptor_ = descriptor;
1142
+ }
1143
+ return absl::OkStatus();
1144
+ }
1145
+
1146
+ int64_t TimestampReflection::GetSeconds(const google::protobuf::Message& message) const {
1147
+ ABSL_DCHECK(IsInitialized());
1148
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1149
+ return message.GetReflection()->GetInt64(message, seconds_field_);
1150
+ }
1151
+
1152
+ int32_t TimestampReflection::GetNanos(const google::protobuf::Message& message) const {
1153
+ ABSL_DCHECK(IsInitialized());
1154
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1155
+ return message.GetReflection()->GetInt32(message, nanos_field_);
1156
+ }
1157
+
1158
+ void TimestampReflection::SetSeconds(google::protobuf::Message* absl_nonnull message,
1159
+ int64_t value) const {
1160
+ ABSL_DCHECK(IsInitialized());
1161
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1162
+ message->GetReflection()->SetInt64(message, seconds_field_, value);
1163
+ }
1164
+
1165
+ void TimestampReflection::SetNanos(google::protobuf::Message* absl_nonnull message,
1166
+ int32_t value) const {
1167
+ ABSL_DCHECK(IsInitialized());
1168
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1169
+ message->GetReflection()->SetInt32(message, nanos_field_, value);
1170
+ }
1171
+
1172
+ absl::Status TimestampReflection::SetFromAbslTime(
1173
+ google::protobuf::Message* absl_nonnull message, absl::Time time) const {
1174
+ int64_t seconds = absl::ToUnixSeconds(time);
1175
+ if (ABSL_PREDICT_FALSE(seconds < TimeUtil::kTimestampMinSeconds ||
1176
+ seconds > TimeUtil::kTimestampMaxSeconds)) {
1177
+ return absl::InvalidArgumentError(
1178
+ absl::StrCat("invalid timestamp seconds: ", seconds));
1179
+ }
1180
+ int64_t nanos = static_cast<int64_t>((time - absl::FromUnixSeconds(seconds)) /
1181
+ absl::Nanoseconds(1));
1182
+ if (ABSL_PREDICT_FALSE(nanos < TimeUtil::kTimestampMinNanoseconds ||
1183
+ nanos > TimeUtil::kTimestampMaxNanoseconds)) {
1184
+ return absl::InvalidArgumentError(
1185
+ absl::StrCat("invalid timestamp nanoseconds: ", nanos));
1186
+ }
1187
+ SetSeconds(message, seconds);
1188
+ SetNanos(message, static_cast<int32_t>(nanos));
1189
+ return absl::OkStatus();
1190
+ }
1191
+
1192
+ absl::Status TimestampReflection::SetFromAbslTime(
1193
+ GeneratedMessageType* absl_nonnull message, absl::Time time) {
1194
+ int64_t seconds = absl::ToUnixSeconds(time);
1195
+ if (ABSL_PREDICT_FALSE(seconds < TimeUtil::kTimestampMinSeconds ||
1196
+ seconds > TimeUtil::kTimestampMaxSeconds)) {
1197
+ return absl::InvalidArgumentError(
1198
+ absl::StrCat("invalid timestamp seconds: ", seconds));
1199
+ }
1200
+ int64_t nanos = static_cast<int64_t>((time - absl::FromUnixSeconds(seconds)) /
1201
+ absl::Nanoseconds(1));
1202
+ if (ABSL_PREDICT_FALSE(nanos < TimeUtil::kTimestampMinNanoseconds ||
1203
+ nanos > TimeUtil::kTimestampMaxNanoseconds)) {
1204
+ return absl::InvalidArgumentError(
1205
+ absl::StrCat("invalid timestamp nanoseconds: ", nanos));
1206
+ }
1207
+ SetSeconds(message, seconds);
1208
+ SetNanos(message, static_cast<int32_t>(nanos));
1209
+ return absl::OkStatus();
1210
+ }
1211
+
1212
+ void TimestampReflection::UnsafeSetFromAbslTime(
1213
+ google::protobuf::Message* absl_nonnull message, absl::Time time) const {
1214
+ int64_t seconds = absl::ToUnixSeconds(time);
1215
+ int32_t nanos = static_cast<int32_t>((time - absl::FromUnixSeconds(seconds)) /
1216
+ absl::Nanoseconds(1));
1217
+ SetSeconds(message, seconds);
1218
+ SetNanos(message, nanos);
1219
+ }
1220
+
1221
+ absl::StatusOr<absl::Time> TimestampReflection::ToAbslTime(
1222
+ const google::protobuf::Message& message) const {
1223
+ int64_t seconds = GetSeconds(message);
1224
+ if (ABSL_PREDICT_FALSE(seconds < TimeUtil::kTimestampMinSeconds ||
1225
+ seconds > TimeUtil::kTimestampMaxSeconds)) {
1226
+ return absl::InvalidArgumentError(
1227
+ absl::StrCat("invalid timestamp seconds: ", seconds));
1228
+ }
1229
+ int32_t nanos = GetNanos(message);
1230
+ if (ABSL_PREDICT_FALSE(nanos < TimeUtil::kTimestampMinNanoseconds ||
1231
+ nanos > TimeUtil::kTimestampMaxNanoseconds)) {
1232
+ return absl::InvalidArgumentError(
1233
+ absl::StrCat("invalid timestamp nanoseconds: ", nanos));
1234
+ }
1235
+ return absl::UnixEpoch() + absl::Seconds(seconds) + absl::Nanoseconds(nanos);
1236
+ }
1237
+
1238
+ absl::Time TimestampReflection::UnsafeToAbslTime(
1239
+ const google::protobuf::Message& message) const {
1240
+ int64_t seconds = GetSeconds(message);
1241
+ int32_t nanos = GetNanos(message);
1242
+ return absl::UnixEpoch() + absl::Seconds(seconds) + absl::Nanoseconds(nanos);
1243
+ }
1244
+
1245
+ absl::StatusOr<TimestampReflection> GetTimestampReflection(
1246
+ const Descriptor* absl_nonnull descriptor) {
1247
+ TimestampReflection reflection;
1248
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
1249
+ return reflection;
1250
+ }
1251
+
1252
+ void ValueReflection::SetNumberValue(
1253
+ google::protobuf::Value* absl_nonnull message, int64_t value) {
1254
+ if (value < kJsonMinInt || value > kJsonMaxInt) {
1255
+ SetStringValue(message, absl::StrCat(value));
1256
+ return;
1257
+ }
1258
+ SetNumberValue(message, static_cast<double>(value));
1259
+ }
1260
+
1261
+ void ValueReflection::SetNumberValue(
1262
+ google::protobuf::Value* absl_nonnull message, uint64_t value) {
1263
+ if (value > kJsonMaxUint) {
1264
+ SetStringValue(message, absl::StrCat(value));
1265
+ return;
1266
+ }
1267
+ SetNumberValue(message, static_cast<double>(value));
1268
+ }
1269
+
1270
+ absl::Status ValueReflection::Initialize(
1271
+ const DescriptorPool* absl_nonnull pool) {
1272
+ CEL_ASSIGN_OR_RETURN(const auto* descriptor,
1273
+ GetMessageTypeByName(pool, "google.protobuf.Value"));
1274
+ return Initialize(descriptor);
1275
+ }
1276
+
1277
+ absl::Status ValueReflection::Initialize(
1278
+ const Descriptor* absl_nonnull descriptor) {
1279
+ if (descriptor_ != descriptor) {
1280
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
1281
+ descriptor_ = nullptr;
1282
+ CEL_ASSIGN_OR_RETURN(kind_field_, GetOneofByName(descriptor, "kind"));
1283
+ CEL_ASSIGN_OR_RETURN(null_value_field_, GetFieldByNumber(descriptor, 1));
1284
+ CEL_RETURN_IF_ERROR(
1285
+ CheckFieldCppType(null_value_field_, FieldDescriptor::CPPTYPE_ENUM));
1286
+ CEL_RETURN_IF_ERROR(CheckFieldCardinality(null_value_field_,
1287
+ FieldDescriptor::LABEL_OPTIONAL));
1288
+ CEL_RETURN_IF_ERROR(CheckFieldOneof(null_value_field_, kind_field_, 0));
1289
+ CEL_ASSIGN_OR_RETURN(bool_value_field_, GetFieldByNumber(descriptor, 4));
1290
+ CEL_RETURN_IF_ERROR(
1291
+ CheckFieldCppType(bool_value_field_, FieldDescriptor::CPPTYPE_BOOL));
1292
+ CEL_RETURN_IF_ERROR(CheckFieldCardinality(bool_value_field_,
1293
+ FieldDescriptor::LABEL_OPTIONAL));
1294
+ CEL_RETURN_IF_ERROR(CheckFieldOneof(bool_value_field_, kind_field_, 3));
1295
+ CEL_ASSIGN_OR_RETURN(number_value_field_, GetFieldByNumber(descriptor, 2));
1296
+ CEL_RETURN_IF_ERROR(CheckFieldCppType(number_value_field_,
1297
+ FieldDescriptor::CPPTYPE_DOUBLE));
1298
+ CEL_RETURN_IF_ERROR(CheckFieldCardinality(number_value_field_,
1299
+ FieldDescriptor::LABEL_OPTIONAL));
1300
+ CEL_RETURN_IF_ERROR(CheckFieldOneof(number_value_field_, kind_field_, 1));
1301
+ CEL_ASSIGN_OR_RETURN(string_value_field_, GetFieldByNumber(descriptor, 3));
1302
+ CEL_RETURN_IF_ERROR(CheckFieldCppType(string_value_field_,
1303
+ FieldDescriptor::CPPTYPE_STRING));
1304
+ CEL_RETURN_IF_ERROR(CheckFieldCardinality(string_value_field_,
1305
+ FieldDescriptor::LABEL_OPTIONAL));
1306
+ CEL_RETURN_IF_ERROR(CheckFieldOneof(string_value_field_, kind_field_, 2));
1307
+ string_value_field_string_type_ = string_value_field_->cpp_string_type();
1308
+ CEL_ASSIGN_OR_RETURN(list_value_field_, GetFieldByNumber(descriptor, 6));
1309
+ CEL_RETURN_IF_ERROR(
1310
+ CheckFieldCppType(list_value_field_, FieldDescriptor::CPPTYPE_MESSAGE));
1311
+ CEL_RETURN_IF_ERROR(CheckFieldCardinality(list_value_field_,
1312
+ FieldDescriptor::LABEL_OPTIONAL));
1313
+ CEL_RETURN_IF_ERROR(CheckFieldOneof(list_value_field_, kind_field_, 5));
1314
+ CEL_RETURN_IF_ERROR(CheckFieldWellKnownType(
1315
+ list_value_field_, Descriptor::WELLKNOWNTYPE_LISTVALUE));
1316
+ CEL_ASSIGN_OR_RETURN(struct_value_field_, GetFieldByNumber(descriptor, 5));
1317
+ CEL_RETURN_IF_ERROR(CheckFieldCppType(struct_value_field_,
1318
+ FieldDescriptor::CPPTYPE_MESSAGE));
1319
+ CEL_RETURN_IF_ERROR(CheckFieldCardinality(struct_value_field_,
1320
+ FieldDescriptor::LABEL_OPTIONAL));
1321
+ CEL_RETURN_IF_ERROR(CheckFieldOneof(struct_value_field_, kind_field_, 4));
1322
+ CEL_RETURN_IF_ERROR(CheckFieldWellKnownType(
1323
+ struct_value_field_, Descriptor::WELLKNOWNTYPE_STRUCT));
1324
+ descriptor_ = descriptor;
1325
+ }
1326
+ return absl::OkStatus();
1327
+ }
1328
+
1329
+ google::protobuf::Value::KindCase ValueReflection::GetKindCase(
1330
+ const google::protobuf::Message& message) const {
1331
+ ABSL_DCHECK(IsInitialized());
1332
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1333
+ const auto* field =
1334
+ message.GetReflection()->GetOneofFieldDescriptor(message, kind_field_);
1335
+ return field != nullptr ? static_cast<google::protobuf::Value::KindCase>(
1336
+ field->index_in_oneof() + 1)
1337
+ : google::protobuf::Value::KIND_NOT_SET;
1338
+ }
1339
+
1340
+ bool ValueReflection::GetBoolValue(const google::protobuf::Message& message) const {
1341
+ ABSL_DCHECK(IsInitialized());
1342
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1343
+ return message.GetReflection()->GetBool(message, bool_value_field_);
1344
+ }
1345
+
1346
+ double ValueReflection::GetNumberValue(const google::protobuf::Message& message) const {
1347
+ ABSL_DCHECK(IsInitialized());
1348
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1349
+ return message.GetReflection()->GetDouble(message, number_value_field_);
1350
+ }
1351
+
1352
+ StringValue ValueReflection::GetStringValue(const google::protobuf::Message& message,
1353
+ std::string& scratch) const {
1354
+ ABSL_DCHECK(IsInitialized());
1355
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1356
+ return GetStringField<StringValue>(message, string_value_field_,
1357
+ string_value_field_string_type_, scratch);
1358
+ }
1359
+
1360
+ const google::protobuf::Message& ValueReflection::GetListValue(
1361
+ const google::protobuf::Message& message) const {
1362
+ ABSL_DCHECK(IsInitialized());
1363
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1364
+ #undef GetMessage
1365
+ return message.GetReflection()->GetMessage(message, list_value_field_);
1366
+ }
1367
+
1368
+ const google::protobuf::Message& ValueReflection::GetStructValue(
1369
+ const google::protobuf::Message& message) const {
1370
+ ABSL_DCHECK(IsInitialized());
1371
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1372
+ #undef GetMessage
1373
+ return message.GetReflection()->GetMessage(message, struct_value_field_);
1374
+ }
1375
+
1376
+ void ValueReflection::SetNullValue(
1377
+ google::protobuf::Message* absl_nonnull message) const {
1378
+ ABSL_DCHECK(IsInitialized());
1379
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1380
+ message->GetReflection()->SetEnumValue(message, null_value_field_, 0);
1381
+ }
1382
+
1383
+ void ValueReflection::SetBoolValue(google::protobuf::Message* absl_nonnull message,
1384
+ bool value) const {
1385
+ ABSL_DCHECK(IsInitialized());
1386
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1387
+ message->GetReflection()->SetBool(message, bool_value_field_, value);
1388
+ }
1389
+
1390
+ void ValueReflection::SetNumberValue(google::protobuf::Message* absl_nonnull message,
1391
+ int64_t value) const {
1392
+ if (value < kJsonMinInt || value > kJsonMaxInt) {
1393
+ SetStringValue(message, absl::StrCat(value));
1394
+ return;
1395
+ }
1396
+ SetNumberValue(message, static_cast<double>(value));
1397
+ }
1398
+
1399
+ void ValueReflection::SetNumberValue(google::protobuf::Message* absl_nonnull message,
1400
+ uint64_t value) const {
1401
+ if (value > kJsonMaxUint) {
1402
+ SetStringValue(message, absl::StrCat(value));
1403
+ return;
1404
+ }
1405
+ SetNumberValue(message, static_cast<double>(value));
1406
+ }
1407
+
1408
+ void ValueReflection::SetNumberValue(google::protobuf::Message* absl_nonnull message,
1409
+ double value) const {
1410
+ ABSL_DCHECK(IsInitialized());
1411
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1412
+ message->GetReflection()->SetDouble(message, number_value_field_, value);
1413
+ }
1414
+
1415
+ void ValueReflection::SetStringValue(google::protobuf::Message* absl_nonnull message,
1416
+ absl::string_view value) const {
1417
+ ABSL_DCHECK(IsInitialized());
1418
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1419
+ message->GetReflection()->SetString(message, string_value_field_,
1420
+ std::string(value));
1421
+ }
1422
+
1423
+ void ValueReflection::SetStringValue(google::protobuf::Message* absl_nonnull message,
1424
+ const absl::Cord& value) const {
1425
+ ABSL_DCHECK(IsInitialized());
1426
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1427
+ message->GetReflection()->SetString(message, string_value_field_, value);
1428
+ }
1429
+
1430
+ void ValueReflection::SetStringValueFromBytes(
1431
+ google::protobuf::Message* absl_nonnull message, absl::string_view value) const {
1432
+ ABSL_DCHECK(IsInitialized());
1433
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1434
+ if (value.empty()) {
1435
+ SetStringValue(message, value);
1436
+ return;
1437
+ }
1438
+ SetStringValue(message, absl::Base64Escape(value));
1439
+ }
1440
+
1441
+ void ValueReflection::SetStringValueFromBytes(
1442
+ google::protobuf::Message* absl_nonnull message, const absl::Cord& value) const {
1443
+ ABSL_DCHECK(IsInitialized());
1444
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1445
+ if (value.empty()) {
1446
+ SetStringValue(message, value);
1447
+ return;
1448
+ }
1449
+ if (auto flat = value.TryFlat(); flat) {
1450
+ SetStringValue(message, absl::Base64Escape(*flat));
1451
+ return;
1452
+ }
1453
+ std::string flat;
1454
+ absl::CopyCordToString(value, &flat);
1455
+ SetStringValue(message, absl::Base64Escape(flat));
1456
+ }
1457
+
1458
+ void ValueReflection::SetStringValueFromDuration(
1459
+ google::protobuf::Message* absl_nonnull message, absl::Duration duration) const {
1460
+ google::protobuf::Duration proto;
1461
+ proto.set_seconds(absl::IDivDuration(duration, absl::Seconds(1), &duration));
1462
+ proto.set_nanos(static_cast<int32_t>(
1463
+ absl::IDivDuration(duration, absl::Nanoseconds(1), &duration)));
1464
+ ABSL_DCHECK(TimeUtil::IsDurationValid(proto));
1465
+ SetStringValue(message, TimeUtil::ToString(proto));
1466
+ }
1467
+
1468
+ void ValueReflection::SetStringValueFromTimestamp(
1469
+ google::protobuf::Message* absl_nonnull message, absl::Time time) const {
1470
+ google::protobuf::Timestamp proto;
1471
+ proto.set_seconds(absl::ToUnixSeconds(time));
1472
+ proto.set_nanos((time - absl::FromUnixSeconds(proto.seconds())) /
1473
+ absl::Nanoseconds(1));
1474
+ ABSL_DCHECK(TimeUtil::IsTimestampValid(proto));
1475
+ SetStringValue(message, TimeUtil::ToString(proto));
1476
+ }
1477
+
1478
+ google::protobuf::Message* absl_nonnull ValueReflection::MutableListValue(
1479
+ google::protobuf::Message* absl_nonnull message) const {
1480
+ ABSL_DCHECK(IsInitialized());
1481
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1482
+ return message->GetReflection()->MutableMessage(message, list_value_field_);
1483
+ }
1484
+
1485
+ google::protobuf::Message* absl_nonnull ValueReflection::MutableStructValue(
1486
+ google::protobuf::Message* absl_nonnull message) const {
1487
+ ABSL_DCHECK(IsInitialized());
1488
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1489
+ return message->GetReflection()->MutableMessage(message, struct_value_field_);
1490
+ }
1491
+
1492
+ Unique<google::protobuf::Message> ValueReflection::ReleaseListValue(
1493
+ google::protobuf::Message* absl_nonnull message) const {
1494
+ ABSL_DCHECK(IsInitialized());
1495
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1496
+ const auto* reflection = message->GetReflection();
1497
+ if (!reflection->HasField(*message, list_value_field_)) {
1498
+ reflection->MutableMessage(message, list_value_field_);
1499
+ }
1500
+ return WrapUnique(
1501
+ reflection->UnsafeArenaReleaseMessage(message, list_value_field_),
1502
+ message->GetArena());
1503
+ }
1504
+
1505
+ Unique<google::protobuf::Message> ValueReflection::ReleaseStructValue(
1506
+ google::protobuf::Message* absl_nonnull message) const {
1507
+ ABSL_DCHECK(IsInitialized());
1508
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1509
+ const auto* reflection = message->GetReflection();
1510
+ if (!reflection->HasField(*message, struct_value_field_)) {
1511
+ reflection->MutableMessage(message, struct_value_field_);
1512
+ }
1513
+ return WrapUnique(
1514
+ reflection->UnsafeArenaReleaseMessage(message, struct_value_field_),
1515
+ message->GetArena());
1516
+ }
1517
+
1518
+ absl::StatusOr<ValueReflection> GetValueReflection(
1519
+ const Descriptor* absl_nonnull descriptor) {
1520
+ ValueReflection reflection;
1521
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
1522
+ return reflection;
1523
+ }
1524
+ ValueReflection GetValueReflectionOrDie(
1525
+ const google::protobuf::Descriptor* absl_nonnull descriptor) {
1526
+ ValueReflection reflection;
1527
+ ABSL_CHECK_OK(reflection.Initialize(descriptor)); // Crash OK;
1528
+ return reflection;
1529
+ }
1530
+
1531
+ absl::Status ListValueReflection::Initialize(
1532
+ const DescriptorPool* absl_nonnull pool) {
1533
+ CEL_ASSIGN_OR_RETURN(const auto* descriptor,
1534
+ GetMessageTypeByName(pool, "google.protobuf.ListValue"));
1535
+ return Initialize(descriptor);
1536
+ }
1537
+
1538
+ absl::Status ListValueReflection::Initialize(
1539
+ const Descriptor* absl_nonnull descriptor) {
1540
+ if (descriptor_ != descriptor) {
1541
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
1542
+ descriptor_ = nullptr;
1543
+ CEL_ASSIGN_OR_RETURN(values_field_, GetFieldByNumber(descriptor, 1));
1544
+ CEL_RETURN_IF_ERROR(
1545
+ CheckFieldCppType(values_field_, FieldDescriptor::CPPTYPE_MESSAGE));
1546
+ CEL_RETURN_IF_ERROR(
1547
+ CheckFieldCardinality(values_field_, FieldDescriptor::LABEL_REPEATED));
1548
+ CEL_RETURN_IF_ERROR(CheckFieldWellKnownType(
1549
+ values_field_, Descriptor::WELLKNOWNTYPE_VALUE));
1550
+ descriptor_ = descriptor;
1551
+ }
1552
+ return absl::OkStatus();
1553
+ }
1554
+
1555
+ int ListValueReflection::ValuesSize(const google::protobuf::Message& message) const {
1556
+ ABSL_DCHECK(IsInitialized());
1557
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1558
+ return message.GetReflection()->FieldSize(message, values_field_);
1559
+ }
1560
+
1561
+ google::protobuf::RepeatedFieldRef<google::protobuf::Message> ListValueReflection::Values(
1562
+ const google::protobuf::Message& message) const {
1563
+ ABSL_DCHECK(IsInitialized());
1564
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1565
+ return message.GetReflection()->GetRepeatedFieldRef<google::protobuf::Message>(
1566
+ message, values_field_);
1567
+ }
1568
+
1569
+ const google::protobuf::Message& ListValueReflection::Values(
1570
+ const google::protobuf::Message& message ABSL_ATTRIBUTE_LIFETIME_BOUND,
1571
+ int index) const {
1572
+ ABSL_DCHECK(IsInitialized());
1573
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1574
+ return message.GetReflection()->GetRepeatedMessage(message, values_field_,
1575
+ index);
1576
+ }
1577
+
1578
+ google::protobuf::MutableRepeatedFieldRef<google::protobuf::Message>
1579
+ ListValueReflection::MutableValues(
1580
+ google::protobuf::Message* absl_nonnull message) const {
1581
+ ABSL_DCHECK(IsInitialized());
1582
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1583
+ return message->GetReflection()->GetMutableRepeatedFieldRef<google::protobuf::Message>(
1584
+ message, values_field_);
1585
+ }
1586
+
1587
+ google::protobuf::Message* absl_nonnull ListValueReflection::AddValues(
1588
+ google::protobuf::Message* absl_nonnull message) const {
1589
+ ABSL_DCHECK(IsInitialized());
1590
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1591
+ return message->GetReflection()->AddMessage(message, values_field_);
1592
+ }
1593
+
1594
+ absl::StatusOr<ListValueReflection> GetListValueReflection(
1595
+ const Descriptor* absl_nonnull descriptor) {
1596
+ ListValueReflection reflection;
1597
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
1598
+ return reflection;
1599
+ }
1600
+
1601
+ ListValueReflection GetListValueReflectionOrDie(
1602
+ const google::protobuf::Descriptor* absl_nonnull descriptor) {
1603
+ ListValueReflection reflection;
1604
+ ABSL_CHECK_OK(reflection.Initialize(descriptor)); // Crash OK
1605
+ return reflection;
1606
+ }
1607
+
1608
+ absl::Status StructReflection::Initialize(
1609
+ const DescriptorPool* absl_nonnull pool) {
1610
+ CEL_ASSIGN_OR_RETURN(const auto* descriptor,
1611
+ GetMessageTypeByName(pool, "google.protobuf.Struct"));
1612
+ return Initialize(descriptor);
1613
+ }
1614
+
1615
+ absl::Status StructReflection::Initialize(
1616
+ const Descriptor* absl_nonnull descriptor) {
1617
+ if (descriptor_ != descriptor) {
1618
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
1619
+ descriptor_ = nullptr;
1620
+ CEL_ASSIGN_OR_RETURN(fields_field_, GetFieldByNumber(descriptor, 1));
1621
+ CEL_RETURN_IF_ERROR(CheckMapField(fields_field_));
1622
+ fields_key_field_ = fields_field_->message_type()->map_key();
1623
+ CEL_RETURN_IF_ERROR(
1624
+ CheckFieldCppType(fields_key_field_, FieldDescriptor::CPPTYPE_STRING));
1625
+ CEL_RETURN_IF_ERROR(CheckFieldCardinality(fields_key_field_,
1626
+ FieldDescriptor::LABEL_OPTIONAL));
1627
+ fields_value_field_ = fields_field_->message_type()->map_value();
1628
+ CEL_RETURN_IF_ERROR(CheckFieldCppType(fields_value_field_,
1629
+ FieldDescriptor::CPPTYPE_MESSAGE));
1630
+ CEL_RETURN_IF_ERROR(CheckFieldCardinality(fields_value_field_,
1631
+ FieldDescriptor::LABEL_OPTIONAL));
1632
+ CEL_RETURN_IF_ERROR(CheckFieldWellKnownType(
1633
+ fields_value_field_, Descriptor::WELLKNOWNTYPE_VALUE));
1634
+ descriptor_ = descriptor;
1635
+ }
1636
+ return absl::OkStatus();
1637
+ }
1638
+
1639
+ int StructReflection::FieldsSize(const google::protobuf::Message& message) const {
1640
+ ABSL_DCHECK(IsInitialized());
1641
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1642
+ return cel::extensions::protobuf_internal::MapSize(*message.GetReflection(),
1643
+ message, *fields_field_);
1644
+ }
1645
+
1646
+ google::protobuf::ConstMapIterator StructReflection::BeginFields(
1647
+ const google::protobuf::Message& message) const {
1648
+ ABSL_DCHECK(IsInitialized());
1649
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1650
+ return cel::extensions::protobuf_internal::ConstMapBegin(
1651
+ *message.GetReflection(), message, *fields_field_);
1652
+ }
1653
+
1654
+ google::protobuf::ConstMapIterator StructReflection::EndFields(
1655
+ const google::protobuf::Message& message) const {
1656
+ ABSL_DCHECK(IsInitialized());
1657
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1658
+ return cel::extensions::protobuf_internal::ConstMapEnd(
1659
+ *message.GetReflection(), message, *fields_field_);
1660
+ }
1661
+
1662
+ bool StructReflection::ContainsField(const google::protobuf::Message& message,
1663
+ absl::string_view name) const {
1664
+ ABSL_DCHECK(IsInitialized());
1665
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1666
+ #if CEL_INTERNAL_PROTOBUF_OSS_VERSION_PREREQ(5, 30, 0)
1667
+ google::protobuf::MapKey key;
1668
+ key.SetStringValue(name);
1669
+ #else
1670
+ std::string key_scratch(name);
1671
+ google::protobuf::MapKey key;
1672
+ key.SetStringValue(key_scratch);
1673
+ #endif
1674
+ return cel::extensions::protobuf_internal::ContainsMapKey(
1675
+ *message.GetReflection(), message, *fields_field_, key);
1676
+ }
1677
+
1678
+ const google::protobuf::Message* absl_nullable StructReflection::FindField(
1679
+ const google::protobuf::Message& message, absl::string_view name) const {
1680
+ ABSL_DCHECK(IsInitialized());
1681
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1682
+ #if CEL_INTERNAL_PROTOBUF_OSS_VERSION_PREREQ(5, 30, 0)
1683
+ google::protobuf::MapKey key;
1684
+ key.SetStringValue(name);
1685
+ #else
1686
+ std::string key_scratch(name);
1687
+ google::protobuf::MapKey key;
1688
+ key.SetStringValue(key_scratch);
1689
+ #endif
1690
+ google::protobuf::MapValueConstRef value;
1691
+ if (cel::extensions::protobuf_internal::LookupMapValue(
1692
+ *message.GetReflection(), message, *fields_field_, key, &value)) {
1693
+ return &value.GetMessageValue();
1694
+ }
1695
+ return nullptr;
1696
+ }
1697
+
1698
+ google::protobuf::Message* absl_nonnull StructReflection::InsertField(
1699
+ google::protobuf::Message* absl_nonnull message, absl::string_view name) const {
1700
+ ABSL_DCHECK(IsInitialized());
1701
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1702
+ #if CEL_INTERNAL_PROTOBUF_OSS_VERSION_PREREQ(5, 30, 0)
1703
+ google::protobuf::MapKey key;
1704
+ key.SetStringValue(name);
1705
+ #else
1706
+ std::string key_scratch(name);
1707
+ google::protobuf::MapKey key;
1708
+ key.SetStringValue(key_scratch);
1709
+ #endif
1710
+ google::protobuf::MapValueRef value;
1711
+ cel::extensions::protobuf_internal::InsertOrLookupMapValue(
1712
+ *message->GetReflection(), message, *fields_field_, key, &value);
1713
+ return value.MutableMessageValue();
1714
+ }
1715
+
1716
+ bool StructReflection::DeleteField(google::protobuf::Message* absl_nonnull message,
1717
+ absl::string_view name) const {
1718
+ ABSL_DCHECK(IsInitialized());
1719
+ ABSL_DCHECK_EQ(message->GetDescriptor(), descriptor_);
1720
+ #if CEL_INTERNAL_PROTOBUF_OSS_VERSION_PREREQ(5, 30, 0)
1721
+ google::protobuf::MapKey key;
1722
+ key.SetStringValue(name);
1723
+ #else
1724
+ std::string key_scratch(name);
1725
+ google::protobuf::MapKey key;
1726
+ key.SetStringValue(key_scratch);
1727
+ #endif
1728
+ return cel::extensions::protobuf_internal::DeleteMapValue(
1729
+ message->GetReflection(), message, fields_field_, key);
1730
+ }
1731
+
1732
+ absl::StatusOr<StructReflection> GetStructReflection(
1733
+ const Descriptor* absl_nonnull descriptor) {
1734
+ StructReflection reflection;
1735
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
1736
+ return reflection;
1737
+ }
1738
+
1739
+ StructReflection GetStructReflectionOrDie(
1740
+ const google::protobuf::Descriptor* absl_nonnull descriptor) {
1741
+ StructReflection reflection;
1742
+ ABSL_CHECK_OK(reflection.Initialize(descriptor)); // Crash OK
1743
+ return reflection;
1744
+ }
1745
+
1746
+ absl::Status FieldMaskReflection::Initialize(
1747
+ const google::protobuf::DescriptorPool* absl_nonnull pool) {
1748
+ CEL_ASSIGN_OR_RETURN(const auto* descriptor,
1749
+ GetMessageTypeByName(pool, "google.protobuf.FieldMask"));
1750
+ return Initialize(descriptor);
1751
+ }
1752
+
1753
+ absl::Status FieldMaskReflection::Initialize(
1754
+ const google::protobuf::Descriptor* absl_nonnull descriptor) {
1755
+ if (descriptor_ != descriptor) {
1756
+ CEL_RETURN_IF_ERROR(CheckWellKnownType(descriptor, kWellKnownType));
1757
+ descriptor_ = nullptr;
1758
+ CEL_ASSIGN_OR_RETURN(paths_field_, GetFieldByNumber(descriptor, 1));
1759
+ CEL_RETURN_IF_ERROR(
1760
+ CheckFieldCppType(paths_field_, FieldDescriptor::CPPTYPE_STRING));
1761
+ CEL_RETURN_IF_ERROR(
1762
+ CheckFieldCardinality(paths_field_, FieldDescriptor::LABEL_REPEATED));
1763
+ paths_field_string_type_ = paths_field_->cpp_string_type();
1764
+ descriptor_ = descriptor;
1765
+ }
1766
+ return absl::OkStatus();
1767
+ }
1768
+
1769
+ int FieldMaskReflection::PathsSize(const google::protobuf::Message& message) const {
1770
+ ABSL_DCHECK(IsInitialized());
1771
+ ABSL_DCHECK_EQ(message.GetDescriptor(), descriptor_);
1772
+ return message.GetReflection()->FieldSize(message, paths_field_);
1773
+ }
1774
+
1775
+ StringValue FieldMaskReflection::Paths(const google::protobuf::Message& message,
1776
+ int index, std::string& scratch) const {
1777
+ return GetRepeatedStringField<StringValue>(
1778
+ message, paths_field_, paths_field_string_type_, index, scratch);
1779
+ }
1780
+
1781
+ absl::StatusOr<FieldMaskReflection> GetFieldMaskReflection(
1782
+ const google::protobuf::Descriptor* absl_nonnull descriptor) {
1783
+ FieldMaskReflection reflection;
1784
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
1785
+ return reflection;
1786
+ }
1787
+
1788
+ absl::Status JsonReflection::Initialize(
1789
+ const google::protobuf::DescriptorPool* absl_nonnull pool) {
1790
+ CEL_RETURN_IF_ERROR(Value().Initialize(pool));
1791
+ CEL_RETURN_IF_ERROR(ListValue().Initialize(pool));
1792
+ CEL_RETURN_IF_ERROR(Struct().Initialize(pool));
1793
+ return absl::OkStatus();
1794
+ }
1795
+
1796
+ absl::Status JsonReflection::Initialize(
1797
+ const google::protobuf::Descriptor* absl_nonnull descriptor) {
1798
+ switch (descriptor->well_known_type()) {
1799
+ case google::protobuf::Descriptor::WELLKNOWNTYPE_VALUE:
1800
+ CEL_RETURN_IF_ERROR(Value().Initialize(descriptor));
1801
+ CEL_RETURN_IF_ERROR(
1802
+ ListValue().Initialize(Value().GetListValueDescriptor()));
1803
+ CEL_RETURN_IF_ERROR(Struct().Initialize(Value().GetStructDescriptor()));
1804
+ return absl::OkStatus();
1805
+ case google::protobuf::Descriptor::WELLKNOWNTYPE_LISTVALUE:
1806
+ CEL_RETURN_IF_ERROR(ListValue().Initialize(descriptor));
1807
+ CEL_RETURN_IF_ERROR(Value().Initialize(ListValue().GetValueDescriptor()));
1808
+ CEL_RETURN_IF_ERROR(Struct().Initialize(Value().GetStructDescriptor()));
1809
+ return absl::OkStatus();
1810
+ case google::protobuf::Descriptor::WELLKNOWNTYPE_STRUCT:
1811
+ CEL_RETURN_IF_ERROR(Struct().Initialize(descriptor));
1812
+ CEL_RETURN_IF_ERROR(Value().Initialize(Struct().GetValueDescriptor()));
1813
+ CEL_RETURN_IF_ERROR(
1814
+ ListValue().Initialize(Value().GetListValueDescriptor()));
1815
+ return absl::OkStatus();
1816
+ default:
1817
+ return absl::InvalidArgumentError(
1818
+ absl::StrCat("expected message to be JSON-like well known type: ",
1819
+ descriptor->full_name(), " ",
1820
+ WellKnownTypeToString(descriptor->well_known_type())));
1821
+ }
1822
+ }
1823
+
1824
+ bool JsonReflection::IsInitialized() const {
1825
+ return Value().IsInitialized() && ListValue().IsInitialized() &&
1826
+ Struct().IsInitialized();
1827
+ }
1828
+
1829
+ namespace {
1830
+
1831
+ [[maybe_unused]] ABSL_CONST_INIT absl::once_flag
1832
+ link_well_known_message_reflection;
1833
+
1834
+ void LinkWellKnownMessageReflection() {
1835
+ google::protobuf::LinkMessageReflection<google::protobuf::BoolValue>();
1836
+ google::protobuf::LinkMessageReflection<google::protobuf::Int32Value>();
1837
+ google::protobuf::LinkMessageReflection<google::protobuf::Int64Value>();
1838
+ google::protobuf::LinkMessageReflection<google::protobuf::UInt32Value>();
1839
+ google::protobuf::LinkMessageReflection<google::protobuf::UInt64Value>();
1840
+ google::protobuf::LinkMessageReflection<google::protobuf::FloatValue>();
1841
+ google::protobuf::LinkMessageReflection<google::protobuf::DoubleValue>();
1842
+ google::protobuf::LinkMessageReflection<google::protobuf::BytesValue>();
1843
+ google::protobuf::LinkMessageReflection<google::protobuf::StringValue>();
1844
+ google::protobuf::LinkMessageReflection<google::protobuf::Any>();
1845
+ google::protobuf::LinkMessageReflection<google::protobuf::Duration>();
1846
+ google::protobuf::LinkMessageReflection<google::protobuf::Timestamp>();
1847
+ google::protobuf::LinkMessageReflection<google::protobuf::Value>();
1848
+ google::protobuf::LinkMessageReflection<google::protobuf::ListValue>();
1849
+ google::protobuf::LinkMessageReflection<google::protobuf::Struct>();
1850
+ google::protobuf::LinkMessageReflection<google::protobuf::FieldMask>();
1851
+ }
1852
+
1853
+ } // namespace
1854
+
1855
+ absl::Status Reflection::Initialize(const DescriptorPool* absl_nonnull pool) {
1856
+ if (pool == DescriptorPool::generated_pool()) {
1857
+ absl::call_once(link_well_known_message_reflection,
1858
+ &LinkWellKnownMessageReflection);
1859
+ }
1860
+ CEL_RETURN_IF_ERROR(NullValue().Initialize(pool));
1861
+ CEL_RETURN_IF_ERROR(BoolValue().Initialize(pool));
1862
+ CEL_RETURN_IF_ERROR(Int32Value().Initialize(pool));
1863
+ CEL_RETURN_IF_ERROR(Int64Value().Initialize(pool));
1864
+ CEL_RETURN_IF_ERROR(UInt32Value().Initialize(pool));
1865
+ CEL_RETURN_IF_ERROR(UInt64Value().Initialize(pool));
1866
+ CEL_RETURN_IF_ERROR(FloatValue().Initialize(pool));
1867
+ CEL_RETURN_IF_ERROR(DoubleValue().Initialize(pool));
1868
+ CEL_RETURN_IF_ERROR(BytesValue().Initialize(pool));
1869
+ CEL_RETURN_IF_ERROR(StringValue().Initialize(pool));
1870
+ CEL_RETURN_IF_ERROR(Any().Initialize(pool));
1871
+ CEL_RETURN_IF_ERROR(Duration().Initialize(pool));
1872
+ CEL_RETURN_IF_ERROR(Timestamp().Initialize(pool));
1873
+ CEL_RETURN_IF_ERROR(Json().Initialize(pool));
1874
+ // google.protobuf.FieldMask is not strictly mandatory, but we do have to
1875
+ // treat it specifically for JSON. So use it if we have it.
1876
+ if (const auto* descriptor =
1877
+ pool->FindMessageTypeByName("google.protobuf.FieldMask");
1878
+ descriptor != nullptr) {
1879
+ CEL_RETURN_IF_ERROR(FieldMask().Initialize(descriptor));
1880
+ }
1881
+ return absl::OkStatus();
1882
+ }
1883
+
1884
+ bool Reflection::IsInitialized() const {
1885
+ // Check that everything is initialized except field mask, which is optional.
1886
+ return NullValue().IsInitialized() && BoolValue().IsInitialized() &&
1887
+ Int32Value().IsInitialized() && Int64Value().IsInitialized() &&
1888
+ UInt32Value().IsInitialized() && UInt64Value().IsInitialized() &&
1889
+ FloatValue().IsInitialized() && DoubleValue().IsInitialized() &&
1890
+ BytesValue().IsInitialized() && StringValue().IsInitialized() &&
1891
+ Any().IsInitialized() && Duration().IsInitialized() &&
1892
+ Timestamp().IsInitialized() && Json().IsInitialized();
1893
+ }
1894
+
1895
+ namespace {
1896
+
1897
+ // AdaptListValue verifies the message is the well known type
1898
+ // `google.protobuf.ListValue` and performs the complicated logic of reimaging
1899
+ // it as `ListValue`. If adapted is empty, we return as a reference. If adapted
1900
+ // is present, message must be a reference to the value held in adapted and it
1901
+ // will be returned by value.
1902
+ absl::StatusOr<ListValue> AdaptListValue(google::protobuf::Arena* absl_nullable arena,
1903
+ const google::protobuf::Message& message,
1904
+ Unique<google::protobuf::Message> adapted) {
1905
+ ABSL_DCHECK(!adapted || &message == cel::to_address(adapted));
1906
+ const auto* descriptor = message.GetDescriptor();
1907
+ if (ABSL_PREDICT_FALSE(descriptor == nullptr)) {
1908
+ return absl::InvalidArgumentError(
1909
+ absl::StrCat("missing descriptor for protocol buffer message: ",
1910
+ message.GetTypeName()));
1911
+ }
1912
+ // Not much to do. Just verify the well known type is well-formed.
1913
+ CEL_RETURN_IF_ERROR(GetListValueReflection(descriptor).status());
1914
+ if (adapted) {
1915
+ return ListValue(std::move(adapted));
1916
+ }
1917
+ return ListValue(std::cref(message));
1918
+ }
1919
+
1920
+ // AdaptStruct verifies the message is the well known type
1921
+ // `google.protobuf.Struct` and performs the complicated logic of reimaging it
1922
+ // as `Struct`. If adapted is empty, we return as a reference. If adapted is
1923
+ // present, message must be a reference to the value held in adapted and it will
1924
+ // be returned by value.
1925
+ absl::StatusOr<Struct> AdaptStruct(google::protobuf::Arena* absl_nullable arena,
1926
+ const google::protobuf::Message& message,
1927
+ Unique<google::protobuf::Message> adapted) {
1928
+ ABSL_DCHECK(!adapted || &message == cel::to_address(adapted));
1929
+ const auto* descriptor = message.GetDescriptor();
1930
+ if (ABSL_PREDICT_FALSE(descriptor == nullptr)) {
1931
+ return absl::InvalidArgumentError(
1932
+ absl::StrCat("missing descriptor for protocol buffer message: ",
1933
+ message.GetTypeName()));
1934
+ }
1935
+ // Not much to do. Just verify the well known type is well-formed.
1936
+ CEL_RETURN_IF_ERROR(GetStructReflection(descriptor).status());
1937
+ if (adapted) {
1938
+ return Struct(std::move(adapted));
1939
+ }
1940
+ return Struct(std::cref(message));
1941
+ }
1942
+
1943
+ // AdaptAny recursively unpacks a protocol buffer message which is an instance
1944
+ // of `google.protobuf.Any`.
1945
+ absl::StatusOr<Unique<google::protobuf::Message>> AdaptAny(
1946
+ google::protobuf::Arena* absl_nullable arena, AnyReflection& reflection,
1947
+ const google::protobuf::Message& message, const Descriptor* absl_nonnull descriptor,
1948
+ const DescriptorPool* absl_nonnull pool,
1949
+ google::protobuf::MessageFactory* absl_nonnull factory, bool error_if_unresolveable) {
1950
+ ABSL_DCHECK_EQ(descriptor->well_known_type(), Descriptor::WELLKNOWNTYPE_ANY);
1951
+ const google::protobuf::Message* absl_nonnull to_unwrap = &message;
1952
+ Unique<google::protobuf::Message> unwrapped;
1953
+ std::string type_url_scratch;
1954
+ std::string value_scratch;
1955
+ do {
1956
+ CEL_RETURN_IF_ERROR(reflection.Initialize(descriptor));
1957
+ StringValue type_url = reflection.GetTypeUrl(*to_unwrap, type_url_scratch);
1958
+ absl::string_view type_url_view =
1959
+ FlatStringValue(type_url, type_url_scratch);
1960
+ if (!absl::ConsumePrefix(&type_url_view, "type.googleapis.com/") &&
1961
+ !absl::ConsumePrefix(&type_url_view, "type.googleprod.com/")) {
1962
+ if (!error_if_unresolveable) {
1963
+ break;
1964
+ }
1965
+ return absl::InvalidArgumentError(absl::StrCat(
1966
+ "unable to find descriptor for type URL: ", type_url_view));
1967
+ }
1968
+ const auto* packed_descriptor = pool->FindMessageTypeByName(type_url_view);
1969
+ if (packed_descriptor == nullptr) {
1970
+ if (!error_if_unresolveable) {
1971
+ break;
1972
+ }
1973
+ return absl::InvalidArgumentError(absl::StrCat(
1974
+ "unable to find descriptor for type name: ", type_url_view));
1975
+ }
1976
+ const auto* prototype = factory->GetPrototype(packed_descriptor);
1977
+ if (prototype == nullptr) {
1978
+ return absl::InvalidArgumentError(absl::StrCat(
1979
+ "unable to build prototype for type name: ", type_url_view));
1980
+ }
1981
+ BytesValue value = reflection.GetValue(*to_unwrap, value_scratch);
1982
+ Unique<google::protobuf::Message> unpacked = WrapUnique(prototype->New(arena), arena);
1983
+ const bool ok = absl::visit(absl::Overload(
1984
+ [&](absl::string_view string) -> bool {
1985
+ return unpacked->ParseFromString(string);
1986
+ },
1987
+ [&](const absl::Cord& cord) -> bool {
1988
+ return unpacked->ParseFromString(cord);
1989
+ }),
1990
+ AsVariant(value));
1991
+ if (!ok) {
1992
+ return absl::InvalidArgumentError(absl::StrCat(
1993
+ "failed to unpack protocol buffer message: ", type_url_view));
1994
+ }
1995
+ // We can only update unwrapped at this point, not before. This is because
1996
+ // we could have been unpacking from unwrapped itself.
1997
+ unwrapped = std::move(unpacked);
1998
+ to_unwrap = cel::to_address(unwrapped);
1999
+ descriptor = to_unwrap->GetDescriptor();
2000
+ if (descriptor == nullptr) {
2001
+ return absl::InvalidArgumentError(
2002
+ absl::StrCat("missing descriptor for protocol buffer message: ",
2003
+ to_unwrap->GetTypeName()));
2004
+ }
2005
+ } while (descriptor->well_known_type() == Descriptor::WELLKNOWNTYPE_ANY);
2006
+ return unwrapped;
2007
+ }
2008
+
2009
+ } // namespace
2010
+
2011
+ absl::StatusOr<Unique<google::protobuf::Message>> UnpackAnyFrom(
2012
+ google::protobuf::Arena* absl_nullable arena, AnyReflection& reflection,
2013
+ const google::protobuf::Message& message,
2014
+ const google::protobuf::DescriptorPool* absl_nonnull pool,
2015
+ google::protobuf::MessageFactory* absl_nonnull factory) {
2016
+ ABSL_DCHECK_EQ(message.GetDescriptor()->well_known_type(),
2017
+ Descriptor::WELLKNOWNTYPE_ANY);
2018
+ return AdaptAny(arena, reflection, message, message.GetDescriptor(), pool,
2019
+ factory, /*error_if_unresolveable=*/true);
2020
+ }
2021
+
2022
+ absl::StatusOr<Unique<google::protobuf::Message>> UnpackAnyIfResolveable(
2023
+ google::protobuf::Arena* absl_nullable arena, AnyReflection& reflection,
2024
+ const google::protobuf::Message& message,
2025
+ const google::protobuf::DescriptorPool* absl_nonnull pool,
2026
+ google::protobuf::MessageFactory* absl_nonnull factory) {
2027
+ ABSL_DCHECK_EQ(message.GetDescriptor()->well_known_type(),
2028
+ Descriptor::WELLKNOWNTYPE_ANY);
2029
+ return AdaptAny(arena, reflection, message, message.GetDescriptor(), pool,
2030
+ factory, /*error_if_unresolveable=*/false);
2031
+ }
2032
+
2033
+ absl::StatusOr<well_known_types::Value> AdaptFromMessage(
2034
+ google::protobuf::Arena* absl_nullable arena, const google::protobuf::Message& message,
2035
+ const DescriptorPool* absl_nonnull pool,
2036
+ google::protobuf::MessageFactory* absl_nonnull factory, std::string& scratch) {
2037
+ const auto* descriptor = message.GetDescriptor();
2038
+ if (ABSL_PREDICT_FALSE(descriptor == nullptr)) {
2039
+ return absl::InvalidArgumentError(
2040
+ absl::StrCat("missing descriptor for protocol buffer message: ",
2041
+ message.GetTypeName()));
2042
+ }
2043
+ const google::protobuf::Message* absl_nonnull to_adapt;
2044
+ Unique<google::protobuf::Message> adapted;
2045
+ Descriptor::WellKnownType well_known_type = descriptor->well_known_type();
2046
+ if (well_known_type == Descriptor::WELLKNOWNTYPE_ANY) {
2047
+ AnyReflection reflection;
2048
+ CEL_ASSIGN_OR_RETURN(
2049
+ adapted, UnpackAnyFrom(arena, reflection, message, pool, factory));
2050
+ to_adapt = cel::to_address(adapted);
2051
+ // GetDescriptor() is guaranteed to be nonnull by AdaptAny().
2052
+ descriptor = to_adapt->GetDescriptor();
2053
+ well_known_type = descriptor->well_known_type();
2054
+ } else {
2055
+ to_adapt = &message;
2056
+ }
2057
+ switch (descriptor->well_known_type()) {
2058
+ case Descriptor::WELLKNOWNTYPE_DOUBLEVALUE: {
2059
+ CEL_ASSIGN_OR_RETURN(auto reflection,
2060
+ GetDoubleValueReflection(descriptor));
2061
+ return reflection.GetValue(*to_adapt);
2062
+ }
2063
+ case Descriptor::WELLKNOWNTYPE_FLOATVALUE: {
2064
+ CEL_ASSIGN_OR_RETURN(auto reflection,
2065
+ GetFloatValueReflection(descriptor));
2066
+ return reflection.GetValue(*to_adapt);
2067
+ }
2068
+ case Descriptor::WELLKNOWNTYPE_INT64VALUE: {
2069
+ CEL_ASSIGN_OR_RETURN(auto reflection,
2070
+ GetInt64ValueReflection(descriptor));
2071
+ return reflection.GetValue(*to_adapt);
2072
+ }
2073
+ case Descriptor::WELLKNOWNTYPE_UINT64VALUE: {
2074
+ CEL_ASSIGN_OR_RETURN(auto reflection,
2075
+ GetUInt64ValueReflection(descriptor));
2076
+ return reflection.GetValue(*to_adapt);
2077
+ }
2078
+ case Descriptor::WELLKNOWNTYPE_INT32VALUE: {
2079
+ CEL_ASSIGN_OR_RETURN(auto reflection,
2080
+ GetInt32ValueReflection(descriptor));
2081
+ return reflection.GetValue(*to_adapt);
2082
+ }
2083
+ case Descriptor::WELLKNOWNTYPE_UINT32VALUE: {
2084
+ CEL_ASSIGN_OR_RETURN(auto reflection,
2085
+ GetUInt32ValueReflection(descriptor));
2086
+ return reflection.GetValue(*to_adapt);
2087
+ }
2088
+ case Descriptor::WELLKNOWNTYPE_STRINGVALUE: {
2089
+ CEL_ASSIGN_OR_RETURN(auto reflection,
2090
+ GetStringValueReflection(descriptor));
2091
+ auto value = reflection.GetValue(*to_adapt, scratch);
2092
+ if (adapted) {
2093
+ // value might actually be a view of data owned by adapted, force a copy
2094
+ // to scratch if that is the case.
2095
+ value = CopyStringValue(value, scratch);
2096
+ }
2097
+ return value;
2098
+ }
2099
+ case Descriptor::WELLKNOWNTYPE_BYTESVALUE: {
2100
+ CEL_ASSIGN_OR_RETURN(auto reflection,
2101
+ GetBytesValueReflection(descriptor));
2102
+ auto value = reflection.GetValue(*to_adapt, scratch);
2103
+ if (adapted) {
2104
+ // value might actually be a view of data owned by adapted, force a copy
2105
+ // to scratch if that is the case.
2106
+ value = CopyBytesValue(value, scratch);
2107
+ }
2108
+ return value;
2109
+ }
2110
+ case Descriptor::WELLKNOWNTYPE_BOOLVALUE: {
2111
+ CEL_ASSIGN_OR_RETURN(auto reflection, GetBoolValueReflection(descriptor));
2112
+ return reflection.GetValue(*to_adapt);
2113
+ }
2114
+ case Descriptor::WELLKNOWNTYPE_ANY:
2115
+ // This is unreachable, as AdaptAny() above recursively unpacks.
2116
+ ABSL_UNREACHABLE();
2117
+ case Descriptor::WELLKNOWNTYPE_DURATION: {
2118
+ CEL_ASSIGN_OR_RETURN(auto reflection, GetDurationReflection(descriptor));
2119
+ return reflection.ToAbslDuration(*to_adapt);
2120
+ }
2121
+ case Descriptor::WELLKNOWNTYPE_TIMESTAMP: {
2122
+ CEL_ASSIGN_OR_RETURN(auto reflection, GetTimestampReflection(descriptor));
2123
+ return reflection.ToAbslTime(*to_adapt);
2124
+ }
2125
+ case Descriptor::WELLKNOWNTYPE_VALUE: {
2126
+ CEL_ASSIGN_OR_RETURN(auto reflection, GetValueReflection(descriptor));
2127
+ const auto kind_case = reflection.GetKindCase(*to_adapt);
2128
+ switch (kind_case) {
2129
+ case google::protobuf::Value::KIND_NOT_SET:
2130
+ ABSL_FALLTHROUGH_INTENDED;
2131
+ case google::protobuf::Value::kNullValue:
2132
+ return nullptr;
2133
+ case google::protobuf::Value::kNumberValue:
2134
+ return reflection.GetNumberValue(*to_adapt);
2135
+ case google::protobuf::Value::kStringValue: {
2136
+ auto value = reflection.GetStringValue(*to_adapt, scratch);
2137
+ if (adapted) {
2138
+ value = CopyStringValue(value, scratch);
2139
+ }
2140
+ return value;
2141
+ }
2142
+ case google::protobuf::Value::kBoolValue:
2143
+ return reflection.GetBoolValue(*to_adapt);
2144
+ case google::protobuf::Value::kStructValue: {
2145
+ if (adapted) {
2146
+ // We can release.
2147
+ adapted = reflection.ReleaseStructValue(cel::to_address(adapted));
2148
+ to_adapt = cel::to_address(adapted);
2149
+ } else {
2150
+ to_adapt = &reflection.GetStructValue(*to_adapt);
2151
+ }
2152
+ return AdaptStruct(arena, *to_adapt, std::move(adapted));
2153
+ }
2154
+ case google::protobuf::Value::kListValue: {
2155
+ if (adapted) {
2156
+ // We can release.
2157
+ adapted = reflection.ReleaseListValue(cel::to_address(adapted));
2158
+ to_adapt = cel::to_address(adapted);
2159
+ } else {
2160
+ to_adapt = &reflection.GetListValue(*to_adapt);
2161
+ }
2162
+ return AdaptListValue(arena, *to_adapt, std::move(adapted));
2163
+ }
2164
+ default:
2165
+ return absl::InvalidArgumentError(
2166
+ absl::StrCat("unexpected value kind case: ", kind_case));
2167
+ }
2168
+ }
2169
+ case Descriptor::WELLKNOWNTYPE_LISTVALUE:
2170
+ return AdaptListValue(arena, *to_adapt, std::move(adapted));
2171
+ case Descriptor::WELLKNOWNTYPE_STRUCT:
2172
+ return AdaptStruct(arena, *to_adapt, std::move(adapted));
2173
+ default:
2174
+ if (adapted) {
2175
+ return adapted;
2176
+ }
2177
+ return std::monostate{};
2178
+ }
2179
+ }
2180
+
2181
+ } // namespace cel::well_known_types