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.
- checksums.yaml +7 -0
- data/.yardopts +8 -0
- data/CHANGELOG.md +5 -0
- data/LICENSE.txt +201 -0
- data/NOTICE.md +30 -0
- data/README.md +93 -0
- data/Rakefile +32 -0
- data/ext/protovalidate/Cargo.lock +342 -0
- data/ext/protovalidate/Cargo.toml +27 -0
- data/ext/protovalidate/build.rs +4 -0
- data/ext/protovalidate/extconf.rb +8 -0
- data/ext/protovalidate/src/lib.rs +161 -0
- data/ext/protovalidate/sys/Cargo.toml +11 -0
- data/ext/protovalidate/sys/build.rs +218 -0
- data/ext/protovalidate/sys/filelists/absl.txt +126 -0
- data/ext/protovalidate/sys/filelists/antlr4.txt +139 -0
- data/ext/protovalidate/sys/filelists/celcpp.txt +199 -0
- data/ext/protovalidate/sys/filelists/protobuf.txt +83 -0
- data/ext/protovalidate/sys/filelists/protovalidate.txt +14 -0
- data/ext/protovalidate/sys/filelists/re2.txt +25 -0
- data/ext/protovalidate/sys/gen/buf/validate/validate.pb.cc +23621 -0
- data/ext/protovalidate/sys/gen/buf/validate/validate.pb.h +27800 -0
- data/ext/protovalidate/sys/gen/cel/expr/checked.pb.cc +6286 -0
- data/ext/protovalidate/sys/gen/cel/expr/checked.pb.h +6412 -0
- data/ext/protovalidate/sys/gen/cel/expr/syntax.pb.cc +7423 -0
- data/ext/protovalidate/sys/gen/cel/expr/syntax.pb.h +7510 -0
- data/ext/protovalidate/sys/gen/cel/expr/value.pb.cc +2512 -0
- data/ext/protovalidate/sys/gen/cel/expr/value.pb.h +2589 -0
- data/ext/protovalidate/sys/gen/internal/empty_descriptor_set_embed.inc +1 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelBaseVisitor.cpp +9 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelBaseVisitor.h +167 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelLexer.cpp +308 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelLexer.h +57 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelParser.cpp +2484 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelParser.h +697 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelVisitor.cpp +9 -0
- data/ext/protovalidate/sys/gen/parser/internal/CelVisitor.h +98 -0
- data/ext/protovalidate/sys/shim/pv_shim.cc +260 -0
- data/ext/protovalidate/sys/shim/pv_shim.h +84 -0
- data/ext/protovalidate/sys/src/lib.rs +176 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/LICENSE +203 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/algorithm/algorithm.h +96 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/algorithm/container.h +2011 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/attributes.h +1100 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/call_once.h +228 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/casts.cc +61 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/casts.h +313 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/config.h +898 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/const_init.h +76 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/dynamic_annotations.h +480 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/fast_type_id.h +73 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/atomic_hook.h +200 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h +34 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +72 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/cycleclock.h +144 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +55 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +170 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/endian.h +279 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/errno_saver.h +43 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/exception_safety_testing.h +1112 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/exception_testing.h +42 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/hardening.h +136 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/hide_ptr.h +51 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/iterator_traits.h +75 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/iterator_traits_test_helper.h +97 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +667 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +133 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +196 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/nullability_traits.h +71 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/per_thread_tls.h +52 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/poison.h +59 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/pretty_function.h +33 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +279 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/raw_logging.h +217 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/scheduling_mode.h +58 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/scoped_set_env.h +45 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock.cc +225 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock.h +310 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +35 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +71 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +46 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc +81 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +95 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +40 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/strerror.cc +88 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/strerror.h +39 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +493 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/sysinfo.h +74 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +163 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/thread_identity.h +325 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/tracing.cc +39 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/tracing.h +81 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +68 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +89 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +134 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +118 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +62 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/log_severity.cc +56 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/log_severity.h +185 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/macros.h +259 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/no_destructor.h +191 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/nullability.h +318 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/optimization.h +311 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/options.h +212 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/policy_checks.h +115 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/port.h +25 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/prefetch.h +209 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/thread_annotations.h +333 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/throw_delegate.cc +205 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/base/throw_delegate.h +65 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/cleanup/cleanup.h +143 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/btree_map.h +941 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/btree_set.h +872 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/chunked_queue.h +757 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/fixed_array.h +548 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/flat_hash_map.h +714 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/flat_hash_set.h +604 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/hash_container_defaults.h +45 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/inlined_vector.h +1025 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/btree.h +3157 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/btree_container.h +875 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/chunked_queue.h +173 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/common.h +302 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +151 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +275 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/container_memory.h +571 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +281 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hash_generator_testing.h +172 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hash_policy_testing.h +173 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +195 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtable_debug.h +102 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +316 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +294 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +31 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/heterogeneous_lookup_testing.h +80 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +1094 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/layout.h +828 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h +95 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +380 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +2110 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +4056 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +79 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/test_allocator.h +387 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/test_instance_tracker.h +274 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/internal/tracked.h +83 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/linked_hash_map.h +666 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/linked_hash_set.h +527 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/node_hash_map.h +710 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/container/node_hash_set.h +603 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/crc32c.cc +95 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/crc32c.h +192 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +359 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h +69 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc.cc +435 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc.h +83 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +319 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc32c.h +39 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc32c_inline.h +72 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +131 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h +159 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +161 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h +122 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +78 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +459 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +93 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +824 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +81 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +195 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/failure_signal_handler.h +121 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +98 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +126 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +258 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +55 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +2958 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/demangle.h +76 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +925 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.h +50 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +413 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +141 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc +334 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/examine_stack.h +70 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stack_consumption.h +50 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +299 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +148 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +96 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +121 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +121 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +270 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +208 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +25 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +81 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +410 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +163 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +70 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +47 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +209 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/leak_check.cc +73 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/leak_check.h +150 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/stacktrace.cc +204 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/stacktrace.h +259 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize.cc +62 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize.h +99 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +102 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +1708 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +63 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +99 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/commandlineflag.h +220 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/config.h +68 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/declare.h +77 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/flag.h +307 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/flag.h +969 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/parse.h +70 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/path_util.h +62 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +64 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/program_name.h +50 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/registry.h +98 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/internal/usage.h +106 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/marshalling.h +335 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/parse.h +130 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/reflection.h +90 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/usage.h +43 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/flags/usage_config.h +135 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/any_invocable.h +335 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/bind_back.h +79 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/bind_front.h +200 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/function_ref.h +249 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +787 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/internal/back_binder.h +95 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/internal/front_binder.h +93 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/internal/function_ref.h +151 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/functional/overload.h +72 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/hash.h +466 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/hash_testing.h +382 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/city.cc +337 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/city.h +78 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/hash.cc +430 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/hash.h +1619 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/spy_hash_state.h +289 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/absl_check.h +117 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/absl_log.h +115 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +93 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/check.h +210 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/check_test_impl.inc +1035 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/die_if_null.cc +34 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/die_if_null.h +97 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/flags.h +43 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/globals.cc +178 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/globals.h +230 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/initialize.h +45 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/append_truncated.h +75 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/check_impl.h +151 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/check_op.cc +147 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/check_op.h +565 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/conditions.cc +85 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/conditions.h +247 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/config.h +45 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/container.h +312 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/flags.h +59 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/fnmatch.cc +73 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/fnmatch.h +35 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/globals.cc +145 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/globals.h +101 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_format.cc +205 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_format.h +78 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_impl.h +280 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_message.cc +788 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_message.h +469 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_sink_set.cc +296 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/log_sink_set.h +54 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/nullguard.cc +35 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/nullguard.h +88 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/nullstream.h +128 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/proto.cc +231 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/proto.h +298 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/strip.h +99 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/structured.h +160 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/structured_proto.cc +115 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/structured_proto.h +108 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/test_actions.h +90 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/test_helpers.h +71 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/test_matchers.h +94 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/vlog_config.cc +347 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/vlog_config.h +164 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/internal/voidify.h +50 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log.h +378 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_basic_test_impl.inc +654 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_entry.cc +263 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_entry.h +223 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_sink.cc +23 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_sink.h +71 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_sink_registry.h +64 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/log_streamer.h +208 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/scoped_mock_log.h +203 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/structured.h +75 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/log/vlog_is_on.h +72 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/memory/memory.h +328 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/meta/internal/constexpr_testing.h +73 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/meta/internal/requires.h +67 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/meta/type_traits.h +646 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/bits.h +262 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/int128.cc +344 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/int128.h +1224 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +303 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +347 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/internal/bits.h +394 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/hashtable.h +40 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +93 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.h +130 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler.h +211 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/profile_builder.h +161 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +253 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +202 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/beta_distribution.h +429 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/bit_gen_ref.h +160 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/discrete_distribution.h +249 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/distributions.h +450 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/exponential_distribution.h +166 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/gaussian_distribution.h +276 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/chi_square.h +89 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +83 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/distribution_test_util.h +113 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/explicit_seed_seq.h +92 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +271 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/fastmath.h +57 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/generate_real.h +144 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +248 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/mock_helpers.h +134 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/mock_overload_set.h +122 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/mock_validators.h +98 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/nanobenchmark.h +172 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +160 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +287 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/platform.h +158 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen.h +96 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_engine.h +265 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +166 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/seed_material.h +105 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/sequence_urbg.h +60 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/traits.h +170 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +95 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +253 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/mock_distributions.h +269 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/mocking_access.h +74 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/mocking_bit_gen.h +227 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/poisson_distribution.h +262 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/random.h +224 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/seed_sequences.h +112 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +276 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +204 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/random/zipf_distribution.h +273 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/internal/status_internal.cc +296 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/internal/status_internal.h +157 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/internal/status_matchers.h +260 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +657 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status.cc +413 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status.h +1174 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_builder.h +978 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_macros.h +484 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_matchers.h +167 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_payload_printer.cc +36 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/status_payload_printer.h +53 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/statusor.cc +106 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/status/statusor.h +776 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/ascii.cc +296 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/ascii.h +288 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/charconv.cc +1442 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/charconv.h +123 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/charset.h +163 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord.cc +1601 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord.h +1773 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord_analysis.cc +196 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord_analysis.h +63 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord_buffer.h +574 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cord_test_helpers.h +122 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/cordz_test_helpers.h +152 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/escaping.cc +1183 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/escaping.h +195 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/has_absl_stringify.h +64 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/has_ostream_operator.h +42 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/append_and_overwrite.h +93 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +357 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +433 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +504 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/charconv_parse.h +99 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +70 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +942 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1237 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +944 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +187 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +267 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +69 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +212 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +64 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +47 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +56 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h +103 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +195 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cord_rep_test_util.h +205 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +102 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +87 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +165 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +98 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +424 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +295 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token.h +97 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +88 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +123 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +99 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +35 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/escaping.cc +68 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/escaping.h +35 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/escaping_test_common.h +133 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/generic_printer.h +115 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/generic_printer_internal.h +444 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/memutil.cc +48 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/memutil.h +40 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/numbers_test_common.h +184 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +43 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/ostringstream.h +114 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/pow10_helper.h +40 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +114 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h +248 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +615 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +653 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +275 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +237 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +98 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +357 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +53 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +456 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +2148 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +37 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +74 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +97 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +140 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +271 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +340 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +524 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/string_constant.h +67 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc +28 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h +69 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/stringify_stream.h +119 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/utf8.cc +148 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/internal/utf8.h +64 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/match.cc +133 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/match.h +129 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/numbers.cc +1636 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/numbers.h +363 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/resize_and_overwrite.h +198 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_cat.cc +247 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_cat.h +668 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_format.h +887 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_join.h +301 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_replace.cc +91 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_replace.h +222 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_split.cc +144 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/str_split.h +587 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/string_view.h +60 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/strip.h +99 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/substitute.cc +187 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/strings/substitute.h +769 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/barrier.cc +52 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/barrier.h +79 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +73 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +107 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +173 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +56 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/futex.h +177 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +107 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.h +63 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +714 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +146 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +220 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +178 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +124 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +163 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.h +60 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +118 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.h +65 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +87 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h +56 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/thread_pool.h +96 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +69 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +38 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.h +90 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +147 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.h +72 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/mutex.cc +2833 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/mutex.h +1352 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/notification.cc +85 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/synchronization/notification.h +133 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/civil_time.cc +200 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/civil_time.h +589 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/clock.cc +603 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/clock.h +81 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/clock_interface.h +93 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/duration.cc +918 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/format.cc +155 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +332 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +644 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +460 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +102 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +94 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.h +33 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +140 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +52 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1069 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +47 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +80 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +115 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +97 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +1070 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +128 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +333 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +60 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +217 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +185 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +37 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +159 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +132 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +115 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +116 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +31 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc +24 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/internal/test_util.h +33 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/simulated_clock.h +109 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/time.cc +507 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/time/time.h +1926 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/any.h +66 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/any_span.h +1067 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/compare.h +506 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/internal/any_span.h +477 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/internal/span.h +140 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/optional.h +68 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/optional_ref.h +295 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/source_location.cc +18 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/source_location.h +172 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/span.h +827 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/types/variant.h +139 -0
- data/ext/protovalidate/sys/third_party/abseil-cpp/absl/utility/utility.h +151 -0
- data/ext/protovalidate/sys/third_party/antlr4/LICENSE.txt +28 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +10 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorListener.h +167 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +10 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +121 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRFileStream.h +30 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +180 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ANTLRInputStream.h +79 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +61 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BailErrorStrategy.h +59 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BaseErrorListener.cpp +25 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BaseErrorListener.h +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +414 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/BufferedTokenStream.h +200 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CharStream.cpp +11 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CharStream.h +37 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonToken.cpp +193 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonToken.h +158 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +39 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenFactory.h +74 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenStream.cpp +78 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/CommonTokenStream.h +79 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +15 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ConsoleErrorListener.h +35 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +336 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +466 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +84 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +80 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Exceptions.cpp +64 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Exceptions.h +99 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/FailedPredicateException.cpp +52 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/FailedPredicateException.h +32 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/FlatHashMap.h +57 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/FlatHashSet.h +57 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/InputMismatchException.cpp +18 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/InputMismatchException.h +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/IntStream.cpp +12 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/IntStream.h +218 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +19 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/InterpreterRuleContext.h +45 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Lexer.cpp +294 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Lexer.h +196 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/LexerInterpreter.cpp +60 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/LexerInterpreter.h +46 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/LexerNoViableAltException.h +31 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ListTokenSource.cpp +92 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ListTokenSource.h +88 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/NoViableAltException.cpp +46 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/NoViableAltException.h +42 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Parser.cpp +670 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Parser.h +461 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ParserInterpreter.cpp +294 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ParserInterpreter.h +173 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ParserRuleContext.cpp +138 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ParserRuleContext.h +147 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +53 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/ProxyErrorListener.h +38 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RecognitionException.cpp +65 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RecognitionException.h +98 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Recognizer.cpp +157 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Recognizer.h +160 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuleContext.cpp +144 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuleContext.h +141 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +32 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +54 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/RuntimeMetaData.h +155 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Token.cpp +9 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Token.h +92 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenFactory.h +30 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenSource.cpp +9 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenSource.h +85 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenStream.cpp +11 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenStream.h +137 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +428 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/TokenStreamRewriter.h +295 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +208 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedCharStream.h +117 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +270 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +115 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Version.h +42 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Vocabulary.cpp +64 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/Vocabulary.h +177 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/WritableToken.cpp +9 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/WritableToken.h +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/antlr4-common.h +101 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/antlr4-runtime.h +168 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATN.cpp +159 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATN.h +133 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +106 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfig.h +157 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +233 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +157 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +39 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +48 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +628 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +32 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNSimulator.h +71 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNState.cpp +56 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNState.h +139 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNStateType.cpp +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNStateType.h +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNType.h +20 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +29 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ActionTransition.h +35 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +16 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +68 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +129 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +51 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/AtomTransition.h +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/BasicState.h +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/BlockEndState.h +26 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/BlockStartState.h +30 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +14 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +47 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +14 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +70 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +25 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionInfo.h +227 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionState.cpp +12 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/DecisionState.h +34 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +31 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +42 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +15 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ErrorInfo.h +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/HashUtils.h +18 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +189 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +76 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +67 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +44 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +621 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +199 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerAction.cpp +15 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerAction.h +100 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +108 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +128 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerActionType.h +57 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +59 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +45 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +75 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +50 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +76 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerModeAction.h +57 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +53 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +53 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +57 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +51 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +51 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +16 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +42 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/LoopEndState.h +26 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +22 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/NotSetTransition.h +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +16 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +25 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +102 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParseInfo.h +102 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +1413 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +911 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ParserATNSimulatorOptions.h +50 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +29 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +25 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +35 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +17 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +62 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredicateTransition.h +50 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +601 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContext.h +225 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextCache.cpp +56 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextCache.h +63 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.cpp +167 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.h +101 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextMergeCacheOptions.h +71 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionContextType.h +21 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +202 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/PredictionMode.h +436 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +179 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +60 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +26 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RangeTransition.h +31 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RuleStartState.h +26 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RuleStopState.h +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/RuleTransition.h +42 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +418 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SemanticContext.h +237 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SemanticContextType.h +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SerializedATNView.h +101 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SetTransition.cpp +28 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SetTransition.h +38 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +79 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +37 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +19 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +25 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/TokensStartState.h +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/Transition.cpp +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/Transition.h +65 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/TransitionType.cpp +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/TransitionType.h +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +21 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/atn/WildcardTransition.h +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFA.cpp +115 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFA.h +96 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +60 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFASerializer.h +32 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFAState.cpp +59 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/DFAState.h +154 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +17 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +22 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/internal/Synchronization.cpp +100 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/internal/Synchronization.h +154 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +124 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/Interval.cpp +61 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/Interval.h +84 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +508 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/IntervalSet.h +190 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +120 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/MurmurHash.h +102 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/Predicate.cpp +4 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/misc/Predicate.h +21 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Any.cpp +8 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Any.h +16 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Arrays.cpp +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Arrays.h +149 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/BitSet.h +76 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/CPPUtils.cpp +207 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/CPPUtils.h +65 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Casts.h +34 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Declarations.h +161 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/StringUtils.cpp +38 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/StringUtils.h +16 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Unicode.h +28 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Utf8.cpp +242 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/support/Utf8.h +54 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +129 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ErrorNode.h +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +54 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +43 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +66 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +53 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTree.cpp +12 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTree.h +111 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +9 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +39 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +50 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeType.h +22 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +9 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +57 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +48 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +55 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/TerminalNode.h +40 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +54 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +32 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/Trees.cpp +241 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/Trees.h +78 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +9 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +44 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +69 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +132 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +64 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +105 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +370 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +185 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +77 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +117 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +39 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +86 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +28 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +51 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +36 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +80 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +154 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPath.h +86 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +31 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +40 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +180 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +53 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +13 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +22 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +20 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +27 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +30 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +26 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +20 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +25 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +33 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +26 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +23 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +24 -0
- data/ext/protovalidate/sys/third_party/antlr4/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +23 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/LICENSE +202 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/ast.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/attribute.cc +330 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/attribute.h +278 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/attribute_set.h +108 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/builtins.h +106 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/function.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/function_adapter.h +19 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/function_descriptor.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/function_result.h +70 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/function_result_set.cc +28 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/function_result_set.h +105 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/memory_manager_testing.h +54 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/message_wrapper.h +30 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/operators.h +91 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/unknown_set.cc +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/internal/unknown_set.h +131 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/kind.h +25 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/operators.h +507 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/base/type_provider.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/checker_options.h +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/builtins_arena.cc +28 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/builtins_arena.h +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/field_path.h +77 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/namespace_generator.h +120 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/proto_type_mask.h +111 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/proto_type_mask_registry.h +83 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/test_ast_helpers.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/type_check_env.h +249 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/type_checker_builder_impl.h +170 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/type_checker_impl.h +58 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/internal/type_inference_context.h +229 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/optional.h +30 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/standard_library.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_check_issue.cc +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_check_issue.h +69 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker.cc +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker_builder.h +186 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker_builder_factory.h +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/type_checker_subset_factory.h +45 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/validation_result.cc +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/checker/validation_result.h +117 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/codelab/checked_expr_conversion_example.h +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/codelab/exercise1.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/codelab/exercise10.h +46 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/codelab/exercise2.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/codelab/exercise4.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/codelab/network_functions.h +197 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/allocator.h +606 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/any.cc +38 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/any.h +90 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/arena.h +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/arena_string.h +365 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/arena_string_pool.h +86 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/arena_string_view.h +239 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/constant_proto.cc +123 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/constant_proto.h +37 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/expr_proto.cc +514 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/expr_proto.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/metadata.cc +262 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/metadata.h +920 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/navigable_ast_internal.h +311 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/navigable_ast_kinds.cc +80 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/navigable_ast_kinds.h +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/source_info_proto.cc +90 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast/source_info_proto.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast.cc +98 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast.h +157 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_proto.cc +547 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_proto.h +52 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_rewrite.cc +389 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_rewrite.h +146 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_traverse.cc +380 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_traverse.h +105 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_visitor.h +118 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/ast_visitor_base.h +88 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/casting.h +75 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/constant.cc +101 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/constant.h +491 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/container.cc +171 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/container.h +138 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/data.h +120 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/decl.cc +221 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/decl.h +446 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/decl_proto.h +50 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/decl_proto_v1alpha1.h +55 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/descriptor_pool_type_introspector.cc +244 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/descriptor_pool_type_introspector.h +106 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/expr.cc +320 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/expr.h +1720 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/expr_factory.h +402 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/expr_printer.h +57 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/format_type_name.h +30 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/function_descriptor.cc +98 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/function_descriptor.h +124 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/byte_string.cc +1074 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/byte_string.h +688 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/casting.h +237 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/metadata.h +41 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/reference_count.cc +118 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/reference_count.h +406 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/internal/value_conversion.h +115 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/json.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/kind.cc +80 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/kind.h +76 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/legacy_value.cc +1324 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/legacy_value.h +131 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/memory.cc +83 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/memory.h +1505 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/memory_testing.h +71 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/minimal_descriptor_database.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/minimal_descriptor_pool.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/native_type.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/navigable_ast.cc +202 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/navigable_ast.h +168 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/operators.cc +233 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/operators.h +87 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/optional_ref.h +163 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/reference.h +269 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/reference_count.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/signature.cc +640 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/signature.h +101 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/source.cc +679 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/source.h +261 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/standard_definitions.h +349 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type.cc +737 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type.h +1303 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_introspector.cc +277 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_introspector.h +157 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_kind.h +113 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_proto.h +39 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_reflector.h +43 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_spec_resolver.cc +324 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_spec_resolver.h +46 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/type_testing.h +24 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/typeinfo.cc +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/typeinfo.h +221 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/any_type.h +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/basic_struct_type.cc +53 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/basic_struct_type.h +119 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/bool_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/bool_wrapper_type.h +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/bytes_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/bytes_wrapper_type.h +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/double_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/double_wrapper_type.h +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/duration_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/dyn_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/enum_type.cc +43 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/enum_type.h +128 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/error_type.h +75 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/function_type.cc +89 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/function_type.h +91 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/function_type_pool.cc +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/function_type_pool.h +102 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/int_type.h +72 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/int_wrapper_type.h +78 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/legacy_type_introspector.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/list_type.cc +77 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/list_type.h +115 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/list_type_pool.cc +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/list_type_pool.h +80 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/map_type.cc +122 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/map_type.h +124 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/map_type_pool.cc +30 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/map_type_pool.h +93 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/message_type.cc +95 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/message_type.h +209 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/null_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/opaque_type.cc +109 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/opaque_type.h +118 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/opaque_type_pool.cc +33 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/opaque_type_pool.h +99 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/optional_type.cc +68 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/optional_type.h +114 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/string_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/string_wrapper_type.h +86 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/struct_type.cc +87 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/struct_type.h +158 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/timestamp_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_param_type.h +78 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_pool.cc +96 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_pool.h +99 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_type.cc +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_type.h +92 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_type_pool.cc +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/type_type_pool.h +86 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/types.h +99 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/uint_type.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/uint_wrapper_type.h +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/types/unknown_type.h +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/unknown.h +27 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/value.cc +2791 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/value.h +2947 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/value_kind.h +104 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/value_testing.h +307 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bool_value.cc +97 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bool_value.h +111 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bytes_value.cc +194 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bytes_value.h +338 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bytes_value_input_stream.h +133 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/bytes_value_output_stream.h +176 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_list_value.cc +614 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_list_value.h +423 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_map_value.cc +823 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_map_value.h +469 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_struct_value.cc +385 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_struct_value.h +459 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/custom_value.h +84 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/double_value.cc +137 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/double_value.h +101 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/duration_value.cc +105 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/duration_value.h +147 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/enum_value.h +49 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/error_value.cc +194 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/error_value.h +276 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/int_value.cc +111 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/int_value.h +117 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_list_value.cc +76 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_list_value.h +167 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_map_value.cc +76 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_map_value.h +185 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_struct_value.cc +43 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/legacy_struct_value.h +183 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/list_value.cc +304 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/list_value.h +284 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/list_value_builder.h +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/list_value_variant.h +214 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/map_value.cc +378 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/map_value.h +323 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/map_value_builder.h +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/map_value_variant.h +212 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/message_value.cc +306 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/message_value.h +268 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/null_value.cc +78 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/null_value.h +96 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/opaque_value.cc +194 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/opaque_value.h +338 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/optional_value.cc +435 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/optional_value.h +207 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_list_value.cc +486 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_list_value.h +229 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_map_value.cc +439 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_map_value.h +250 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_value.cc +103 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_json_value.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_map_field_value.cc +583 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_map_field_value.h +242 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_message_value.cc +411 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_message_value.h +249 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_repeated_field_value.cc +365 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/parsed_repeated_field_value.h +220 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/string_value.cc +1518 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/string_value.h +489 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value.cc +390 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value.h +373 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value_builder.cc +1552 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value_builder.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/struct_value_variant.h +205 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/timestamp_value.cc +105 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/timestamp_value.h +146 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/type_value.cc +72 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/type_value.h +108 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/uint_value.cc +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/uint_value.h +119 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/unknown_value.cc +66 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/unknown_value.h +121 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/value_builder.cc +1432 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/value_builder.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/value_variant.cc +537 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/value_variant.h +831 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/common/values/values.h +351 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/compiler/compiler.h +195 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/compiler/compiler_factory.h +70 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/compiler/compiler_library_subset_factory.h +80 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/compiler/optional.h +28 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/compiler/standard_library.h +27 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/config.h +173 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/env.h +76 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/env_runtime.h +85 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/env_std_extensions.h +42 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/env_yaml.h +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/internal/ext_registry.h +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/internal/runtime_ext_registry.h +84 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/runtime_std_extensions.h +46 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/env/type_info.h +42 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/cel_expression_builder_flat_impl.cc +111 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/cel_expression_builder_flat_impl.h +108 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/check_ast_extensions.cc +58 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/check_ast_extensions.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/comprehension_vulnerability_check.cc +275 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/comprehension_vulnerability_check.h +51 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/constant_folding.cc +280 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/constant_folding.h +42 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/flat_expr_builder.cc +2667 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/flat_expr_builder.h +104 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/flat_expr_builder_extensions.cc +474 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/flat_expr_builder_extensions.h +481 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/instrumentation.h +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/qualified_reference_resolver.cc +359 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/qualified_reference_resolver.h +53 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/regex_precompilation_optimization.cc +274 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/regex_precompilation_optimization.h +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/resolver.cc +222 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/compiler/resolver.h +127 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/attribute_trail.cc +28 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/attribute_trail.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/attribute_utility.cc +260 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/attribute_utility.h +179 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/cel_expression_flat_impl.cc +147 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/cel_expression_flat_impl.h +175 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/compiler_constant_step.cc +37 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/compiler_constant_step.h +76 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/comprehension_slots.h +153 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/comprehension_step.cc +685 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/comprehension_step.h +119 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/const_value_step.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/container_access_step.cc +370 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/container_access_step.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_list_step.cc +283 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_list_step.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_map_step.cc +289 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_map_step.h +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_struct_step.cc +270 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/create_struct_step.h +44 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/direct_expression_step.cc +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/direct_expression_step.h +99 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/equality_steps.cc +293 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/equality_steps.h +45 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/evaluator_core.cc +178 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/evaluator_core.h +516 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/evaluator_stack.cc +92 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/evaluator_stack.h +327 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/expression_step_base.h +12 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/function_step.cc +529 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/function_step.h +48 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/ident_step.cc +174 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/ident_step.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/iterator_stack.h +77 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/jump_step.cc +172 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/jump_step.h +74 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/lazy_init_step.cc +236 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/lazy_init_step.h +87 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/logic_step.cc +487 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/logic_step.h +49 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/optional_or_step.cc +305 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/optional_or_step.h +51 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/regex_match_step.cc +135 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/regex_match_step.h +37 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/select_step.cc +581 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/select_step.h +33 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/shadowable_value_step.cc +98 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/shadowable_value_step.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/ternary_step.cc +194 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/ternary_step.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/eval/trace_step.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/adapter_activation_impl.cc +87 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/adapter_activation_impl.h +68 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/cel_value_equal.cc +242 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/cel_value_equal.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/errors.cc +64 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/errors.h +54 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/internal/interop.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/activation.cc +119 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/activation.h +170 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/activation_bind_helper.h +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/ast_rewrite.h +175 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/ast_traverse.h +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/ast_visitor.h +185 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/ast_visitor_base.h +109 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/base_activation.h +75 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/builtin_func_registrar.cc +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/builtin_func_registrar.h +30 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_attribute.cc +90 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_attribute.h +64 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_builtins.h +19 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_expr_builder_factory.cc +146 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_expr_builder_factory.h +43 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_expression.h +144 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function.cc +76 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function.h +80 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function_adapter.h +121 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function_adapter_impl.h +407 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function_registry.cc +122 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_function_registry.h +146 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_number.cc +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_number.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_options.cc +51 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_options.h +233 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_type_registry.cc +64 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_type_registry.h +145 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_value.cc +412 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_value.h +770 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_value_internal.h +103 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/cel_value_producer.h +25 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/comparison_functions.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/container_function_registrar.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/container_backed_list_impl.h +44 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/container_backed_map_impl.cc +131 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/container_backed_map_impl.h +70 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/field_access.cc +85 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/field_access.h +70 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/field_backed_list_impl.h +33 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/field_backed_map_impl.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/internal_field_backed_list_impl.cc +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/internal_field_backed_list_impl.h +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/internal_field_backed_map_impl.cc +298 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/containers/internal_field_backed_map_impl.h +77 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/equality_function_registrar.h +44 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/extension_func_registrar.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/logical_function_registrar.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/message_wrapper.h +139 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/portable_cel_function_adapter.h +72 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/set_util.h +43 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/source_position.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/string_extension_func_registrar.cc +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/string_extension_func_registrar.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_descriptor_pool_builder.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_wrap_util.cc +1479 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_wrap_util.h +45 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_wrapper.cc +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/cel_proto_wrapper.h +53 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/field_access_impl.cc +746 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/field_access_impl.h +80 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/legacy_type_adapter.h +177 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/legacy_type_info_apis.h +108 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/legacy_type_provider.cc +232 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/legacy_type_provider.h +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/proto_message_type_adapter.cc +708 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/proto_message_type_adapter.h +137 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/protobuf_descriptor_type_provider.cc +70 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/protobuf_descriptor_type_provider.h +67 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/protobuf_value_factory.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/structs/trivial_legacy_type_info.h +54 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/transform_utility.h +39 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/unknown_attribute_set.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/unknown_function_result_set.cc +1 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/unknown_function_result_set.h +27 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/unknown_set.h +22 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/eval/public/value_export_util.h +28 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/bindings_ext.h +46 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/comprehensions_v2.h +39 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/comprehensions_v2_functions.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/comprehensions_v2_macros.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/encoders.h +45 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/formatting.cc +570 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/formatting.h +39 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/lists_functions.h +138 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/math_ext.h +39 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/math_ext_decls.h +33 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/math_ext_macros.h +38 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/proto_ext.h +42 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/ast_converters.h +56 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/bind_proto_to_activation.h +38 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/enum_adapter.h +30 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/internal/map_reflection.cc +132 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/internal/map_reflection.h +67 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/internal/qualify.cc +457 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/internal/qualify.h +117 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/memory_manager.cc +37 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/memory_manager.h +56 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/runtime_adapter.h +51 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/value.h +98 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/protobuf/value_testing.h +78 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/regex_ext.h +131 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/regex_functions.h +52 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/select_optimization.cc +958 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/select_optimization.h +90 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/sets_functions.h +45 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/strings.cc +432 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/extensions/strings.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/align.h +95 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/benchmark.h +20 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/casts.h +50 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/empty_descriptors.cc +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/empty_descriptors.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/equals_text_proto.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/exceptions.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/json.cc +2041 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/json.h +141 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/lexis.cc +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/lexis.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/manual.h +91 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/message_equality.cc +1490 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/message_equality.h +54 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/message_type_name.h +56 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/minimal_descriptor_database.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/minimal_descriptor_pool.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/names.h +26 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/new.cc +142 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/new.h +61 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/noop_delete.h +53 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/number.h +299 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/overflow.cc +339 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/overflow.h +178 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/parse_text_proto.h +121 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_file_util.h +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_matchers.h +140 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_time_encoding.cc +103 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_time_encoding.h +49 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/proto_util.h +87 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/protobuf_runtime_version.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/re2_options.h +61 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/runfiles.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/status_builder.h +114 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/status_macros.h +152 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/string_pool.cc +79 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/string_pool.h +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/strings.cc +693 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/strings.h +90 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/testing.h +44 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/testing_descriptor_pool.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/testing_message_factory.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/time.cc +198 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/time.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/to_address.h +68 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/unicode.h +28 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/utf8.cc +526 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/utf8.h +82 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/well_known_types.cc +2181 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/internal/well_known_types.h +1593 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/ast_factory.cc +320 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/ast_factory.h +174 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/ast_factory_interface.h +130 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/lexer.cc +711 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/lexer.h +286 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/options.h +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/pratt_parser.cc +226 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/pratt_parser.h +110 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/pratt_parser_worker.cc +261 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/internal/pratt_parser_worker.h +1143 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro.cc +561 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro.h +229 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro_expr_factory.cc +128 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro_expr_factory.h +333 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro_registry.cc +87 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/macro_registry.h +59 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/options.h +115 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/parser.cc +1995 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/parser.h +102 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/parser_interface.h +160 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/parser_subset_factory.h +41 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/source_factory.h +47 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/parser/standard_macros.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy.h +333 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy_parse_context.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy_parse_result.h +105 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy_parser.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/cel_policy_validation_result.h +84 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/compiler.h +50 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/internal/issue_reporter.h +57 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/internal/optimizer_expr_factory.h +419 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/internal/yaml_string_element_scanner.h +40 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/test_util.h +33 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/policy/yaml_policy_parser.h +135 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/activation.cc +141 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/activation.h +184 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/activation_interface.h +109 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/bind_proto_to_activation.h +174 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/comprehension_vulnerability_check.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/constant_folding.h +69 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/embedder_context.h +147 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function.h +115 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_adapter.h +830 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_overload_reference.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_provider.h +46 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_registry.cc +263 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/function_registry.h +160 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/activation_attribute_matcher_access.cc +61 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/activation_attribute_matcher_access.h +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/attribute_matcher.h +48 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/convert_constant.cc +78 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/convert_constant.h +39 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/errors.cc +69 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/errors.h +71 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/function_adapter.h +232 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/issue_collector.h +64 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/legacy_runtime_type_provider.h +37 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_env.cc +73 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_env.h +134 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_env_testing.h +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_friend_access.h +45 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_impl.cc +159 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_impl.h +125 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_type_provider.cc +96 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/internal/runtime_type_provider.h +66 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/optional_types.h +152 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/reference_resolver.h +46 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/regex_precompilation.h +32 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/register_function_helper.h +99 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime.h +229 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime_builder.h +101 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime_builder_factory.h +65 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime_issue.h +88 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/runtime_options.h +209 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/arithmetic_functions.cc +233 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/arithmetic_functions.h +35 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/comparison_functions.cc +272 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/comparison_functions.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/container_functions.cc +136 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/container_functions.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/container_membership_functions.cc +331 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/container_membership_functions.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/equality_functions.cc +612 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/equality_functions.h +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/logical_functions.cc +66 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/logical_functions.h +36 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/regex_functions.cc +56 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/regex_functions.h +38 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/string_functions.cc +140 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/string_functions.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/time_functions.cc +499 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/time_functions.h +56 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/type_conversion_functions.cc +470 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard/type_conversion_functions.h +34 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard_functions.h +33 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/standard_runtime_builder_factory.h +43 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/type_registry.cc +84 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/runtime/type_registry.h +155 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/branch_coverage.h +68 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/cel_field_extractor.h +70 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/cel_unparser.h +60 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/descriptor_pool_builder.h +93 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/flatbuffers_backed_impl.h +58 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/navigable_ast.h +169 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/tools/proto_to_predicate.h +48 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/ast_depth_validator.h +27 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/comprehension_nesting_validator.h +31 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/homogeneous_literal_validator.h +38 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/regex_validator.h +53 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/timestamp_literal_validator.h +29 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/validator.cc +85 -0
- data/ext/protovalidate/sys/third_party/cel-cpp/validator/validator.h +151 -0
- data/ext/protovalidate/sys/third_party/protobuf/LICENSE +32 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any.cc +65 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any.h +161 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any.pb.cc +528 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any.pb.h +516 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/any_lite.cc +95 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/api.pb.cc +1959 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/api.pb.h +1985 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena.cc +1004 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena.h +1238 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_align.cc +21 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_align.h +199 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_allocation_policy.h +102 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_cleanup.h +108 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arena_test_util.h +91 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arenastring.cc +290 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arenastring.h +545 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arenaz_sampler.cc +227 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/arenaz_sampler.h +238 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/annotation_test_util.h +105 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/code_generator.h +256 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/code_generator_lite.h +77 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/command_line_interface.h +517 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/command_line_interface_tester.h +162 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/importer.cc +594 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/importer.h +338 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/mock_code_generator.h +144 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/notices.h +242 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/package_info.h +40 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/parser.cc +2716 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/parser.h +642 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/plugin.h +73 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.h +2320 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/retention.h +70 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/scc.h +155 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/subprocess.h +91 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/versions.h +78 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/compiler/zip_writer.h +45 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/cpp_edition_defaults.h +12 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/cpp_features.pb.cc +539 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/cpp_features.pb.h +630 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor.cc +10801 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor.h +3417 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor.pb.cc +18982 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor.pb.h +23170 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_database.cc +1102 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_database.h +423 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_legacy.h +32 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_lite.h +110 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_test_utils.h +129 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/descriptor_visitor.h +187 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/duration.pb.cc +481 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/duration.pb.h +367 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/dynamic_message.cc +1104 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/dynamic_message.h +217 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/empty.pb.cc +285 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/empty.pb.h +245 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/endian.h +192 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/explicitly_constructed.h +71 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/extension_set.cc +1925 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/extension_set.h +1886 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/extension_set_heavy.cc +459 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/extension_set_inl.h +274 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/feature_resolver.cc +637 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/feature_resolver.h +108 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/field_access_listener.h +166 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/field_mask.pb.cc +472 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/field_mask.pb.h +396 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/field_with_arena.h +110 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_enum_reflection.h +187 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_enum_util.cc +223 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_enum_util.h +185 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_bases.cc +88 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_bases.h +68 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_reflection.cc +4185 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_reflection.h +372 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_decl.h +615 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_full.cc +105 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_gen.cc +960 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_gen.h +193 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_impl.h +1229 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_tctable_lite.cc +3308 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_util.cc +434 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/generated_message_util.h +445 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/has_bits.h +138 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/implicit_weak_message.cc +139 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/implicit_weak_message.h +266 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/inlined_string_field.cc +144 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/inlined_string_field.h +379 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_feature_helper.cc +28 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_feature_helper.h +130 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_metadata_locator.h +291 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_visibility.h +55 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/internal_visibility_for_testing.h +27 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/coded_stream.cc +1045 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/coded_stream.h +1885 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/gzip_stream.cc +333 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/gzip_stream.h +189 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/io_win32.cc +450 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/io_win32.h +118 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/package_info.h +30 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/printer.cc +842 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/printer.h +1183 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/strtod.cc +260 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/strtod.h +57 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/test_zero_copy_stream.h +185 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/tokenizer.cc +1262 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/tokenizer.h +441 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_sink.cc +45 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_sink.h +59 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream.cc +128 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream.h +269 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc +354 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h +319 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc +699 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h +533 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/descriptor_traits.h +510 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/lexer.cc +512 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/lexer.h +341 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/message_path.cc +46 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/message_path.h +61 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/parser.cc +1437 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/parser.h +37 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/parser_traits.h +400 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/unparser.cc +915 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/unparser.h +38 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/unparser_traits.h +414 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/untyped_message.cc +577 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/untyped_message.h +246 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/writer.cc +307 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/writer.h +214 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/zero_copy_buffered_stream.cc +152 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/internal/zero_copy_buffered_stream.h +338 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/json.cc +137 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/json/json.h +200 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map.cc +297 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map.h +1787 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_entry.h +139 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_field.cc +597 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_field.h +925 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_field_lite.h +124 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_test.inc +4427 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_test_util.h +617 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/map_type_handler.h +374 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message.cc +745 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message.h +1936 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message_lite.cc +807 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message_lite.h +1861 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message_unittest.inc +2302 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/message_unittest_legacy_apis.inc +98 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/metadata.h +13 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/metadata_lite.h +271 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/micro_string.cc +376 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/micro_string.h +649 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/os_macros_restore.inc +97 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/os_macros_undef.inc +166 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/package_info.h +43 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/parse_context.cc +850 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/parse_context.h +1883 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/port.cc +131 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/port.h +908 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/port_def.inc +820 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/port_undef.inc +97 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/proto3_lite_unittest.inc +127 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/raw_ptr.cc +29 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/raw_ptr.h +64 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection.h +603 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_internal.h +313 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_mode.cc +36 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_mode.h +144 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_ops.cc +456 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_ops.h +67 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_tester.h +127 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_visit_field_info.h +1378 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/reflection_visit_fields.h +511 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field.cc +76 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field.h +1814 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field_proxy.h +697 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field_proxy_iterator.h +236 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field_proxy_traits.h +100 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_field_reflection_unittest.inc +687 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_ptr_field.cc +251 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h +2706 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/runtime_version.h +27 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/serial_arena.h +447 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/service.cc +22 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/service.h +271 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/source_context.pb.cc +463 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/source_context.pb.h +376 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/string_block.h +181 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/string_member_robber.h +17 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/struct.pb.cc +1663 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/struct.pb.h +1426 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/callback.h +584 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/common.cc +121 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/common.h +94 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/platform_macros.h +115 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/port.h +228 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/stubs/status_macros.h +72 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/symbol_checker.cc +219 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/symbol_checker.h +142 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/test_textproto.h +54 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/test_util.h +3897 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/test_util2.h +70 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/test_util_lite.h +86 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/text_format.cc +3324 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/text_format.h +925 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/thread_safe_arena.h +297 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/timestamp.pb.cc +481 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/timestamp.pb.h +367 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/type.pb.cc +3129 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/type.pb.h +3343 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/unknown_field_set.cc +351 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/unknown_field_set.h +464 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/delimited_message_util.cc +107 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/delimited_message_util.h +85 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/field_comparator.cc +237 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/field_comparator.h +256 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/field_mask_util.cc +754 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/field_mask_util.h +242 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/internal_timeval.h +28 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/json_util.h +34 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/message_differencer.cc +2372 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/message_differencer.h +1002 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/package_info.h +23 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/python/field_mask_util_clif_aux.h +32 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/time_util.cc +563 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/time_util.h +297 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/type_resolver.h +56 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/type_resolver_util.cc +436 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/util/type_resolver_util.h +45 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/varint_shuffle.h +165 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format.cc +1785 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format.h +374 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format_lite.cc +901 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format_lite.h +1720 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wire_format_unittest.h +1726 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wrappers.pb.cc +3203 -0
- data/ext/protovalidate/sys/third_party/protobuf/src/google/protobuf/wrappers.pb.h +2317 -0
- data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_range.c +207 -0
- data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_range.h +23 -0
- data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_range_neon.inc +117 -0
- data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_range_sse.inc +272 -0
- data/ext/protovalidate/sys/third_party/protobuf/third_party/utf8_range/utf8_validity.h +30 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/LICENSE +201 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/cel_rules.h +116 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/cel_validation_rules.cc +166 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/cel_validation_rules.h +72 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/extra_func.cc +482 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/extra_func.h +31 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/field_rules.cc +388 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/field_rules.h +92 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/ipv4.cc +69 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/ipv4.h +58 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/ipv6.cc +143 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/ipv6.h +51 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/parser_common.h +256 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/uri.cc +469 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/lib/uri.h +25 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/message_factory.cc +31 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/message_factory.h +43 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/message_rules.cc +114 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/message_rules.h +39 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/proto_field.h +155 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/rules.cc +437 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/rules.h +221 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/internal/validation_rules.h +153 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/validator.cc +190 -0
- data/ext/protovalidate/sys/third_party/protovalidate-cc/buf/validate/validator.h +156 -0
- data/ext/protovalidate/sys/third_party/re2/LICENSE +27 -0
- data/ext/protovalidate/sys/third_party/re2/re2/bitmap256.cc +43 -0
- data/ext/protovalidate/sys/third_party/re2/re2/bitmap256.h +88 -0
- data/ext/protovalidate/sys/third_party/re2/re2/bitstate.cc +389 -0
- data/ext/protovalidate/sys/third_party/re2/re2/compile.cc +1265 -0
- data/ext/protovalidate/sys/third_party/re2/re2/dfa.cc +2135 -0
- data/ext/protovalidate/sys/third_party/re2/re2/filtered_re2.cc +138 -0
- data/ext/protovalidate/sys/third_party/re2/re2/filtered_re2.h +115 -0
- data/ext/protovalidate/sys/third_party/re2/re2/mimics_pcre.cc +196 -0
- data/ext/protovalidate/sys/third_party/re2/re2/nfa.cc +714 -0
- data/ext/protovalidate/sys/third_party/re2/re2/onepass.cc +623 -0
- data/ext/protovalidate/sys/third_party/re2/re2/parse.cc +2529 -0
- data/ext/protovalidate/sys/third_party/re2/re2/perl_groups.cc +119 -0
- data/ext/protovalidate/sys/third_party/re2/re2/pod_array.h +55 -0
- data/ext/protovalidate/sys/third_party/re2/re2/prefilter.cc +711 -0
- data/ext/protovalidate/sys/third_party/re2/re2/prefilter.h +168 -0
- data/ext/protovalidate/sys/third_party/re2/re2/prefilter_tree.cc +376 -0
- data/ext/protovalidate/sys/third_party/re2/re2/prefilter_tree.h +153 -0
- data/ext/protovalidate/sys/third_party/re2/re2/prog.cc +1181 -0
- data/ext/protovalidate/sys/third_party/re2/re2/prog.h +493 -0
- data/ext/protovalidate/sys/third_party/re2/re2/re2.cc +1355 -0
- data/ext/protovalidate/sys/third_party/re2/re2/re2.h +1074 -0
- data/ext/protovalidate/sys/third_party/re2/re2/regexp.cc +1004 -0
- data/ext/protovalidate/sys/third_party/re2/re2/regexp.h +693 -0
- data/ext/protovalidate/sys/third_party/re2/re2/set.cc +185 -0
- data/ext/protovalidate/sys/third_party/re2/re2/set.h +91 -0
- data/ext/protovalidate/sys/third_party/re2/re2/simplify.cc +689 -0
- data/ext/protovalidate/sys/third_party/re2/re2/sparse_array.h +394 -0
- data/ext/protovalidate/sys/third_party/re2/re2/sparse_set.h +266 -0
- data/ext/protovalidate/sys/third_party/re2/re2/stringpiece.h +18 -0
- data/ext/protovalidate/sys/third_party/re2/re2/tostring.cc +351 -0
- data/ext/protovalidate/sys/third_party/re2/re2/unicode_casefold.cc +604 -0
- data/ext/protovalidate/sys/third_party/re2/re2/unicode_casefold.h +77 -0
- data/ext/protovalidate/sys/third_party/re2/re2/unicode_groups.cc +6517 -0
- data/ext/protovalidate/sys/third_party/re2/re2/unicode_groups.h +66 -0
- data/ext/protovalidate/sys/third_party/re2/re2/walker-inl.h +249 -0
- data/ext/protovalidate/sys/third_party/re2/util/malloc_counter.h +19 -0
- data/ext/protovalidate/sys/third_party/re2/util/pcre.h +671 -0
- data/ext/protovalidate/sys/third_party/re2/util/rune.cc +260 -0
- data/ext/protovalidate/sys/third_party/re2/util/strutil.cc +26 -0
- data/ext/protovalidate/sys/third_party/re2/util/strutil.h +16 -0
- data/ext/protovalidate/sys/third_party/re2/util/utf.h +44 -0
- data/ext/protovalidate/sys/versions.json +15 -0
- data/lib/buf/validate/validate_pb.rb +55 -0
- data/lib/protovalidate/errors.rb +32 -0
- data/lib/protovalidate/native.rb +30 -0
- data/lib/protovalidate/validator.rb +96 -0
- data/lib/protovalidate/version.rb +10 -0
- data/lib/protovalidate/violation.rb +115 -0
- data/lib/protovalidate.rb +48 -0
- data/sig/buf/validate/validate_pb.rbs +64 -0
- data/sig/protovalidate/native.rbs +14 -0
- data/sig/protovalidate.rbs +90 -0
- metadata +1900 -0
|
@@ -0,0 +1,1936 @@
|
|
|
1
|
+
// Protocol Buffers - Google's data interchange format
|
|
2
|
+
// Copyright 2008 Google Inc. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
// Use of this source code is governed by a BSD-style
|
|
5
|
+
// license that can be found in the LICENSE file or at
|
|
6
|
+
// https://developers.google.com/open-source/licenses/bsd
|
|
7
|
+
|
|
8
|
+
// Author: kenton@google.com (Kenton Varda)
|
|
9
|
+
// Based on original Protocol Buffers design by
|
|
10
|
+
// Sanjay Ghemawat, Jeff Dean, and others.
|
|
11
|
+
//
|
|
12
|
+
// Defines Message, the abstract interface implemented by non-lite
|
|
13
|
+
// protocol message objects.
|
|
14
|
+
//
|
|
15
|
+
// This is only intended to be extended by protoc created gencode or types
|
|
16
|
+
// defined in the Protobuf runtime. It is not intended or supported for
|
|
17
|
+
// application code to extend this class, and any protected methods may be
|
|
18
|
+
// removed without being it being considered a breaking change as long as the
|
|
19
|
+
// corresponding gencode does not use it.
|
|
20
|
+
//
|
|
21
|
+
// Example usage:
|
|
22
|
+
//
|
|
23
|
+
// Say you have a message defined as:
|
|
24
|
+
//
|
|
25
|
+
// message Foo {
|
|
26
|
+
// optional string text = 1;
|
|
27
|
+
// repeated int32 numbers = 2;
|
|
28
|
+
// }
|
|
29
|
+
//
|
|
30
|
+
// Then, if you used the protocol compiler to generate a class from the above
|
|
31
|
+
// definition, you could use it like so:
|
|
32
|
+
//
|
|
33
|
+
// std::string data; // Will store a serialized version of the message.
|
|
34
|
+
//
|
|
35
|
+
// {
|
|
36
|
+
// // Create a message and serialize it.
|
|
37
|
+
// Foo foo;
|
|
38
|
+
// foo.set_text("Hello World!");
|
|
39
|
+
// foo.add_numbers(1);
|
|
40
|
+
// foo.add_numbers(5);
|
|
41
|
+
// foo.add_numbers(42);
|
|
42
|
+
//
|
|
43
|
+
// foo.SerializeToString(&data);
|
|
44
|
+
// }
|
|
45
|
+
//
|
|
46
|
+
// {
|
|
47
|
+
// // Parse the serialized message and check that it contains the
|
|
48
|
+
// // correct data.
|
|
49
|
+
// Foo foo;
|
|
50
|
+
// foo.ParseFromString(data);
|
|
51
|
+
//
|
|
52
|
+
// assert(foo.text() == "Hello World!");
|
|
53
|
+
// assert(foo.numbers_size() == 3);
|
|
54
|
+
// assert(foo.numbers(0) == 1);
|
|
55
|
+
// assert(foo.numbers(1) == 5);
|
|
56
|
+
// assert(foo.numbers(2) == 42);
|
|
57
|
+
// }
|
|
58
|
+
//
|
|
59
|
+
// {
|
|
60
|
+
// // Same as the last block, but do it dynamically via the Message
|
|
61
|
+
// // reflection interface.
|
|
62
|
+
// Message* foo = new Foo;
|
|
63
|
+
// const Descriptor* descriptor = foo->GetDescriptor();
|
|
64
|
+
//
|
|
65
|
+
// // Get the descriptors for the fields we're interested in and verify
|
|
66
|
+
// // their types.
|
|
67
|
+
// const FieldDescriptor* text_field = descriptor->FindFieldByName("text");
|
|
68
|
+
// assert(text_field != nullptr);
|
|
69
|
+
// assert(text_field->type() == FieldDescriptor::TYPE_STRING);
|
|
70
|
+
// assert(!text_field->is_required());
|
|
71
|
+
// assert(!text_field->is_repeated());
|
|
72
|
+
// const FieldDescriptor* numbers_field = descriptor->
|
|
73
|
+
// FindFieldByName("numbers");
|
|
74
|
+
// assert(numbers_field != nullptr);
|
|
75
|
+
// assert(numbers_field->type() == FieldDescriptor::TYPE_INT32);
|
|
76
|
+
// assert(numbers_field->is_repeated());
|
|
77
|
+
//
|
|
78
|
+
// // Parse the message.
|
|
79
|
+
// foo->ParseFromString(data);
|
|
80
|
+
//
|
|
81
|
+
// // Use the reflection interface to examine the contents.
|
|
82
|
+
// const Reflection* reflection = foo->GetReflection();
|
|
83
|
+
// assert(reflection->GetString(*foo, text_field) == "Hello World!");
|
|
84
|
+
// assert(reflection->FieldSize(*foo, numbers_field) == 3);
|
|
85
|
+
// assert(reflection->GetRepeatedInt32(*foo, numbers_field, 0) == 1);
|
|
86
|
+
// assert(reflection->GetRepeatedInt32(*foo, numbers_field, 1) == 5);
|
|
87
|
+
// assert(reflection->GetRepeatedInt32(*foo, numbers_field, 2) == 42);
|
|
88
|
+
//
|
|
89
|
+
// delete foo;
|
|
90
|
+
// }
|
|
91
|
+
|
|
92
|
+
#ifndef GOOGLE_PROTOBUF_MESSAGE_H__
|
|
93
|
+
#define GOOGLE_PROTOBUF_MESSAGE_H__
|
|
94
|
+
|
|
95
|
+
#include <cstddef>
|
|
96
|
+
#include <cstdint>
|
|
97
|
+
#include <memory>
|
|
98
|
+
#include <optional>
|
|
99
|
+
#include <string>
|
|
100
|
+
#include <type_traits>
|
|
101
|
+
#include <vector>
|
|
102
|
+
|
|
103
|
+
#include "absl/base/attributes.h"
|
|
104
|
+
#include "absl/base/call_once.h"
|
|
105
|
+
#include "absl/base/macros.h"
|
|
106
|
+
#include "absl/base/optimization.h"
|
|
107
|
+
#include "absl/log/absl_check.h"
|
|
108
|
+
#include "absl/memory/memory.h"
|
|
109
|
+
#include "absl/strings/cord.h"
|
|
110
|
+
#include "absl/strings/string_view.h"
|
|
111
|
+
#include "absl/types/optional.h"
|
|
112
|
+
#include "google/protobuf/arena.h"
|
|
113
|
+
#include "google/protobuf/descriptor.h"
|
|
114
|
+
#include "google/protobuf/generated_message_reflection.h"
|
|
115
|
+
#include "google/protobuf/generated_message_tctable_decl.h"
|
|
116
|
+
#include "google/protobuf/generated_message_util.h"
|
|
117
|
+
#include "google/protobuf/map.h" // TODO: cleanup
|
|
118
|
+
#include "google/protobuf/message_lite.h"
|
|
119
|
+
#include "google/protobuf/port.h"
|
|
120
|
+
#include "google/protobuf/reflection.h"
|
|
121
|
+
|
|
122
|
+
// Must be included last.
|
|
123
|
+
#include "google/protobuf/port_def.inc"
|
|
124
|
+
|
|
125
|
+
#ifdef SWIG
|
|
126
|
+
#error "You cannot SWIG proto headers"
|
|
127
|
+
#endif
|
|
128
|
+
|
|
129
|
+
namespace google {
|
|
130
|
+
namespace protobuf {
|
|
131
|
+
|
|
132
|
+
// Defined in this file.
|
|
133
|
+
class Message;
|
|
134
|
+
class Reflection;
|
|
135
|
+
class MessageFactory;
|
|
136
|
+
|
|
137
|
+
// Defined in other files.
|
|
138
|
+
class AssignDescriptorsHelper;
|
|
139
|
+
class ConstMapIterator;
|
|
140
|
+
class DynamicMessageFactory;
|
|
141
|
+
class GeneratedMessageReflectionTestHelper;
|
|
142
|
+
class MapKey;
|
|
143
|
+
class MapValueConstRef;
|
|
144
|
+
class MapValueRef;
|
|
145
|
+
class MapIterator;
|
|
146
|
+
class MapReflectionTester;
|
|
147
|
+
class TextFormat;
|
|
148
|
+
|
|
149
|
+
namespace internal {
|
|
150
|
+
struct FuzzPeer;
|
|
151
|
+
struct DescriptorTable;
|
|
152
|
+
struct DescriptorMethodsFriend;
|
|
153
|
+
template <bool is_oneof>
|
|
154
|
+
struct DynamicFieldInfoHelper;
|
|
155
|
+
class HasBitsTestPeer;
|
|
156
|
+
template <typename MessageT>
|
|
157
|
+
struct MapDynamicFieldInfo;
|
|
158
|
+
class MapFieldBase;
|
|
159
|
+
class MessageUtil;
|
|
160
|
+
class ReflectionVisit;
|
|
161
|
+
class SwapFieldHelper;
|
|
162
|
+
class CachedSize;
|
|
163
|
+
struct TailCallTableInfo;
|
|
164
|
+
template <typename MessageT, typename FieldT>
|
|
165
|
+
struct RepeatedEntityDynamicFieldInfoBase;
|
|
166
|
+
template <typename MessageT, typename FieldT>
|
|
167
|
+
struct RepeatedPtrEntityDynamicFieldInfoBase;
|
|
168
|
+
|
|
169
|
+
namespace field_layout {
|
|
170
|
+
enum TransformValidation : uint16_t;
|
|
171
|
+
} // namespace field_layout
|
|
172
|
+
} // namespace internal
|
|
173
|
+
class UnknownFieldSet; // unknown_field_set.h
|
|
174
|
+
namespace io {
|
|
175
|
+
class EpsCopyOutputStream; // coded_stream.h
|
|
176
|
+
class ZeroCopyInputStream; // zero_copy_stream.h
|
|
177
|
+
class ZeroCopyOutputStream; // zero_copy_stream.h
|
|
178
|
+
class CodedInputStream; // coded_stream.h
|
|
179
|
+
class CodedOutputStream; // coded_stream.h
|
|
180
|
+
} // namespace io
|
|
181
|
+
namespace python {
|
|
182
|
+
class MapReflectionFriend; // scalar_map_container.h
|
|
183
|
+
class MessageReflectionFriend;
|
|
184
|
+
} // namespace python
|
|
185
|
+
namespace expr {
|
|
186
|
+
class CelMapReflectionFriend; // field_backed_map_impl.cc
|
|
187
|
+
class SudoMapReflectionFriend;
|
|
188
|
+
} // namespace expr
|
|
189
|
+
|
|
190
|
+
namespace internal {
|
|
191
|
+
class MapFieldPrinterHelper; // text_format.cc
|
|
192
|
+
PROTOBUF_EXPORT std::string StringifyMessage(
|
|
193
|
+
const Message& message); // text_format.cc
|
|
194
|
+
} // namespace internal
|
|
195
|
+
PROTOBUF_EXPORT std::string ShortFormat(
|
|
196
|
+
const Message& message); // text_format.cc
|
|
197
|
+
PROTOBUF_EXPORT std::string Utf8Format(
|
|
198
|
+
const Message& message); // text_format.cc
|
|
199
|
+
namespace util {
|
|
200
|
+
class MessageDifferencer;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
namespace internal {
|
|
205
|
+
class ReflectionAccessor; // message.cc
|
|
206
|
+
class ReflectionOps; // reflection_ops.h
|
|
207
|
+
class MapKeySorter; // wire_format.cc
|
|
208
|
+
class WireFormat; // wire_format.h
|
|
209
|
+
class MapFieldReflectionTest; // map_test.cc
|
|
210
|
+
} // namespace internal
|
|
211
|
+
|
|
212
|
+
template <typename T>
|
|
213
|
+
class RepeatedField; // repeated_field.h
|
|
214
|
+
|
|
215
|
+
template <typename T>
|
|
216
|
+
class RepeatedPtrField; // repeated_field.h
|
|
217
|
+
|
|
218
|
+
// A container to hold message metadata.
|
|
219
|
+
struct Metadata {
|
|
220
|
+
const Descriptor* descriptor;
|
|
221
|
+
const Reflection* reflection;
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
namespace internal {
|
|
225
|
+
template <class To>
|
|
226
|
+
inline To* GetPointerAtOffset(void* message, uint32_t offset) {
|
|
227
|
+
return reinterpret_cast<To*>(reinterpret_cast<char*>(message) + offset);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
template <class To>
|
|
231
|
+
const To* GetConstPointerAtOffset(const void* message, uint32_t offset) {
|
|
232
|
+
return reinterpret_cast<const To*>(reinterpret_cast<const char*>(message) +
|
|
233
|
+
offset);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
template <class To>
|
|
237
|
+
const To& GetConstRefAtOffset(const Message& message, uint32_t offset) {
|
|
238
|
+
return *GetConstPointerAtOffset<To>(&message, offset);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
bool CreateUnknownEnumValues(const FieldDescriptor* field);
|
|
242
|
+
|
|
243
|
+
// Returns true if "message" is a descendant of "root".
|
|
244
|
+
PROTOBUF_EXPORT bool IsDescendant(const Message& root, const Message& message);
|
|
245
|
+
|
|
246
|
+
inline void MaybePoisonAfterClear(Message* root);
|
|
247
|
+
} // namespace internal
|
|
248
|
+
|
|
249
|
+
// Abstract interface for protocol messages.
|
|
250
|
+
//
|
|
251
|
+
// See also MessageLite, which contains most every-day operations. Message
|
|
252
|
+
// adds descriptors and reflection on top of that.
|
|
253
|
+
//
|
|
254
|
+
// The methods of this class that are virtual but not pure-virtual have
|
|
255
|
+
// default implementations based on reflection. Message classes which are
|
|
256
|
+
// optimized for speed will want to override these with faster implementations,
|
|
257
|
+
// but classes optimized for code size may be happy with keeping them. See
|
|
258
|
+
// the optimize_for option in descriptor.proto.
|
|
259
|
+
//
|
|
260
|
+
// Users must not derive from this class. Only the protocol compiler and
|
|
261
|
+
// the internal library are allowed to create subclasses.
|
|
262
|
+
class PROTOBUF_EXPORT Message : public MessageLite {
|
|
263
|
+
public:
|
|
264
|
+
Message(const Message&) = delete;
|
|
265
|
+
Message& operator=(const Message&) = delete;
|
|
266
|
+
|
|
267
|
+
// Basic Operations ------------------------------------------------
|
|
268
|
+
|
|
269
|
+
// Construct a new instance of the same type. Ownership is passed to the
|
|
270
|
+
// caller. (This is also defined in MessageLite, but is defined again here
|
|
271
|
+
// for return-type covariance.)
|
|
272
|
+
[[nodiscard]] Message* New() const { return New(nullptr); }
|
|
273
|
+
|
|
274
|
+
// Construct a new instance on the arena. Ownership is passed to the caller
|
|
275
|
+
// if arena is a nullptr.
|
|
276
|
+
[[nodiscard]] Message* New(Arena* arena) const {
|
|
277
|
+
return static_cast<Message*>(MessageLite::New(arena));
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// Make this message into a copy of the given message. The given message
|
|
281
|
+
// must have the same descriptor, but need not necessarily be the same class.
|
|
282
|
+
// By default this is just implemented as "Clear(); MergeFrom(from);".
|
|
283
|
+
void CopyFrom(const Message& from);
|
|
284
|
+
|
|
285
|
+
// Merge the fields from the given message into this message. Singular
|
|
286
|
+
// fields will be overwritten, if specified in from, except for embedded
|
|
287
|
+
// messages which will be merged. Repeated fields will be concatenated.
|
|
288
|
+
// The given message must be of the same type as this message (i.e. the
|
|
289
|
+
// exact same class).
|
|
290
|
+
void MergeFrom(const Message& from);
|
|
291
|
+
|
|
292
|
+
// Verifies that IsInitialized() returns true. ABSL_CHECK-fails otherwise,
|
|
293
|
+
// with a nice error message.
|
|
294
|
+
void CheckInitialized() const;
|
|
295
|
+
|
|
296
|
+
// Slowly build a list of all required fields that are not set.
|
|
297
|
+
// This is much, much slower than IsInitialized() as it is implemented
|
|
298
|
+
// purely via reflection. Generally, you should not call this unless you
|
|
299
|
+
// have already determined that an error exists by calling IsInitialized().
|
|
300
|
+
void FindInitializationErrors(std::vector<std::string>* errors) const;
|
|
301
|
+
|
|
302
|
+
// Like FindInitializationErrors, but joins all the strings, delimited by
|
|
303
|
+
// commas, and returns them.
|
|
304
|
+
[[nodiscard]] std::string InitializationErrorString() const;
|
|
305
|
+
|
|
306
|
+
// Clears all unknown fields from this message and all embedded messages.
|
|
307
|
+
// Normally, if unknown tag numbers are encountered when parsing a message,
|
|
308
|
+
// the tag and value are stored in the message's UnknownFieldSet and
|
|
309
|
+
// then written back out when the message is serialized. This allows servers
|
|
310
|
+
// which simply route messages to other servers to pass through messages
|
|
311
|
+
// that have new field definitions which they don't yet know about. However,
|
|
312
|
+
// this behavior can have security implications. To avoid it, call this
|
|
313
|
+
// method after parsing.
|
|
314
|
+
//
|
|
315
|
+
// See Reflection::GetUnknownFields() for more on unknown fields.
|
|
316
|
+
void DiscardUnknownFields();
|
|
317
|
+
|
|
318
|
+
// Computes (an estimate of) the total number of bytes currently used for
|
|
319
|
+
// storing the message in memory.
|
|
320
|
+
//
|
|
321
|
+
// SpaceUsedLong() is noticeably slower than ByteSizeLong(), as it is
|
|
322
|
+
// implemented using reflection (rather than the generated code implementation
|
|
323
|
+
// for ByteSizeLong()). Like ByteSizeLong(), its CPU time is linear in the
|
|
324
|
+
// number of fields defined for the proto.
|
|
325
|
+
//
|
|
326
|
+
// Note: The precise value of this method should never be depended on, and can
|
|
327
|
+
// change substantially due to internal details. In debug builds, this will
|
|
328
|
+
// include a random fuzz factor to prevent these dependencies.
|
|
329
|
+
[[nodiscard]] size_t SpaceUsedLong() const;
|
|
330
|
+
|
|
331
|
+
[[deprecated("Please use SpaceUsedLong() instead")]] int SpaceUsed() const {
|
|
332
|
+
return internal::ToIntSize(SpaceUsedLong());
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
// Debugging & Testing----------------------------------------------
|
|
336
|
+
|
|
337
|
+
// Generates a human-readable form of this message for debugging purposes.
|
|
338
|
+
// Note that the format and content of a debug string is not guaranteed, may
|
|
339
|
+
// change without notice, and should not be depended on. Code that does
|
|
340
|
+
// anything except display a string to assist in debugging should use
|
|
341
|
+
// TextFormat instead.
|
|
342
|
+
[[nodiscard]] std::string DebugString() const;
|
|
343
|
+
// Like DebugString(), but with less whitespace.
|
|
344
|
+
[[nodiscard]] std::string ShortDebugString() const;
|
|
345
|
+
// Like DebugString(), but do not escape UTF-8 byte sequences.
|
|
346
|
+
[[nodiscard]] std::string Utf8DebugString() const;
|
|
347
|
+
// Convenience function useful in GDB. Prints DebugString() to stdout.
|
|
348
|
+
void PrintDebugString() const;
|
|
349
|
+
|
|
350
|
+
// Implementation of the `AbslStringify` interface. This adds something
|
|
351
|
+
// similar to either `ShortDebugString()` or `DebugString()` to the sink.
|
|
352
|
+
// Do not rely on exact format.
|
|
353
|
+
template <typename Sink>
|
|
354
|
+
friend void AbslStringify(Sink& sink, const google::protobuf::Message& message) {
|
|
355
|
+
sink.Append(internal::StringifyMessage(message));
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
// Reflection-based methods ----------------------------------------
|
|
359
|
+
// These methods are pure-virtual in MessageLite, but Message provides
|
|
360
|
+
// reflection-based default implementations.
|
|
361
|
+
#if !defined(PROTOBUF_CUSTOM_VTABLE)
|
|
362
|
+
void Clear() override;
|
|
363
|
+
|
|
364
|
+
PROTOBUF_FUTURE_ADD_EARLY_NODISCARD size_t ByteSizeLong() const override;
|
|
365
|
+
PROTOBUF_FUTURE_ADD_EARLY_NODISCARD uint8_t* _InternalSerialize(
|
|
366
|
+
uint8_t* target, io::EpsCopyOutputStream* stream) const override;
|
|
367
|
+
#endif // !PROTOBUF_CUSTOM_VTABLE
|
|
368
|
+
|
|
369
|
+
// Introspection ---------------------------------------------------
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
// Get a non-owning pointer to a Descriptor for this message's type. This
|
|
373
|
+
// describes what fields the message contains, the types of those fields, etc.
|
|
374
|
+
// This object remains property of the Message.
|
|
375
|
+
[[nodiscard]] const Descriptor* GetDescriptor() const {
|
|
376
|
+
return GetMetadata().descriptor;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
// Get a non-owning pointer to the Reflection interface for this Message,
|
|
380
|
+
// which can be used to read and modify the fields of the Message dynamically
|
|
381
|
+
// (in other words, without knowing the message type at compile time). This
|
|
382
|
+
// object remains property of the Message.
|
|
383
|
+
[[nodiscard]] const Reflection* GetReflection() const {
|
|
384
|
+
return GetMetadata().reflection;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
// Abseil flag support for Messages.
|
|
388
|
+
//
|
|
389
|
+
// Flag syntax is `:format,options...:value` where:
|
|
390
|
+
// - `format` is one of `text`, `serialized`.
|
|
391
|
+
// - `options` is a possibly empty list of options. Each format has its
|
|
392
|
+
// supported options.
|
|
393
|
+
// - `value` is the payload in the specified format.
|
|
394
|
+
//
|
|
395
|
+
// The valid options are:
|
|
396
|
+
//
|
|
397
|
+
// * For `text`:
|
|
398
|
+
// - `base64`: indicates that `value` is encoded as base64.
|
|
399
|
+
// - `ignore_unknown`: when specified, unknown field/extensions are
|
|
400
|
+
// dropped. Otherwise, they cause a parse failure.
|
|
401
|
+
//
|
|
402
|
+
// * For `serialized`:
|
|
403
|
+
// - `base64`: indicates that `value` is encoded as base64. It is
|
|
404
|
+
// recommended to use `serialized` with `base64` given that passing
|
|
405
|
+
// binary data in shells is difficult and error prone.
|
|
406
|
+
friend bool AbslParseFlag(absl::string_view text, Message* msg,
|
|
407
|
+
std::string* error) {
|
|
408
|
+
return msg->AbslParseFlagImpl(text, *error);
|
|
409
|
+
}
|
|
410
|
+
friend std::string AbslUnparseFlag(const Message& msg) {
|
|
411
|
+
return msg.AbslUnparseFlagImpl();
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
protected:
|
|
415
|
+
#if !defined(PROTOBUF_CUSTOM_VTABLE)
|
|
416
|
+
constexpr Message() {}
|
|
417
|
+
#endif // PROTOBUF_CUSTOM_VTABLE
|
|
418
|
+
using MessageLite::MessageLite;
|
|
419
|
+
|
|
420
|
+
// Get a struct containing the metadata for the Message, which is used in turn
|
|
421
|
+
// to implement GetDescriptor() and GetReflection() above.
|
|
422
|
+
Metadata GetMetadata() const;
|
|
423
|
+
static Metadata GetMetadataImpl(const internal::ClassDataFull& data);
|
|
424
|
+
|
|
425
|
+
// For CODE_SIZE types
|
|
426
|
+
static bool IsInitializedImpl(const MessageLite&);
|
|
427
|
+
|
|
428
|
+
bool AbslParseFlagImpl(absl::string_view text, std::string& error);
|
|
429
|
+
std::string AbslUnparseFlagImpl() const;
|
|
430
|
+
|
|
431
|
+
size_t ComputeUnknownFieldsSize(
|
|
432
|
+
size_t total_size, const internal::CachedSize* cached_size) const;
|
|
433
|
+
size_t MaybeComputeUnknownFieldsSize(
|
|
434
|
+
size_t total_size, const internal::CachedSize* cached_size) const;
|
|
435
|
+
|
|
436
|
+
// Reflection based version for reflection based types.
|
|
437
|
+
static void MergeImpl(MessageLite& to, const MessageLite& from);
|
|
438
|
+
void ClearImpl();
|
|
439
|
+
static size_t ByteSizeLongImpl(const MessageLite& msg);
|
|
440
|
+
static uint8_t* _InternalSerializeImpl(const MessageLite& msg,
|
|
441
|
+
uint8_t* target,
|
|
442
|
+
io::EpsCopyOutputStream* stream);
|
|
443
|
+
|
|
444
|
+
};
|
|
445
|
+
|
|
446
|
+
namespace internal {
|
|
447
|
+
// Creates and returns an allocation for a split message.
|
|
448
|
+
void* CreateSplitMessageGeneric(Arena* arena, const void* default_split,
|
|
449
|
+
size_t size);
|
|
450
|
+
|
|
451
|
+
// Forward-declare interfaces used to implement RepeatedFieldRef.
|
|
452
|
+
// These are protobuf internals that users shouldn't care about.
|
|
453
|
+
class RepeatedFieldAccessor;
|
|
454
|
+
|
|
455
|
+
extern PROTOBUF_EXPORT const DescriptorMethods kDescriptorMethods;
|
|
456
|
+
} // namespace internal
|
|
457
|
+
|
|
458
|
+
// This interface contains methods that can be used to dynamically access
|
|
459
|
+
// and modify the fields of a protocol message. Their semantics are
|
|
460
|
+
// similar to the accessors the protocol compiler generates.
|
|
461
|
+
//
|
|
462
|
+
// To get the Reflection for a given Message, call Message::GetReflection().
|
|
463
|
+
//
|
|
464
|
+
// This interface is separate from Message only for efficiency reasons;
|
|
465
|
+
// the vast majority of implementations of Message will share the same
|
|
466
|
+
// implementation of Reflection (GeneratedMessageReflection,
|
|
467
|
+
// defined in generated_message.h), and all Messages of a particular class
|
|
468
|
+
// should share the same Reflection object (though you should not rely on
|
|
469
|
+
// the latter fact).
|
|
470
|
+
//
|
|
471
|
+
// There are several ways that these methods can be used incorrectly. For
|
|
472
|
+
// example, any of the following conditions will lead to undefined
|
|
473
|
+
// results (probably assertion failures):
|
|
474
|
+
// - The FieldDescriptor is not a field of this message type.
|
|
475
|
+
// - The method called is not appropriate for the field's type. For
|
|
476
|
+
// each field type in FieldDescriptor::TYPE_*, there is only one
|
|
477
|
+
// Get*() method, one Set*() method, and one Add*() method that is
|
|
478
|
+
// valid for that type. It should be obvious which (except maybe
|
|
479
|
+
// for TYPE_BYTES, which are represented using strings in C++).
|
|
480
|
+
// - A Get*() or Set*() method for singular fields is called on a repeated
|
|
481
|
+
// field.
|
|
482
|
+
// - GetRepeated*(), SetRepeated*(), or Add*() is called on a non-repeated
|
|
483
|
+
// field.
|
|
484
|
+
// - The Message object passed to any method is not of the right type for
|
|
485
|
+
// this Reflection object (i.e. message.GetReflection() != reflection).
|
|
486
|
+
//
|
|
487
|
+
// You might wonder why there is not any abstract representation for a field
|
|
488
|
+
// of arbitrary type. E.g., why isn't there just a "GetField()" method that
|
|
489
|
+
// returns "const Field&", where "Field" is some class with accessors like
|
|
490
|
+
// "GetInt32Value()". The problem is that someone would have to deal with
|
|
491
|
+
// allocating these Field objects. For generated message classes, having to
|
|
492
|
+
// allocate space for an additional object to wrap every field would at least
|
|
493
|
+
// double the message's memory footprint, probably worse. Allocating the
|
|
494
|
+
// objects on-demand, on the other hand, would be expensive and prone to
|
|
495
|
+
// memory leaks. So, instead we ended up with this flat interface.
|
|
496
|
+
class PROTOBUF_EXPORT Reflection final {
|
|
497
|
+
public:
|
|
498
|
+
Reflection(const Reflection&) = delete;
|
|
499
|
+
Reflection& operator=(const Reflection&) = delete;
|
|
500
|
+
~Reflection();
|
|
501
|
+
|
|
502
|
+
// Get the UnknownFieldSet for the message. This contains fields which
|
|
503
|
+
// were seen when the Message was parsed but were not recognized according
|
|
504
|
+
// to the Message's definition.
|
|
505
|
+
[[nodiscard]] const UnknownFieldSet& GetUnknownFields(
|
|
506
|
+
const Message& message) const;
|
|
507
|
+
// Get a mutable pointer to the UnknownFieldSet for the message. This
|
|
508
|
+
// contains fields which were seen when the Message was parsed but were not
|
|
509
|
+
// recognized according to the Message's definition.
|
|
510
|
+
PROTOBUF_FUTURE_ADD_EARLY_NODISCARD UnknownFieldSet* MutableUnknownFields(
|
|
511
|
+
Message* message) const;
|
|
512
|
+
|
|
513
|
+
// Estimate the amount of memory used by the message object.
|
|
514
|
+
[[nodiscard]] size_t SpaceUsedLong(const Message& message) const;
|
|
515
|
+
|
|
516
|
+
[[nodiscard]] [[deprecated("Please use SpaceUsedLong() instead")]] int
|
|
517
|
+
SpaceUsed(const Message& message) const {
|
|
518
|
+
return internal::ToIntSize(SpaceUsedLong(message));
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
// Returns true if the given message is a default message instance.
|
|
522
|
+
[[nodiscard]] bool IsDefaultInstance(const Message& message) const {
|
|
523
|
+
ABSL_DCHECK_EQ(message.GetReflection(), this);
|
|
524
|
+
return schema_.IsDefaultInstance(message);
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
// Check if the given non-repeated field is set.
|
|
528
|
+
[[nodiscard]] bool HasField(const Message& message,
|
|
529
|
+
const FieldDescriptor* field) const;
|
|
530
|
+
|
|
531
|
+
// Get the number of elements of a repeated field.
|
|
532
|
+
[[nodiscard]] int FieldSize(const Message& message,
|
|
533
|
+
const FieldDescriptor* field) const;
|
|
534
|
+
|
|
535
|
+
// Clear the value of a field, so that HasField() returns false or
|
|
536
|
+
// FieldSize() returns zero.
|
|
537
|
+
void ClearField(Message* message, const FieldDescriptor* field) const;
|
|
538
|
+
|
|
539
|
+
// Check if the oneof is set. Returns true if any field in oneof
|
|
540
|
+
// is set, false otherwise.
|
|
541
|
+
[[nodiscard]] bool HasOneof(const Message& message,
|
|
542
|
+
const OneofDescriptor* oneof_descriptor) const;
|
|
543
|
+
|
|
544
|
+
void ClearOneof(Message* message,
|
|
545
|
+
const OneofDescriptor* oneof_descriptor) const;
|
|
546
|
+
|
|
547
|
+
// Returns the field descriptor if the oneof is set. nullptr otherwise.
|
|
548
|
+
[[nodiscard]] const FieldDescriptor* GetOneofFieldDescriptor(
|
|
549
|
+
const Message& message, const OneofDescriptor* oneof_descriptor) const;
|
|
550
|
+
|
|
551
|
+
// Removes the last element of a repeated field.
|
|
552
|
+
// We don't provide a way to remove any element other than the last
|
|
553
|
+
// because it invites inefficient use, such as O(n^2) filtering loops
|
|
554
|
+
// that should have been O(n). If you want to remove an element other
|
|
555
|
+
// than the last, the best way to do it is to re-arrange the elements
|
|
556
|
+
// (using Swap()) so that the one you want removed is at the end, then
|
|
557
|
+
// call RemoveLast().
|
|
558
|
+
void RemoveLast(Message* message, const FieldDescriptor* field) const;
|
|
559
|
+
// Removes the last element of a repeated message field, and returns the
|
|
560
|
+
// pointer to the caller. Caller takes ownership of the returned pointer.
|
|
561
|
+
[[nodiscard]] Message* ReleaseLast(Message* message,
|
|
562
|
+
const FieldDescriptor* field) const;
|
|
563
|
+
|
|
564
|
+
// Similar to ReleaseLast() without internal safety and ownershp checks. This
|
|
565
|
+
// method should only be used when the objects are on the same arena or paired
|
|
566
|
+
// with a call to `UnsafeArenaAddAllocatedMessage`.
|
|
567
|
+
Message* UnsafeArenaReleaseLast(Message* message,
|
|
568
|
+
const FieldDescriptor* field) const;
|
|
569
|
+
|
|
570
|
+
// Swap the complete contents of two messages.
|
|
571
|
+
void Swap(Message* message1, Message* message2) const;
|
|
572
|
+
|
|
573
|
+
// Swap fields listed in fields vector of two messages.
|
|
574
|
+
void SwapFields(Message* message1, Message* message2,
|
|
575
|
+
const std::vector<const FieldDescriptor*>& fields) const;
|
|
576
|
+
|
|
577
|
+
// Swap two elements of a repeated field.
|
|
578
|
+
void SwapElements(Message* message, const FieldDescriptor* field, int index1,
|
|
579
|
+
int index2) const;
|
|
580
|
+
|
|
581
|
+
// Swap without internal safety and ownership checks. This method should only
|
|
582
|
+
// be used when the objects are on the same arena.
|
|
583
|
+
void UnsafeArenaSwap(Message* lhs, Message* rhs) const;
|
|
584
|
+
|
|
585
|
+
// SwapFields without internal safety and ownership checks. This method should
|
|
586
|
+
// only be used when the objects are on the same arena.
|
|
587
|
+
void UnsafeArenaSwapFields(
|
|
588
|
+
Message* lhs, Message* rhs,
|
|
589
|
+
const std::vector<const FieldDescriptor*>& fields) const;
|
|
590
|
+
|
|
591
|
+
// List all fields of the message which are currently set, except for unknown
|
|
592
|
+
// fields, but including extension known to the parser (i.e. compiled in).
|
|
593
|
+
// Singular fields will only be listed if HasField(field) would return true
|
|
594
|
+
// and repeated fields will only be listed if FieldSize(field) would return
|
|
595
|
+
// non-zero. Fields (both normal fields and extension fields) will be listed
|
|
596
|
+
// ordered by field number.
|
|
597
|
+
// Use Reflection::GetUnknownFields() or message.unknown_fields() to also get
|
|
598
|
+
// access to fields/extensions unknown to the parser.
|
|
599
|
+
void ListFields(const Message& message,
|
|
600
|
+
std::vector<const FieldDescriptor*>* output) const;
|
|
601
|
+
|
|
602
|
+
// Returns true if ListFields would have given no results, and there are
|
|
603
|
+
// no unknown fields.
|
|
604
|
+
[[nodiscard]] bool IsEmpty(const Message& message) const;
|
|
605
|
+
|
|
606
|
+
// Returns true if ListFields would have given no results.
|
|
607
|
+
[[nodiscard]] bool IsEmptyIgnoringUnknownFields(const Message& message) const;
|
|
608
|
+
|
|
609
|
+
|
|
610
|
+
// Singular field getters ------------------------------------------
|
|
611
|
+
// These get the value of a non-repeated field. They return the default
|
|
612
|
+
// value for fields that aren't set.
|
|
613
|
+
|
|
614
|
+
[[nodiscard]] int32_t GetInt32(const Message& message,
|
|
615
|
+
const FieldDescriptor* field) const;
|
|
616
|
+
[[nodiscard]] int64_t GetInt64(const Message& message,
|
|
617
|
+
const FieldDescriptor* field) const;
|
|
618
|
+
[[nodiscard]] uint32_t GetUInt32(const Message& message,
|
|
619
|
+
const FieldDescriptor* field) const;
|
|
620
|
+
[[nodiscard]] uint64_t GetUInt64(const Message& message,
|
|
621
|
+
const FieldDescriptor* field) const;
|
|
622
|
+
[[nodiscard]] float GetFloat(const Message& message,
|
|
623
|
+
const FieldDescriptor* field) const;
|
|
624
|
+
[[nodiscard]] double GetDouble(const Message& message,
|
|
625
|
+
const FieldDescriptor* field) const;
|
|
626
|
+
[[nodiscard]] bool GetBool(const Message& message,
|
|
627
|
+
const FieldDescriptor* field) const;
|
|
628
|
+
[[nodiscard]] std::string GetString(const Message& message,
|
|
629
|
+
const FieldDescriptor* field) const;
|
|
630
|
+
[[nodiscard]] const EnumValueDescriptor* GetEnum(
|
|
631
|
+
const Message& message, const FieldDescriptor* field) const;
|
|
632
|
+
|
|
633
|
+
// GetEnumValue() returns an enum field's value as an integer rather than
|
|
634
|
+
// an EnumValueDescriptor*. If the integer value does not correspond to a
|
|
635
|
+
// known value descriptor, a new value descriptor is created. (Such a value
|
|
636
|
+
// will only be present when the new unknown-enum-value semantics are enabled
|
|
637
|
+
// for a message.)
|
|
638
|
+
[[nodiscard]] int GetEnumValue(const Message& message,
|
|
639
|
+
const FieldDescriptor* field) const;
|
|
640
|
+
|
|
641
|
+
// See MutableMessage() for the meaning of the "factory" parameter.
|
|
642
|
+
[[nodiscard]] const Message& GetMessage(
|
|
643
|
+
const Message& message, const FieldDescriptor* field,
|
|
644
|
+
MessageFactory* factory = nullptr) const;
|
|
645
|
+
|
|
646
|
+
// Get a string value without copying, if possible.
|
|
647
|
+
//
|
|
648
|
+
// GetString() necessarily returns a copy of the string. This can be
|
|
649
|
+
// inefficient when the std::string is already stored in a std::string object
|
|
650
|
+
// in the underlying message. GetStringReference() will return a reference to
|
|
651
|
+
// the underlying std::string in this case. Otherwise, it will copy the
|
|
652
|
+
// string into *scratch and return that.
|
|
653
|
+
//
|
|
654
|
+
// Note: It is perfectly reasonable and useful to write code like:
|
|
655
|
+
// str = reflection->GetStringReference(message, field, &str);
|
|
656
|
+
// This line would ensure that only one copy of the string is made
|
|
657
|
+
// regardless of the field's underlying representation. When initializing
|
|
658
|
+
// a newly-constructed string, though, it's just as fast and more
|
|
659
|
+
// readable to use code like:
|
|
660
|
+
// std::string str = reflection->GetString(message, field);
|
|
661
|
+
[[nodiscard]] const std::string& GetStringReference(
|
|
662
|
+
const Message& message, const FieldDescriptor* field,
|
|
663
|
+
std::string* scratch) const;
|
|
664
|
+
|
|
665
|
+
// Returns a Cord containing the value of the string field. If the
|
|
666
|
+
// underlying field is stored as a cord (e.g. it has the [ctype=CORD]
|
|
667
|
+
// option), this involves no copies (just reference counting). If the
|
|
668
|
+
// underlying representation is not a Cord, a copy will have to be made.
|
|
669
|
+
[[nodiscard]] absl::Cord GetCord(const Message& message,
|
|
670
|
+
const FieldDescriptor* field) const;
|
|
671
|
+
|
|
672
|
+
// Enables GetStringView() and GetRepeatedStringView() APIs to return
|
|
673
|
+
// absl::string_view even though the underlying implementation doesn't have
|
|
674
|
+
// contiguous bytes; e.g. absl::Cord.
|
|
675
|
+
class ScratchSpace {
|
|
676
|
+
public:
|
|
677
|
+
ScratchSpace() = default;
|
|
678
|
+
|
|
679
|
+
ScratchSpace(const ScratchSpace&) = delete;
|
|
680
|
+
ScratchSpace& operator=(const ScratchSpace&) = delete;
|
|
681
|
+
|
|
682
|
+
private:
|
|
683
|
+
friend class Reflection;
|
|
684
|
+
|
|
685
|
+
absl::string_view CopyFromCord(const absl::Cord& cord) {
|
|
686
|
+
if (auto flat = cord.TryFlat()) {
|
|
687
|
+
return *flat;
|
|
688
|
+
}
|
|
689
|
+
if (!buffer_) {
|
|
690
|
+
buffer_ = absl::make_unique<std::string>();
|
|
691
|
+
}
|
|
692
|
+
absl::CopyCordToString(cord, buffer_.get());
|
|
693
|
+
return *buffer_;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
std::unique_ptr<std::string> buffer_;
|
|
697
|
+
};
|
|
698
|
+
|
|
699
|
+
// Returns a view into the contents of a string field. "scratch" is used to
|
|
700
|
+
// flatten bytes if it is non-contiguous. The lifetime of absl::string_view is
|
|
701
|
+
// either tied to "message" (contiguous) or "scratch" (otherwise).
|
|
702
|
+
[[nodiscard]] absl::string_view GetStringView(
|
|
703
|
+
const Message& message, const FieldDescriptor* field,
|
|
704
|
+
ScratchSpace& scratch ABSL_ATTRIBUTE_LIFETIME_BOUND) const;
|
|
705
|
+
|
|
706
|
+
|
|
707
|
+
// Singular field mutators -----------------------------------------
|
|
708
|
+
// These mutate the value of a non-repeated field.
|
|
709
|
+
|
|
710
|
+
void SetInt32(Message* message, const FieldDescriptor* field,
|
|
711
|
+
int32_t value) const;
|
|
712
|
+
void SetInt64(Message* message, const FieldDescriptor* field,
|
|
713
|
+
int64_t value) const;
|
|
714
|
+
void SetUInt32(Message* message, const FieldDescriptor* field,
|
|
715
|
+
uint32_t value) const;
|
|
716
|
+
void SetUInt64(Message* message, const FieldDescriptor* field,
|
|
717
|
+
uint64_t value) const;
|
|
718
|
+
void SetFloat(Message* message, const FieldDescriptor* field,
|
|
719
|
+
float value) const;
|
|
720
|
+
void SetDouble(Message* message, const FieldDescriptor* field,
|
|
721
|
+
double value) const;
|
|
722
|
+
void SetBool(Message* message, const FieldDescriptor* field,
|
|
723
|
+
bool value) const;
|
|
724
|
+
void SetString(Message* message, const FieldDescriptor* field,
|
|
725
|
+
std::string value) const;
|
|
726
|
+
// Set a string field to a Cord value. If the underlying field is
|
|
727
|
+
// represented using a Cord already, this involves no copies (just
|
|
728
|
+
// reference counting). Otherwise, a copy must be made.
|
|
729
|
+
void SetString(Message* message, const FieldDescriptor* field,
|
|
730
|
+
const absl::Cord& value) const;
|
|
731
|
+
void SetEnum(Message* message, const FieldDescriptor* field,
|
|
732
|
+
const EnumValueDescriptor* value) const;
|
|
733
|
+
// Set an enum field's value with an integer rather than EnumValueDescriptor.
|
|
734
|
+
// For proto3 this is just setting the enum field to the value specified, for
|
|
735
|
+
// proto2 it's more complicated. If value is a known enum value the field is
|
|
736
|
+
// set as usual. If the value is unknown then it is added to the unknown field
|
|
737
|
+
// set. Note this matches the behavior of parsing unknown enum values.
|
|
738
|
+
// If multiple calls with unknown values happen than they are all added to the
|
|
739
|
+
// unknown field set in order of the calls.
|
|
740
|
+
void SetEnumValue(Message* message, const FieldDescriptor* field,
|
|
741
|
+
int value) const;
|
|
742
|
+
|
|
743
|
+
// Get a mutable pointer to a field with a message type. If a MessageFactory
|
|
744
|
+
// is provided, it will be used to construct instances of the sub-message;
|
|
745
|
+
// otherwise, the default factory is used. If the field is an extension that
|
|
746
|
+
// does not live in the same pool as the containing message's descriptor (e.g.
|
|
747
|
+
// it lives in an overlay pool), then a MessageFactory must be provided.
|
|
748
|
+
// If you have no idea what that meant, then you probably don't need to worry
|
|
749
|
+
// about it (don't provide a MessageFactory). WARNING: If the
|
|
750
|
+
// FieldDescriptor is for a compiled-in extension, then
|
|
751
|
+
// factory->GetPrototype(field->message_type()) MUST return an instance of
|
|
752
|
+
// the compiled-in class for this type, NOT DynamicMessage.
|
|
753
|
+
Message* MutableMessage(Message* message, const FieldDescriptor* field,
|
|
754
|
+
MessageFactory* factory = nullptr) const;
|
|
755
|
+
|
|
756
|
+
// Replaces the message specified by 'field' with the already-allocated object
|
|
757
|
+
// sub_message, passing ownership to the message. If the field contained a
|
|
758
|
+
// message, that message is deleted. If sub_message is nullptr, the field is
|
|
759
|
+
// cleared.
|
|
760
|
+
void SetAllocatedMessage(Message* message, Message* sub_message,
|
|
761
|
+
const FieldDescriptor* field) const;
|
|
762
|
+
|
|
763
|
+
// Similar to `SetAllocatedMessage`, but omits all internal safety and
|
|
764
|
+
// ownership checks. This method should only be used when the objects are on
|
|
765
|
+
// the same arena or paired with a call to `UnsafeArenaReleaseMessage`.
|
|
766
|
+
void UnsafeArenaSetAllocatedMessage(Message* message, Message* sub_message,
|
|
767
|
+
const FieldDescriptor* field) const;
|
|
768
|
+
|
|
769
|
+
// Releases the message specified by 'field' and returns the pointer,
|
|
770
|
+
// ReleaseMessage() will return the message the message object if it exists.
|
|
771
|
+
// Otherwise, it may or may not return nullptr. In any case, if the return
|
|
772
|
+
// value is non-null, the caller takes ownership of the pointer.
|
|
773
|
+
// If the field existed (HasField() is true), then the returned pointer will
|
|
774
|
+
// be the same as the pointer returned by MutableMessage().
|
|
775
|
+
// This function has the same effect as ClearField().
|
|
776
|
+
[[nodiscard]] Message* ReleaseMessage(
|
|
777
|
+
Message* message, const FieldDescriptor* field,
|
|
778
|
+
MessageFactory* factory = nullptr) const;
|
|
779
|
+
|
|
780
|
+
// Similar to `ReleaseMessage`, but omits all internal safety and ownership
|
|
781
|
+
// checks. This method should only be used when the objects are on the same
|
|
782
|
+
// arena or paired with a call to `UnsafeArenaSetAllocatedMessage`.
|
|
783
|
+
Message* UnsafeArenaReleaseMessage(Message* message,
|
|
784
|
+
const FieldDescriptor* field,
|
|
785
|
+
MessageFactory* factory = nullptr) const;
|
|
786
|
+
|
|
787
|
+
|
|
788
|
+
// Repeated field getters ------------------------------------------
|
|
789
|
+
// These get the value of one element of a repeated field.
|
|
790
|
+
|
|
791
|
+
[[nodiscard]] int32_t GetRepeatedInt32(const Message& message,
|
|
792
|
+
const FieldDescriptor* field,
|
|
793
|
+
int index) const;
|
|
794
|
+
[[nodiscard]] int64_t GetRepeatedInt64(const Message& message,
|
|
795
|
+
const FieldDescriptor* field,
|
|
796
|
+
int index) const;
|
|
797
|
+
[[nodiscard]] uint32_t GetRepeatedUInt32(const Message& message,
|
|
798
|
+
const FieldDescriptor* field,
|
|
799
|
+
int index) const;
|
|
800
|
+
[[nodiscard]] uint64_t GetRepeatedUInt64(const Message& message,
|
|
801
|
+
const FieldDescriptor* field,
|
|
802
|
+
int index) const;
|
|
803
|
+
[[nodiscard]] float GetRepeatedFloat(const Message& message,
|
|
804
|
+
const FieldDescriptor* field,
|
|
805
|
+
int index) const;
|
|
806
|
+
[[nodiscard]] double GetRepeatedDouble(const Message& message,
|
|
807
|
+
const FieldDescriptor* field,
|
|
808
|
+
int index) const;
|
|
809
|
+
[[nodiscard]] bool GetRepeatedBool(const Message& message,
|
|
810
|
+
const FieldDescriptor* field,
|
|
811
|
+
int index) const;
|
|
812
|
+
[[nodiscard]] std::string GetRepeatedString(const Message& message,
|
|
813
|
+
const FieldDescriptor* field,
|
|
814
|
+
int index) const;
|
|
815
|
+
[[nodiscard]] const EnumValueDescriptor* GetRepeatedEnum(
|
|
816
|
+
const Message& message, const FieldDescriptor* field, int index) const;
|
|
817
|
+
// GetRepeatedEnumValue() returns an enum field's value as an integer rather
|
|
818
|
+
// than an EnumValueDescriptor*. If the integer value does not correspond to a
|
|
819
|
+
// known value descriptor, a new value descriptor is created. (Such a value
|
|
820
|
+
// will only be present when the new unknown-enum-value semantics are enabled
|
|
821
|
+
// for a message.)
|
|
822
|
+
[[nodiscard]] int GetRepeatedEnumValue(const Message& message,
|
|
823
|
+
const FieldDescriptor* field,
|
|
824
|
+
int index) const;
|
|
825
|
+
[[nodiscard]] const Message& GetRepeatedMessage(const Message& message,
|
|
826
|
+
const FieldDescriptor* field,
|
|
827
|
+
int index) const;
|
|
828
|
+
|
|
829
|
+
// See GetStringReference(), above.
|
|
830
|
+
[[nodiscard]] const std::string& GetRepeatedStringReference(
|
|
831
|
+
const Message& message, const FieldDescriptor* field, int index,
|
|
832
|
+
std::string* scratch) const;
|
|
833
|
+
|
|
834
|
+
// See GetStringView(), above.
|
|
835
|
+
[[nodiscard]] absl::string_view GetRepeatedStringView(
|
|
836
|
+
const Message& message, const FieldDescriptor* field, int index,
|
|
837
|
+
ScratchSpace& scratch ABSL_ATTRIBUTE_LIFETIME_BOUND) const;
|
|
838
|
+
|
|
839
|
+
|
|
840
|
+
// Repeated field mutators -----------------------------------------
|
|
841
|
+
// These mutate the value of one element of a repeated field.
|
|
842
|
+
|
|
843
|
+
void SetRepeatedInt32(Message* message, const FieldDescriptor* field,
|
|
844
|
+
int index, int32_t value) const;
|
|
845
|
+
void SetRepeatedInt64(Message* message, const FieldDescriptor* field,
|
|
846
|
+
int index, int64_t value) const;
|
|
847
|
+
void SetRepeatedUInt32(Message* message, const FieldDescriptor* field,
|
|
848
|
+
int index, uint32_t value) const;
|
|
849
|
+
void SetRepeatedUInt64(Message* message, const FieldDescriptor* field,
|
|
850
|
+
int index, uint64_t value) const;
|
|
851
|
+
void SetRepeatedFloat(Message* message, const FieldDescriptor* field,
|
|
852
|
+
int index, float value) const;
|
|
853
|
+
void SetRepeatedDouble(Message* message, const FieldDescriptor* field,
|
|
854
|
+
int index, double value) const;
|
|
855
|
+
void SetRepeatedBool(Message* message, const FieldDescriptor* field,
|
|
856
|
+
int index, bool value) const;
|
|
857
|
+
void SetRepeatedString(Message* message, const FieldDescriptor* field,
|
|
858
|
+
int index, std::string value) const;
|
|
859
|
+
void SetRepeatedEnum(Message* message, const FieldDescriptor* field,
|
|
860
|
+
int index, const EnumValueDescriptor* value) const;
|
|
861
|
+
// Set an enum field's value with an integer rather than EnumValueDescriptor.
|
|
862
|
+
// For proto3 this is just setting the enum field to the value specified, for
|
|
863
|
+
// proto2 it's more complicated. If value is a known enum value the field is
|
|
864
|
+
// set as usual. If the value is unknown then it is added to the unknown field
|
|
865
|
+
// set. Note this matches the behavior of parsing unknown enum values.
|
|
866
|
+
// If multiple calls with unknown values happen than they are all added to the
|
|
867
|
+
// unknown field set in order of the calls.
|
|
868
|
+
void SetRepeatedEnumValue(Message* message, const FieldDescriptor* field,
|
|
869
|
+
int index, int value) const;
|
|
870
|
+
// Get a mutable pointer to an element of a repeated field with a message
|
|
871
|
+
// type.
|
|
872
|
+
PROTOBUF_FUTURE_ADD_EARLY_NODISCARD Message* MutableRepeatedMessage(
|
|
873
|
+
Message* message, const FieldDescriptor* field, int index) const;
|
|
874
|
+
|
|
875
|
+
|
|
876
|
+
// Repeated field adders -------------------------------------------
|
|
877
|
+
// These add an element to a repeated field.
|
|
878
|
+
|
|
879
|
+
void AddInt32(Message* message, const FieldDescriptor* field,
|
|
880
|
+
int32_t value) const;
|
|
881
|
+
void AddInt64(Message* message, const FieldDescriptor* field,
|
|
882
|
+
int64_t value) const;
|
|
883
|
+
void AddUInt32(Message* message, const FieldDescriptor* field,
|
|
884
|
+
uint32_t value) const;
|
|
885
|
+
void AddUInt64(Message* message, const FieldDescriptor* field,
|
|
886
|
+
uint64_t value) const;
|
|
887
|
+
void AddFloat(Message* message, const FieldDescriptor* field,
|
|
888
|
+
float value) const;
|
|
889
|
+
void AddDouble(Message* message, const FieldDescriptor* field,
|
|
890
|
+
double value) const;
|
|
891
|
+
void AddBool(Message* message, const FieldDescriptor* field,
|
|
892
|
+
bool value) const;
|
|
893
|
+
void AddString(Message* message, const FieldDescriptor* field,
|
|
894
|
+
std::string value) const;
|
|
895
|
+
void AddEnum(Message* message, const FieldDescriptor* field,
|
|
896
|
+
const EnumValueDescriptor* value) const;
|
|
897
|
+
|
|
898
|
+
// Add an integer value to a repeated enum field rather than
|
|
899
|
+
// EnumValueDescriptor. For proto3 this is just setting the enum field to the
|
|
900
|
+
// value specified, for proto2 it's more complicated. If value is a known enum
|
|
901
|
+
// value the field is set as usual. If the value is unknown then it is added
|
|
902
|
+
// to the unknown field set. Note this matches the behavior of parsing unknown
|
|
903
|
+
// enum values. If multiple calls with unknown values happen than they are all
|
|
904
|
+
// added to the unknown field set in order of the calls.
|
|
905
|
+
void AddEnumValue(Message* message, const FieldDescriptor* field,
|
|
906
|
+
int value) const;
|
|
907
|
+
// See MutableMessage() for comments on the "factory" parameter.
|
|
908
|
+
Message* AddMessage(Message* message, const FieldDescriptor* field,
|
|
909
|
+
MessageFactory* factory = nullptr) const;
|
|
910
|
+
|
|
911
|
+
// Appends an already-allocated object 'new_entry' to the repeated field
|
|
912
|
+
// specified by 'field' passing ownership to the message.
|
|
913
|
+
void AddAllocatedMessage(Message* message, const FieldDescriptor* field,
|
|
914
|
+
Message* new_entry) const;
|
|
915
|
+
|
|
916
|
+
// Similar to AddAllocatedMessage() without internal safety and ownership
|
|
917
|
+
// checks. This method should only be used when the objects are on the same
|
|
918
|
+
// arena or paired with a call to `UnsafeArenaReleaseLast`.
|
|
919
|
+
void UnsafeArenaAddAllocatedMessage(Message* message,
|
|
920
|
+
const FieldDescriptor* field,
|
|
921
|
+
Message* new_entry) const;
|
|
922
|
+
|
|
923
|
+
|
|
924
|
+
// Get a RepeatedFieldRef object that can be used to read the underlying
|
|
925
|
+
// repeated field. The type parameter T must be set according to the
|
|
926
|
+
// field's cpp type. The following table shows the mapping from cpp type
|
|
927
|
+
// to acceptable T.
|
|
928
|
+
//
|
|
929
|
+
// field->cpp_type() T
|
|
930
|
+
// CPPTYPE_INT32 int32_t
|
|
931
|
+
// CPPTYPE_UINT32 uint32_t
|
|
932
|
+
// CPPTYPE_INT64 int64_t
|
|
933
|
+
// CPPTYPE_UINT64 uint64_t
|
|
934
|
+
// CPPTYPE_DOUBLE double
|
|
935
|
+
// CPPTYPE_FLOAT float
|
|
936
|
+
// CPPTYPE_BOOL bool
|
|
937
|
+
// CPPTYPE_ENUM generated enum type or int32_t
|
|
938
|
+
// CPPTYPE_STRING std::string
|
|
939
|
+
// CPPTYPE_MESSAGE generated message type or google::protobuf::Message
|
|
940
|
+
//
|
|
941
|
+
// A RepeatedFieldRef object can be copied and the resulted object will point
|
|
942
|
+
// to the same repeated field in the same message. The object can be used as
|
|
943
|
+
// long as the message is not destroyed.
|
|
944
|
+
//
|
|
945
|
+
// Note that to use this method users need to include the header file
|
|
946
|
+
// "reflection.h" (which defines the RepeatedFieldRef class templates).
|
|
947
|
+
template <typename T>
|
|
948
|
+
[[nodiscard]] RepeatedFieldRef<T> GetRepeatedFieldRef(
|
|
949
|
+
const Message& message, const FieldDescriptor* field) const;
|
|
950
|
+
|
|
951
|
+
// Like GetRepeatedFieldRef() but return an object that can also be used
|
|
952
|
+
// manipulate the underlying repeated field.
|
|
953
|
+
template <typename T>
|
|
954
|
+
MutableRepeatedFieldRef<T> GetMutableRepeatedFieldRef(
|
|
955
|
+
Message* message, const FieldDescriptor* field) const;
|
|
956
|
+
|
|
957
|
+
// DEPRECATED. Please use Get(Mutable)RepeatedFieldRef() for repeated field
|
|
958
|
+
// access. The following repeated field accessors will be removed in the
|
|
959
|
+
// future.
|
|
960
|
+
//
|
|
961
|
+
// Repeated field accessors -------------------------------------------------
|
|
962
|
+
// The methods above, e.g. GetRepeatedInt32(msg, fd, index), provide singular
|
|
963
|
+
// access to the data in a RepeatedField. The methods below provide aggregate
|
|
964
|
+
// access by exposing the RepeatedField object itself with the Message.
|
|
965
|
+
// Applying these templates to inappropriate types will lead to an undefined
|
|
966
|
+
// reference at link time (e.g. GetRepeatedField<***double>), or possibly a
|
|
967
|
+
// template matching error at compile time (e.g. GetRepeatedPtrField<File>).
|
|
968
|
+
//
|
|
969
|
+
// Usage example: my_doubs = refl->GetRepeatedField<double>(msg, fd);
|
|
970
|
+
|
|
971
|
+
// DEPRECATED. Please use GetRepeatedFieldRef().
|
|
972
|
+
//
|
|
973
|
+
// for T = Cord and all protobuf scalar types except enums.
|
|
974
|
+
template <typename T>
|
|
975
|
+
[[nodiscard]] [[deprecated(
|
|
976
|
+
"Please use GetRepeatedFieldRef() instead")]] const RepeatedField<T>&
|
|
977
|
+
GetRepeatedField(const Message& msg, const FieldDescriptor* d) const {
|
|
978
|
+
return GetRepeatedFieldInternal<T>(msg, d,
|
|
979
|
+
GetRepeatedFieldIntent::kExposeDirectly);
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
// DEPRECATED. Please use GetMutableRepeatedFieldRef().
|
|
983
|
+
//
|
|
984
|
+
// for T = Cord and all protobuf scalar types except enums.
|
|
985
|
+
template <typename T>
|
|
986
|
+
[[deprecated(
|
|
987
|
+
"Please use GetMutableRepeatedFieldRef() instead")]] RepeatedField<T>*
|
|
988
|
+
MutableRepeatedField(Message* msg, const FieldDescriptor* d) const {
|
|
989
|
+
return MutableRepeatedFieldInternal<T>(
|
|
990
|
+
msg, d, GetRepeatedFieldIntent::kExposeDirectly);
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
// DEPRECATED. Please use GetRepeatedFieldRef().
|
|
994
|
+
//
|
|
995
|
+
// for T = std::string, google::protobuf::internal::StringPieceField
|
|
996
|
+
// google::protobuf::Message & descendants.
|
|
997
|
+
template <typename T>
|
|
998
|
+
[[nodiscard]] [[deprecated(
|
|
999
|
+
"Please use GetRepeatedFieldRef() instead")]] const RepeatedPtrField<T>&
|
|
1000
|
+
GetRepeatedPtrField(const Message& msg, const FieldDescriptor* d) const {
|
|
1001
|
+
return GetRepeatedPtrFieldInternal<T>(
|
|
1002
|
+
msg, d, GetRepeatedFieldIntent::kExposeDirectly);
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
// DEPRECATED. Please use GetMutableRepeatedFieldRef().
|
|
1006
|
+
//
|
|
1007
|
+
// for T = std::string, google::protobuf::internal::StringPieceField
|
|
1008
|
+
// google::protobuf::Message & descendants.
|
|
1009
|
+
template <typename T>
|
|
1010
|
+
[[deprecated(
|
|
1011
|
+
"Please use GetMutableRepeatedFieldRef() instead")]] RepeatedPtrField<T>*
|
|
1012
|
+
MutableRepeatedPtrField(Message* msg, const FieldDescriptor* d) const {
|
|
1013
|
+
return MutableRepeatedPtrFieldInternal<T>(
|
|
1014
|
+
msg, d, GetRepeatedFieldIntent::kExposeDirectly);
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
// Extensions ----------------------------------------------------------------
|
|
1018
|
+
|
|
1019
|
+
// Try to find an extension of this message type by fully-qualified field
|
|
1020
|
+
// name. Returns nullptr if no extension is known for this name or number.
|
|
1021
|
+
[[nodiscard]] const FieldDescriptor* FindKnownExtensionByName(
|
|
1022
|
+
absl::string_view name) const;
|
|
1023
|
+
|
|
1024
|
+
// Try to find an extension of this message type by field number.
|
|
1025
|
+
// Returns nullptr if no extension is known for this name or number.
|
|
1026
|
+
[[nodiscard]] const FieldDescriptor* FindKnownExtensionByNumber(
|
|
1027
|
+
int number) const;
|
|
1028
|
+
|
|
1029
|
+
// Returns the MessageFactory associated with this message. This can be
|
|
1030
|
+
// useful for determining if a message is a generated message or not, for
|
|
1031
|
+
// example:
|
|
1032
|
+
// if (message->GetReflection()->GetMessageFactory() ==
|
|
1033
|
+
// google::protobuf::MessageFactory::generated_factory()) {
|
|
1034
|
+
// // This is a generated message.
|
|
1035
|
+
// }
|
|
1036
|
+
// It can also be used to create more messages of this type, though
|
|
1037
|
+
// Message::New() is an easier way to accomplish this.
|
|
1038
|
+
[[nodiscard]] MessageFactory* GetMessageFactory() const;
|
|
1039
|
+
|
|
1040
|
+
private:
|
|
1041
|
+
enum class GetRepeatedFieldIntent {
|
|
1042
|
+
// The caller intents to return a reference/pointer to the raw repeated
|
|
1043
|
+
// field directly to application code.
|
|
1044
|
+
kExposeDirectly,
|
|
1045
|
+
// The caller will either wrap the raw repeated field in a proxy before
|
|
1046
|
+
// returning it to application code, or will not return it to application
|
|
1047
|
+
// code.
|
|
1048
|
+
kHiddenOrInternal,
|
|
1049
|
+
};
|
|
1050
|
+
|
|
1051
|
+
const internal::ReflectionSchema& Schema() const { return schema_; }
|
|
1052
|
+
|
|
1053
|
+
bool IsRepeatedOrMapFieldEmpty(const Message& message,
|
|
1054
|
+
const FieldDescriptor* field) const;
|
|
1055
|
+
|
|
1056
|
+
template <typename T>
|
|
1057
|
+
const RepeatedField<T>& GetRepeatedFieldInternal(
|
|
1058
|
+
const Message& message, const FieldDescriptor* field,
|
|
1059
|
+
GetRepeatedFieldIntent intent) const;
|
|
1060
|
+
template <typename T>
|
|
1061
|
+
RepeatedField<T>* MutableRepeatedFieldInternal(
|
|
1062
|
+
Message* message, const FieldDescriptor* field,
|
|
1063
|
+
GetRepeatedFieldIntent intent) const;
|
|
1064
|
+
template <typename T>
|
|
1065
|
+
const RepeatedPtrField<T>& GetRepeatedPtrFieldInternal(
|
|
1066
|
+
const Message& message, const FieldDescriptor* field,
|
|
1067
|
+
GetRepeatedFieldIntent intent) const;
|
|
1068
|
+
template <typename T>
|
|
1069
|
+
RepeatedPtrField<T>* MutableRepeatedPtrFieldInternal(
|
|
1070
|
+
Message* message, const FieldDescriptor* field,
|
|
1071
|
+
GetRepeatedFieldIntent intent) const;
|
|
1072
|
+
|
|
1073
|
+
// REQUIRES: If the field is Cord, then `scratch != nullptr`.
|
|
1074
|
+
absl::string_view GetStringViewImpl(const Message& message,
|
|
1075
|
+
const FieldDescriptor* field,
|
|
1076
|
+
ScratchSpace* scratch) const;
|
|
1077
|
+
absl::string_view GetRepeatedStringViewImpl(const Message& message,
|
|
1078
|
+
const FieldDescriptor* field,
|
|
1079
|
+
int index,
|
|
1080
|
+
ScratchSpace* scratch) const;
|
|
1081
|
+
|
|
1082
|
+
// Obtain a pointer to a Repeated Field Structure and do some type checking:
|
|
1083
|
+
// on field->cpp_type(),
|
|
1084
|
+
// on field->field_option().ctype() (if ctype >= 0)
|
|
1085
|
+
// of field->message_type() (if message_type != nullptr).
|
|
1086
|
+
// We use 2 routine rather than 4 (const vs mutable) x (scalar vs pointer).
|
|
1087
|
+
void* MutableRawRepeatedField(Message* message, const FieldDescriptor* field,
|
|
1088
|
+
FieldDescriptor::CppType cpptype, int ctype,
|
|
1089
|
+
const Descriptor* desc,
|
|
1090
|
+
GetRepeatedFieldIntent intent) const;
|
|
1091
|
+
|
|
1092
|
+
const void* GetRawRepeatedField(const Message& message,
|
|
1093
|
+
const FieldDescriptor* field,
|
|
1094
|
+
FieldDescriptor::CppType cpptype, int ctype,
|
|
1095
|
+
const Descriptor* desc,
|
|
1096
|
+
GetRepeatedFieldIntent intent) const;
|
|
1097
|
+
|
|
1098
|
+
// The following methods are used to implement (Mutable)RepeatedFieldRef.
|
|
1099
|
+
// A Ref object will store a raw pointer to the repeated field data (obtained
|
|
1100
|
+
// from RepeatedFieldData()) and a pointer to a Accessor (obtained from
|
|
1101
|
+
// RepeatedFieldAccessor) which will be used to access the raw data.
|
|
1102
|
+
|
|
1103
|
+
// Returns a raw pointer to the repeated field
|
|
1104
|
+
//
|
|
1105
|
+
// "cpp_type" and "message_type" are deduced from the type parameter T passed
|
|
1106
|
+
// to Get(Mutable)RepeatedFieldRef. If T is a generated message type,
|
|
1107
|
+
// "message_type" should be set to its descriptor. Otherwise "message_type"
|
|
1108
|
+
// should be set to nullptr. Implementations of this method should check
|
|
1109
|
+
// whether "cpp_type"/"message_type" is consistent with the actual type of the
|
|
1110
|
+
// field.
|
|
1111
|
+
const void* RepeatedFieldData(const Message& message,
|
|
1112
|
+
const FieldDescriptor* field,
|
|
1113
|
+
FieldDescriptor::CppType cpp_type,
|
|
1114
|
+
const Descriptor* message_type) const;
|
|
1115
|
+
void* RepeatedFieldData(Message* message, const FieldDescriptor* field,
|
|
1116
|
+
FieldDescriptor::CppType cpp_type,
|
|
1117
|
+
const Descriptor* message_type) const;
|
|
1118
|
+
|
|
1119
|
+
// The returned pointer should point to a singleton instance which implements
|
|
1120
|
+
// the RepeatedFieldAccessor interface.
|
|
1121
|
+
const internal::RepeatedFieldAccessor* RepeatedFieldAccessor(
|
|
1122
|
+
const FieldDescriptor* field) const;
|
|
1123
|
+
|
|
1124
|
+
// Returns true if the message field is backed by a LazyField.
|
|
1125
|
+
//
|
|
1126
|
+
// A message field may be backed by a LazyField without the user annotation
|
|
1127
|
+
// ([lazy = true]). While the user-annotated LazyField is lazily verified on
|
|
1128
|
+
// first touch (i.e. failure on access rather than parsing if the LazyField is
|
|
1129
|
+
// not initialized), the inferred LazyField is eagerly verified to avoid lazy
|
|
1130
|
+
// parsing error at the cost of lower efficiency. When reflecting a message
|
|
1131
|
+
// field, use this API instead of checking field->options().lazy().
|
|
1132
|
+
bool IsLazyField(const FieldDescriptor* field) const {
|
|
1133
|
+
return IsLazilyVerifiedLazyField(field) ||
|
|
1134
|
+
IsEagerlyVerifiedLazyField(field);
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
// Returns true if the field is lazy extension. It is meant to allow python
|
|
1138
|
+
// reparse lazy field until b/157559327 is fixed.
|
|
1139
|
+
bool IsLazyExtension(const Message& message,
|
|
1140
|
+
const FieldDescriptor* field) const;
|
|
1141
|
+
|
|
1142
|
+
bool IsLazilyVerifiedLazyField(const FieldDescriptor* field) const;
|
|
1143
|
+
bool IsEagerlyVerifiedLazyField(const FieldDescriptor* field) const;
|
|
1144
|
+
internal::field_layout::TransformValidation GetLazyStyle(
|
|
1145
|
+
const FieldDescriptor* field) const;
|
|
1146
|
+
|
|
1147
|
+
bool IsSplit(const FieldDescriptor* field) const {
|
|
1148
|
+
return schema_.IsSplit(field);
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
// Walks the message tree from "root" and poisons (under ASAN) the memory to
|
|
1152
|
+
// force subsequent accesses to fail. Always calls Clear beforehand to clear
|
|
1153
|
+
// strings, etc.
|
|
1154
|
+
void MaybePoisonAfterClear(Message& root) const;
|
|
1155
|
+
|
|
1156
|
+
friend class FastReflectionBase;
|
|
1157
|
+
friend class FastReflectionMessageMutator;
|
|
1158
|
+
friend class internal::HasBitsTestPeer;
|
|
1159
|
+
template <typename MessageT>
|
|
1160
|
+
friend struct internal::MapDynamicFieldInfo;
|
|
1161
|
+
friend class internal::ReflectionVisit;
|
|
1162
|
+
friend internal::DescriptorMethodsFriend;
|
|
1163
|
+
friend bool internal::IsDescendant(const Message& root,
|
|
1164
|
+
const Message& message);
|
|
1165
|
+
friend void internal::MaybePoisonAfterClear(Message* root);
|
|
1166
|
+
|
|
1167
|
+
// Last non weak field index. This is an optimization when most weak fields
|
|
1168
|
+
// are at the end of the containing message. If a message proto doesn't
|
|
1169
|
+
// contain weak fields, then this field equals descriptor_->field_count().
|
|
1170
|
+
int last_non_weak_field_index_;
|
|
1171
|
+
// The table-driven parser table.
|
|
1172
|
+
// This table is generated on demand for Message types that did not override
|
|
1173
|
+
// _InternalParse. It uses the reflection information to do so.
|
|
1174
|
+
mutable absl::once_flag tcparse_table_once_;
|
|
1175
|
+
|
|
1176
|
+
const Descriptor* const descriptor_;
|
|
1177
|
+
MessageFactory* const message_factory_;
|
|
1178
|
+
const DescriptorPool* const descriptor_pool_;
|
|
1179
|
+
|
|
1180
|
+
const internal::ReflectionSchema schema_;
|
|
1181
|
+
|
|
1182
|
+
using TcParseTableBase = internal::TcParseTableBase;
|
|
1183
|
+
mutable const TcParseTableBase* tcparse_table_ = nullptr;
|
|
1184
|
+
|
|
1185
|
+
const TcParseTableBase* GetTcParseTable() const {
|
|
1186
|
+
absl::call_once(tcparse_table_once_,
|
|
1187
|
+
[&] { tcparse_table_ = CreateTcParseTable(); });
|
|
1188
|
+
return tcparse_table_;
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
const TcParseTableBase* CreateTcParseTable() const;
|
|
1192
|
+
void PopulateTcParseFastEntries(
|
|
1193
|
+
const internal::TailCallTableInfo& table_info,
|
|
1194
|
+
TcParseTableBase::FastFieldEntry* fast_entries) const;
|
|
1195
|
+
void PopulateTcParseEntries(internal::TailCallTableInfo& table_info,
|
|
1196
|
+
TcParseTableBase::FieldEntry* entries) const;
|
|
1197
|
+
void PopulateTcParseFieldAux(const internal::TailCallTableInfo& table_info,
|
|
1198
|
+
TcParseTableBase::FieldAux* field_aux) const;
|
|
1199
|
+
|
|
1200
|
+
template <bool kForIsEmpty, typename MaybeFieldDescriptorVec>
|
|
1201
|
+
int32_t IsEmptyOrCollectSetFields(const Message& message,
|
|
1202
|
+
const Descriptor& descriptor,
|
|
1203
|
+
MaybeFieldDescriptorVec output) const;
|
|
1204
|
+
|
|
1205
|
+
bool IsEmptyIgnoringUnknownFieldsImpl(const Message& message) const;
|
|
1206
|
+
|
|
1207
|
+
template <typename T, typename Enable>
|
|
1208
|
+
friend class RepeatedFieldRef;
|
|
1209
|
+
template <typename T, typename Enable>
|
|
1210
|
+
friend class MutableRepeatedFieldRef;
|
|
1211
|
+
template <typename MessageT, typename FieldT>
|
|
1212
|
+
friend struct internal::RepeatedEntityDynamicFieldInfoBase;
|
|
1213
|
+
template <typename MessageT, typename FieldT>
|
|
1214
|
+
friend struct internal::RepeatedPtrEntityDynamicFieldInfoBase;
|
|
1215
|
+
friend class Message;
|
|
1216
|
+
friend class MessageLayoutInspector;
|
|
1217
|
+
friend class AssignDescriptorsHelper;
|
|
1218
|
+
friend class DynamicMessageFactory;
|
|
1219
|
+
friend class GeneratedMessageReflectionTestHelper;
|
|
1220
|
+
friend class python::MapReflectionFriend;
|
|
1221
|
+
friend class python::MessageReflectionFriend;
|
|
1222
|
+
friend class util::MessageDifferencer;
|
|
1223
|
+
#define GOOGLE_PROTOBUF_HAS_CEL_MAP_REFLECTION_FRIEND
|
|
1224
|
+
friend class expr::CelMapReflectionFriend;
|
|
1225
|
+
friend class internal::MapFieldReflectionTest;
|
|
1226
|
+
friend class internal::MapKeySorter;
|
|
1227
|
+
friend class internal::MessageUtil;
|
|
1228
|
+
friend class internal::WireFormat;
|
|
1229
|
+
friend class internal::ReflectionOps;
|
|
1230
|
+
friend class internal::SwapFieldHelper;
|
|
1231
|
+
template <bool is_oneof>
|
|
1232
|
+
friend struct internal::DynamicFieldInfoHelper;
|
|
1233
|
+
friend struct internal::FuzzPeer;
|
|
1234
|
+
// Needed for implementing text format for map.
|
|
1235
|
+
friend class internal::MapFieldPrinterHelper;
|
|
1236
|
+
|
|
1237
|
+
Reflection(const Descriptor* descriptor,
|
|
1238
|
+
const internal::ReflectionSchema& schema,
|
|
1239
|
+
const DescriptorPool* pool, MessageFactory* factory);
|
|
1240
|
+
|
|
1241
|
+
// Special version for specialized implementations of string. We can't
|
|
1242
|
+
// call MutableRawRepeatedField directly here because we don't have access to
|
|
1243
|
+
// FieldOptions::* which are defined in descriptor.pb.h. Including that
|
|
1244
|
+
// file here is not possible because it would cause a circular include cycle.
|
|
1245
|
+
const void* GetRawRepeatedString(const Message& message,
|
|
1246
|
+
const FieldDescriptor* field, bool is_string,
|
|
1247
|
+
GetRepeatedFieldIntent intent) const;
|
|
1248
|
+
void* MutableRawRepeatedString(Message* message, const FieldDescriptor* field,
|
|
1249
|
+
bool is_string,
|
|
1250
|
+
GetRepeatedFieldIntent intent) const;
|
|
1251
|
+
|
|
1252
|
+
friend class MapReflectionTester;
|
|
1253
|
+
|
|
1254
|
+
// Returns true if key is in map. Returns false if key is not in map field.
|
|
1255
|
+
bool ContainsMapKey(const Message& message, const FieldDescriptor* field,
|
|
1256
|
+
const MapKey& key) const;
|
|
1257
|
+
|
|
1258
|
+
// If key is in map field: Saves the value pointer to val and returns
|
|
1259
|
+
// false. If key in not in map field: Insert the key into map, saves
|
|
1260
|
+
// value pointer to val and returns true. Users are able to modify the
|
|
1261
|
+
// map value by MapValueRef.
|
|
1262
|
+
bool InsertOrLookupMapValue(Message* message, const FieldDescriptor* field,
|
|
1263
|
+
const MapKey& key, MapValueRef* val) const;
|
|
1264
|
+
|
|
1265
|
+
// If key is in map field: Saves the value pointer to val and returns true.
|
|
1266
|
+
// Returns false if key is not in map field. Users are NOT able to modify
|
|
1267
|
+
// the value by MapValueConstRef.
|
|
1268
|
+
bool LookupMapValue(const Message& message, const FieldDescriptor* field,
|
|
1269
|
+
const MapKey& key, MapValueConstRef* val) const;
|
|
1270
|
+
bool LookupMapValue(const Message&, const FieldDescriptor*, const MapKey&,
|
|
1271
|
+
MapValueRef*) const = delete;
|
|
1272
|
+
|
|
1273
|
+
// Delete and returns true if key is in the map field. Returns false
|
|
1274
|
+
// otherwise.
|
|
1275
|
+
bool DeleteMapValue(Message* message, const FieldDescriptor* field,
|
|
1276
|
+
const MapKey& key) const;
|
|
1277
|
+
|
|
1278
|
+
// Returns a MapIterator referring to the first element in the map field.
|
|
1279
|
+
// If the map field is empty, this function returns the same as
|
|
1280
|
+
// reflection::MapEnd. Mutation to the field may invalidate the iterator.
|
|
1281
|
+
MapIterator MapBegin(Message* message, const FieldDescriptor* field) const;
|
|
1282
|
+
|
|
1283
|
+
// Returns a MapIterator referring to the theoretical element that would
|
|
1284
|
+
// follow the last element in the map field. It does not point to any
|
|
1285
|
+
// real element. Mutation to the field may invalidate the iterator.
|
|
1286
|
+
MapIterator MapEnd(Message* message, const FieldDescriptor* field) const;
|
|
1287
|
+
|
|
1288
|
+
// Returns a ConstMapIterator referring to the first element in the map field.
|
|
1289
|
+
// If the map field is empty, this function returns the same as
|
|
1290
|
+
// reflection::ConstMapEnd. Mutation to the field may invalidate the iterator.
|
|
1291
|
+
ConstMapIterator ConstMapBegin(const Message* message,
|
|
1292
|
+
const FieldDescriptor* field) const;
|
|
1293
|
+
|
|
1294
|
+
// Returns a ConstMapIterator referring to the theoretical element that would
|
|
1295
|
+
// follow the last element in the map field. It does not point to any
|
|
1296
|
+
// real element. Mutation to the field may invalidate the iterator.
|
|
1297
|
+
ConstMapIterator ConstMapEnd(const Message* message,
|
|
1298
|
+
const FieldDescriptor* field) const;
|
|
1299
|
+
|
|
1300
|
+
// Get the number of <key, value> pair of a map field. The result may be
|
|
1301
|
+
// different from FieldSize which can have duplicate keys.
|
|
1302
|
+
int MapSize(const Message& message, const FieldDescriptor* field) const;
|
|
1303
|
+
|
|
1304
|
+
// Help method for MapIterator.
|
|
1305
|
+
template <bool>
|
|
1306
|
+
friend class MapIteratorBase;
|
|
1307
|
+
friend class WireFormatForMapFieldTest;
|
|
1308
|
+
internal::MapFieldBase* MutableMapData(Message* message,
|
|
1309
|
+
const FieldDescriptor* field) const;
|
|
1310
|
+
|
|
1311
|
+
const internal::MapFieldBase* GetMapData(const Message& message,
|
|
1312
|
+
const FieldDescriptor* field) const;
|
|
1313
|
+
|
|
1314
|
+
// Check that the type passed for the unsafe cast matches what we expect from
|
|
1315
|
+
// the field.
|
|
1316
|
+
// This makes it easier to catch bugs in callers.
|
|
1317
|
+
template <typename T>
|
|
1318
|
+
void VerifyFieldType(const FieldDescriptor* field) const;
|
|
1319
|
+
|
|
1320
|
+
template <typename Type>
|
|
1321
|
+
const Type& GetRaw(const Message& message,
|
|
1322
|
+
const FieldDescriptor* field) const;
|
|
1323
|
+
|
|
1324
|
+
void* MutableRawSplitImpl(Message* message,
|
|
1325
|
+
const FieldDescriptor* field) const;
|
|
1326
|
+
|
|
1327
|
+
template <typename Type>
|
|
1328
|
+
Type* MutableRaw(Message* message, const FieldDescriptor* field) const;
|
|
1329
|
+
|
|
1330
|
+
template <typename Type>
|
|
1331
|
+
const Type& DefaultRaw(const FieldDescriptor* field) const;
|
|
1332
|
+
|
|
1333
|
+
const Message* GetDefaultMessageInstance(const FieldDescriptor* field) const;
|
|
1334
|
+
|
|
1335
|
+
const uint32_t* GetHasBits(const Message& message) const;
|
|
1336
|
+
inline uint32_t* MutableHasBits(Message* message) const;
|
|
1337
|
+
uint32_t GetOneofCase(const Message& message,
|
|
1338
|
+
const OneofDescriptor* oneof_descriptor) const;
|
|
1339
|
+
inline uint32_t* MutableOneofCase(
|
|
1340
|
+
Message* message, const OneofDescriptor* oneof_descriptor) const;
|
|
1341
|
+
inline bool HasExtensionSet(const Message& /* message */) const {
|
|
1342
|
+
return schema_.HasExtensionSet();
|
|
1343
|
+
}
|
|
1344
|
+
const internal::ExtensionSet& GetExtensionSet(const Message& message) const;
|
|
1345
|
+
internal::ExtensionSet* MutableExtensionSet(Message* message) const;
|
|
1346
|
+
|
|
1347
|
+
const internal::InternalMetadata& GetInternalMetadata(
|
|
1348
|
+
const Message& message) const {
|
|
1349
|
+
return message._internal_metadata_;
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
internal::InternalMetadata* MutableInternalMetadata(Message* message) const {
|
|
1353
|
+
return &message->_internal_metadata_;
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1356
|
+
inline bool IsInlined(const FieldDescriptor* field) const {
|
|
1357
|
+
return schema_.IsFieldInlined(field);
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
inline bool IsMicroString(const FieldDescriptor* field) const {
|
|
1361
|
+
return schema_.IsFieldMicroString(field);
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
// For implicit-presence (including repeated) fields, returns true if the
|
|
1365
|
+
// field is populated, i.e., nonzero/nonempty. False otherwise.
|
|
1366
|
+
bool IsImplicitPresenceFieldNonEmpty(const Message& message,
|
|
1367
|
+
const FieldDescriptor* field) const;
|
|
1368
|
+
// Returns whether the field is present if there are usable hasbits in the
|
|
1369
|
+
// field schema. (Note that in some cases hasbits are merely a hint to
|
|
1370
|
+
// indicate "possible presence", and another empty-check is required).
|
|
1371
|
+
bool IsFieldPresentGivenHasbits(const Message& message,
|
|
1372
|
+
const FieldDescriptor* field,
|
|
1373
|
+
const uint32_t* hasbits,
|
|
1374
|
+
uint32_t hasbit_index) const;
|
|
1375
|
+
// Returns true if the field is considered to be present.
|
|
1376
|
+
// Requires the input to be non-extension, non-oneof, non-weak.
|
|
1377
|
+
// For explicit presence fields, a field is present iff the hasbit is set.
|
|
1378
|
+
// For implicit presence fields, a field is present iff it is
|
|
1379
|
+
// nonzero/nonempty. The hasbit may be checked as a shortcut in the empty
|
|
1380
|
+
// case.
|
|
1381
|
+
bool HasFieldWithHasbits(const Message& message,
|
|
1382
|
+
const FieldDescriptor* field) const;
|
|
1383
|
+
void SetHasBit(Message* message, const FieldDescriptor* field) const;
|
|
1384
|
+
void ClearHasBit(Message* message, const FieldDescriptor* field) const;
|
|
1385
|
+
// Naively swaps the hasbit without checking for field existence.
|
|
1386
|
+
// For explicit presence fields, the hasbit is swapped normally.
|
|
1387
|
+
// For implicit presence fields, the hasbit is swapped without checking for
|
|
1388
|
+
// field emptiness. That is, the destination message may have hasbit set even
|
|
1389
|
+
// if the field is empty. This should still result in correct behaviour due to
|
|
1390
|
+
// HasbitMode being set to kHintHasbits for implicit presence fields.
|
|
1391
|
+
inline void NaiveSwapHasBit(Message* message1, Message* message2,
|
|
1392
|
+
const FieldDescriptor* field) const;
|
|
1393
|
+
|
|
1394
|
+
// Returns the `_split_` pointer. Requires: IsSplit() == true.
|
|
1395
|
+
inline const void* GetSplitField(const Message* message) const;
|
|
1396
|
+
// Returns the address of the `_split_` pointer. Requires: IsSplit() == true.
|
|
1397
|
+
inline void** MutableSplitField(Message* message) const;
|
|
1398
|
+
|
|
1399
|
+
// Allocate the split instance if needed.
|
|
1400
|
+
void PrepareSplitMessageForWrite(Message* message) const;
|
|
1401
|
+
|
|
1402
|
+
// Shallow-swap fields listed in fields vector of two messages. It is the
|
|
1403
|
+
// caller's responsibility to make sure shallow swap is safe.
|
|
1404
|
+
void UnsafeShallowSwapFields(
|
|
1405
|
+
Message* message1, Message* message2,
|
|
1406
|
+
const std::vector<const FieldDescriptor*>& fields) const;
|
|
1407
|
+
|
|
1408
|
+
// This function only swaps the field. Should swap corresponding has_bit
|
|
1409
|
+
// before or after using this function.
|
|
1410
|
+
void SwapField(Message* message1, Message* message2,
|
|
1411
|
+
const FieldDescriptor* field) const;
|
|
1412
|
+
|
|
1413
|
+
// Unsafe but shallow version of SwapField.
|
|
1414
|
+
void UnsafeShallowSwapField(Message* message1, Message* message2,
|
|
1415
|
+
const FieldDescriptor* field) const;
|
|
1416
|
+
|
|
1417
|
+
template <bool unsafe_shallow_swap>
|
|
1418
|
+
void SwapFieldsImpl(Message* message1, Message* message2,
|
|
1419
|
+
const std::vector<const FieldDescriptor*>& fields) const;
|
|
1420
|
+
|
|
1421
|
+
template <bool unsafe_shallow_swap, typename FromType, typename ToType>
|
|
1422
|
+
void InternalMoveOneofField(const FieldDescriptor* field, FromType* from,
|
|
1423
|
+
ToType* to) const;
|
|
1424
|
+
|
|
1425
|
+
template <bool unsafe_shallow_swap>
|
|
1426
|
+
void SwapOneofField(Message* lhs, Message* rhs,
|
|
1427
|
+
const OneofDescriptor* oneof_descriptor) const;
|
|
1428
|
+
|
|
1429
|
+
void InternalSwap(Message* lhs, Message* rhs) const;
|
|
1430
|
+
|
|
1431
|
+
inline bool HasOneofField(const Message& message,
|
|
1432
|
+
const FieldDescriptor* field) const;
|
|
1433
|
+
inline void SetOneofCase(Message* message,
|
|
1434
|
+
const FieldDescriptor* field) const;
|
|
1435
|
+
void ClearOneofField(Message* message, const FieldDescriptor* field) const;
|
|
1436
|
+
|
|
1437
|
+
template <typename Type>
|
|
1438
|
+
inline const Type& GetField(const Message& message,
|
|
1439
|
+
const FieldDescriptor* field) const;
|
|
1440
|
+
template <typename Type>
|
|
1441
|
+
inline void SetField(Message* message, const FieldDescriptor* field,
|
|
1442
|
+
const Type& value) const;
|
|
1443
|
+
template <typename Type>
|
|
1444
|
+
inline Type* MutableField(Message* message,
|
|
1445
|
+
const FieldDescriptor* field) const;
|
|
1446
|
+
template <typename Type>
|
|
1447
|
+
inline const Type& GetRepeatedField(const Message& message,
|
|
1448
|
+
const FieldDescriptor* field,
|
|
1449
|
+
int index) const;
|
|
1450
|
+
template <typename Type>
|
|
1451
|
+
inline const Type& GetRepeatedPtrField(const Message& message,
|
|
1452
|
+
const FieldDescriptor* field,
|
|
1453
|
+
int index) const;
|
|
1454
|
+
template <typename Type>
|
|
1455
|
+
inline void SetRepeatedField(Message* message, const FieldDescriptor* field,
|
|
1456
|
+
int index, Type value) const;
|
|
1457
|
+
template <typename Type>
|
|
1458
|
+
inline Type* MutableRepeatedField(Message* message,
|
|
1459
|
+
const FieldDescriptor* field,
|
|
1460
|
+
int index) const;
|
|
1461
|
+
template <typename Type>
|
|
1462
|
+
inline void AddField(Message* message, const FieldDescriptor* field,
|
|
1463
|
+
const Type& value) const;
|
|
1464
|
+
template <typename Type>
|
|
1465
|
+
inline Type* AddField(Message* message, const FieldDescriptor* field) const;
|
|
1466
|
+
|
|
1467
|
+
int GetExtensionNumberOrDie(const Descriptor* type) const;
|
|
1468
|
+
|
|
1469
|
+
// Internal versions of EnumValue API perform no checking. Called after checks
|
|
1470
|
+
// by public methods.
|
|
1471
|
+
void SetEnumValueInternal(Message* message, const FieldDescriptor* field,
|
|
1472
|
+
int value) const;
|
|
1473
|
+
void SetRepeatedEnumValueInternal(Message* message,
|
|
1474
|
+
const FieldDescriptor* field, int index,
|
|
1475
|
+
int value) const;
|
|
1476
|
+
void AddEnumValueInternal(Message* message, const FieldDescriptor* field,
|
|
1477
|
+
int value) const;
|
|
1478
|
+
|
|
1479
|
+
friend inline const char* ParseLenDelim(int field_number,
|
|
1480
|
+
const FieldDescriptor* field,
|
|
1481
|
+
Message* msg,
|
|
1482
|
+
const Reflection* reflection,
|
|
1483
|
+
const char* ptr,
|
|
1484
|
+
internal::ParseContext* ctx);
|
|
1485
|
+
friend inline const char* ParsePackedField(const FieldDescriptor* field,
|
|
1486
|
+
Message* msg,
|
|
1487
|
+
const Reflection* reflection,
|
|
1488
|
+
const char* ptr,
|
|
1489
|
+
internal::ParseContext* ctx);
|
|
1490
|
+
};
|
|
1491
|
+
|
|
1492
|
+
extern template void Reflection::SwapFieldsImpl<true>(
|
|
1493
|
+
Message* message1, Message* message2,
|
|
1494
|
+
const std::vector<const FieldDescriptor*>& fields) const;
|
|
1495
|
+
|
|
1496
|
+
extern template void Reflection::SwapFieldsImpl<false>(
|
|
1497
|
+
Message* message1, Message* message2,
|
|
1498
|
+
const std::vector<const FieldDescriptor*>& fields) const;
|
|
1499
|
+
|
|
1500
|
+
// Abstract interface for a factory for message objects.
|
|
1501
|
+
//
|
|
1502
|
+
// The thread safety for this class is implementation dependent, see comments
|
|
1503
|
+
// around GetPrototype for details
|
|
1504
|
+
class PROTOBUF_EXPORT MessageFactory {
|
|
1505
|
+
public:
|
|
1506
|
+
inline MessageFactory() = default;
|
|
1507
|
+
MessageFactory(const MessageFactory&) = delete;
|
|
1508
|
+
MessageFactory& operator=(const MessageFactory&) = delete;
|
|
1509
|
+
virtual ~MessageFactory();
|
|
1510
|
+
|
|
1511
|
+
// Given a Descriptor, gets or constructs the default (prototype) Message
|
|
1512
|
+
// of that type. You can then call that message's New() method to construct
|
|
1513
|
+
// a mutable message of that type.
|
|
1514
|
+
//
|
|
1515
|
+
// Calling this method twice with the same Descriptor returns the same
|
|
1516
|
+
// object. The returned object remains property of the factory. Also, any
|
|
1517
|
+
// objects created by calling the prototype's New() method share some data
|
|
1518
|
+
// with the prototype, so these must be destroyed before the MessageFactory
|
|
1519
|
+
// is destroyed.
|
|
1520
|
+
//
|
|
1521
|
+
// The given descriptor must outlive the returned message, and hence must
|
|
1522
|
+
// outlive the MessageFactory.
|
|
1523
|
+
//
|
|
1524
|
+
// Some implementations do not support all types. GetPrototype() will
|
|
1525
|
+
// return nullptr if the descriptor passed in is not supported.
|
|
1526
|
+
//
|
|
1527
|
+
// This method may or may not be thread-safe depending on the implementation.
|
|
1528
|
+
// Each implementation should document its own degree thread-safety.
|
|
1529
|
+
PROTOBUF_FUTURE_ADD_EARLY_NODISCARD virtual const Message* GetPrototype(
|
|
1530
|
+
const Descriptor* type) = 0;
|
|
1531
|
+
|
|
1532
|
+
// Gets a MessageFactory which supports all generated, compiled-in messages.
|
|
1533
|
+
// In other words, for any compiled-in type FooMessage, the following is true:
|
|
1534
|
+
// MessageFactory::generated_factory()->GetPrototype(
|
|
1535
|
+
// FooMessage::descriptor()) == FooMessage::default_instance()
|
|
1536
|
+
// This factory supports all types which are found in
|
|
1537
|
+
// DescriptorPool::generated_pool(). If given a descriptor from any other
|
|
1538
|
+
// pool, GetPrototype() will return nullptr. (You can also check if a
|
|
1539
|
+
// descriptor is for a generated message by checking if
|
|
1540
|
+
// descriptor->file()->pool() == DescriptorPool::generated_pool().)
|
|
1541
|
+
//
|
|
1542
|
+
// This factory is 100% thread-safe; calling GetPrototype() does not modify
|
|
1543
|
+
// any shared data.
|
|
1544
|
+
//
|
|
1545
|
+
// This factory is a singleton. The caller must not delete the object.
|
|
1546
|
+
PROTOBUF_FUTURE_ADD_EARLY_NODISCARD static MessageFactory*
|
|
1547
|
+
generated_factory();
|
|
1548
|
+
|
|
1549
|
+
// For internal use only: Registers a .proto file at static initialization
|
|
1550
|
+
// time, to be placed in generated_factory. The first time GetPrototype()
|
|
1551
|
+
// is called with a descriptor from this file, |register_messages| will be
|
|
1552
|
+
// called, with the file name as the parameter. It must call
|
|
1553
|
+
// InternalRegisterGeneratedMessage() (below) to register each message type
|
|
1554
|
+
// in the file. This strange mechanism is necessary because descriptors are
|
|
1555
|
+
// built lazily, so we can't register types by their descriptor until we
|
|
1556
|
+
// know that the descriptor exists. |filename| must be a permanent string.
|
|
1557
|
+
static void InternalRegisterGeneratedFile(
|
|
1558
|
+
const google::protobuf::internal::DescriptorTable* table);
|
|
1559
|
+
|
|
1560
|
+
// For internal use only: Registers a message type. Called only by the
|
|
1561
|
+
// functions which are registered with InternalRegisterGeneratedFile(),
|
|
1562
|
+
// above.
|
|
1563
|
+
static void InternalRegisterGeneratedMessage(const Descriptor* descriptor,
|
|
1564
|
+
const Message* prototype);
|
|
1565
|
+
|
|
1566
|
+
|
|
1567
|
+
private:
|
|
1568
|
+
friend class DynamicMessageFactory;
|
|
1569
|
+
static const Message* TryGetGeneratedPrototype(const Descriptor* type);
|
|
1570
|
+
};
|
|
1571
|
+
|
|
1572
|
+
#define DECLARE_GET_REPEATED_FIELD(TYPE) \
|
|
1573
|
+
template <> \
|
|
1574
|
+
PROTOBUF_EXPORT const RepeatedField<TYPE>& \
|
|
1575
|
+
Reflection::GetRepeatedFieldInternal<TYPE>( \
|
|
1576
|
+
const Message& message, const FieldDescriptor* field, \
|
|
1577
|
+
GetRepeatedFieldIntent intent) const; \
|
|
1578
|
+
\
|
|
1579
|
+
template <> \
|
|
1580
|
+
PROTOBUF_EXPORT RepeatedField<TYPE>* \
|
|
1581
|
+
Reflection::MutableRepeatedFieldInternal<TYPE>( \
|
|
1582
|
+
Message * message, const FieldDescriptor* field, \
|
|
1583
|
+
GetRepeatedFieldIntent intent) const;
|
|
1584
|
+
|
|
1585
|
+
DECLARE_GET_REPEATED_FIELD(int32_t)
|
|
1586
|
+
DECLARE_GET_REPEATED_FIELD(int64_t)
|
|
1587
|
+
DECLARE_GET_REPEATED_FIELD(uint32_t)
|
|
1588
|
+
DECLARE_GET_REPEATED_FIELD(uint64_t)
|
|
1589
|
+
DECLARE_GET_REPEATED_FIELD(float)
|
|
1590
|
+
DECLARE_GET_REPEATED_FIELD(double)
|
|
1591
|
+
DECLARE_GET_REPEATED_FIELD(bool)
|
|
1592
|
+
|
|
1593
|
+
#undef DECLARE_GET_REPEATED_FIELD
|
|
1594
|
+
|
|
1595
|
+
// Call this function to ensure that this message's reflection is linked into
|
|
1596
|
+
// the binary:
|
|
1597
|
+
//
|
|
1598
|
+
// google::protobuf::LinkMessageReflection<pkg::FooMessage>();
|
|
1599
|
+
//
|
|
1600
|
+
// This will ensure that the following lookup will succeed:
|
|
1601
|
+
//
|
|
1602
|
+
// DescriptorPool::generated_pool()->FindMessageTypeByName("pkg.FooMessage");
|
|
1603
|
+
//
|
|
1604
|
+
// As a side-effect, it will also guarantee that anything else from the same
|
|
1605
|
+
// .proto file will also be available for lookup in the generated pool.
|
|
1606
|
+
//
|
|
1607
|
+
// This function does not actually register the message, so it does not need
|
|
1608
|
+
// to be called before the lookup. However it does need to occur in a function
|
|
1609
|
+
// that cannot be stripped from the binary (ie. it must be reachable from main).
|
|
1610
|
+
//
|
|
1611
|
+
// Best practice is to call this function as close as possible to where the
|
|
1612
|
+
// reflection is actually needed. This function is very cheap to call, so you
|
|
1613
|
+
// should not need to worry about its runtime overhead except in the tightest
|
|
1614
|
+
// of loops (on x86-64 it compiles into two "mov" instructions).
|
|
1615
|
+
template <typename T>
|
|
1616
|
+
void LinkMessageReflection() {
|
|
1617
|
+
internal::StrongReferenceToType<T>();
|
|
1618
|
+
}
|
|
1619
|
+
|
|
1620
|
+
// Specializations to handle cast to `Message`. We can check the `is_lite` bit
|
|
1621
|
+
// in the class data.
|
|
1622
|
+
template <>
|
|
1623
|
+
[[nodiscard]] inline const Message* DynamicCastMessage(
|
|
1624
|
+
const MessageLite* from) {
|
|
1625
|
+
return from == nullptr || internal::GetClassData(*from)->is_lite
|
|
1626
|
+
? nullptr
|
|
1627
|
+
: static_cast<const Message*>(from);
|
|
1628
|
+
}
|
|
1629
|
+
template <>
|
|
1630
|
+
[[nodiscard]] inline const Message* DownCastMessage(const MessageLite* from) {
|
|
1631
|
+
ABSL_DCHECK_EQ(DynamicCastMessage<Message>(from), from)
|
|
1632
|
+
<< "Cannot downcast " << from->GetTypeName() << " to Message";
|
|
1633
|
+
return static_cast<const Message*>(from);
|
|
1634
|
+
}
|
|
1635
|
+
|
|
1636
|
+
// =============================================================================
|
|
1637
|
+
// Implementation details for {Get,Mutable}RawRepeatedPtrField. We provide
|
|
1638
|
+
// specializations for <std::string>, <StringPieceField> and <Message> and
|
|
1639
|
+
// handle everything else with the default template which will match any type
|
|
1640
|
+
// having a method with signature "static const google::protobuf::Descriptor*
|
|
1641
|
+
// descriptor()". Such a type presumably is a descendant of google::protobuf::Message.
|
|
1642
|
+
|
|
1643
|
+
template <>
|
|
1644
|
+
inline const RepeatedPtrField<std::string>&
|
|
1645
|
+
Reflection::GetRepeatedPtrFieldInternal<std::string>(
|
|
1646
|
+
const Message& message, const FieldDescriptor* field,
|
|
1647
|
+
GetRepeatedFieldIntent intent) const {
|
|
1648
|
+
return *static_cast<const RepeatedPtrField<std::string>*>(
|
|
1649
|
+
GetRawRepeatedString(message, field, true, intent));
|
|
1650
|
+
}
|
|
1651
|
+
|
|
1652
|
+
template <>
|
|
1653
|
+
inline RepeatedPtrField<std::string>*
|
|
1654
|
+
Reflection::MutableRepeatedPtrFieldInternal<std::string>(
|
|
1655
|
+
Message* message, const FieldDescriptor* field,
|
|
1656
|
+
GetRepeatedFieldIntent intent) const {
|
|
1657
|
+
if (!field->is_extension()) {
|
|
1658
|
+
SetHasBit(message, field);
|
|
1659
|
+
}
|
|
1660
|
+
return static_cast<RepeatedPtrField<std::string>*>(
|
|
1661
|
+
MutableRawRepeatedString(message, field, true, intent));
|
|
1662
|
+
}
|
|
1663
|
+
|
|
1664
|
+
|
|
1665
|
+
// -----
|
|
1666
|
+
|
|
1667
|
+
template <>
|
|
1668
|
+
inline const RepeatedPtrField<Message>& Reflection::GetRepeatedPtrFieldInternal(
|
|
1669
|
+
const Message& message, const FieldDescriptor* field,
|
|
1670
|
+
GetRepeatedFieldIntent intent) const {
|
|
1671
|
+
return *static_cast<const RepeatedPtrField<Message>*>(GetRawRepeatedField(
|
|
1672
|
+
message, field, FieldDescriptor::CPPTYPE_MESSAGE, -1, nullptr, intent));
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1675
|
+
template <>
|
|
1676
|
+
inline RepeatedPtrField<Message>* Reflection::MutableRepeatedPtrFieldInternal(
|
|
1677
|
+
Message* message, const FieldDescriptor* field,
|
|
1678
|
+
GetRepeatedFieldIntent intent) const {
|
|
1679
|
+
if (!field->is_extension()) {
|
|
1680
|
+
SetHasBit(message, field);
|
|
1681
|
+
}
|
|
1682
|
+
return static_cast<RepeatedPtrField<Message>*>(MutableRawRepeatedField(
|
|
1683
|
+
message, field, FieldDescriptor::CPPTYPE_MESSAGE, -1, nullptr, intent));
|
|
1684
|
+
}
|
|
1685
|
+
|
|
1686
|
+
template <typename PB>
|
|
1687
|
+
inline const RepeatedPtrField<PB>& Reflection::GetRepeatedPtrFieldInternal(
|
|
1688
|
+
const Message& message, const FieldDescriptor* field,
|
|
1689
|
+
GetRepeatedFieldIntent intent) const {
|
|
1690
|
+
return *static_cast<const RepeatedPtrField<PB>*>(
|
|
1691
|
+
GetRawRepeatedField(message, field, FieldDescriptor::CPPTYPE_MESSAGE, -1,
|
|
1692
|
+
PB::default_instance().GetDescriptor(), intent));
|
|
1693
|
+
}
|
|
1694
|
+
|
|
1695
|
+
template <typename PB>
|
|
1696
|
+
inline RepeatedPtrField<PB>* Reflection::MutableRepeatedPtrFieldInternal(
|
|
1697
|
+
Message* message, const FieldDescriptor* field,
|
|
1698
|
+
GetRepeatedFieldIntent intent) const {
|
|
1699
|
+
if (!field->is_extension()) {
|
|
1700
|
+
SetHasBit(message, field);
|
|
1701
|
+
}
|
|
1702
|
+
return static_cast<RepeatedPtrField<PB>*>(MutableRawRepeatedField(
|
|
1703
|
+
message, field, FieldDescriptor::CPPTYPE_MESSAGE, -1,
|
|
1704
|
+
PB::default_instance().GetDescriptor(), intent));
|
|
1705
|
+
}
|
|
1706
|
+
|
|
1707
|
+
template <typename Type>
|
|
1708
|
+
const Type& Reflection::DefaultRaw(const FieldDescriptor* field) const {
|
|
1709
|
+
return *reinterpret_cast<const Type*>(schema_.GetFieldDefault(field));
|
|
1710
|
+
}
|
|
1711
|
+
|
|
1712
|
+
bool Reflection::HasOneofField(const Message& message,
|
|
1713
|
+
const FieldDescriptor* field) const {
|
|
1714
|
+
return (GetOneofCase(message, field->containing_oneof()) ==
|
|
1715
|
+
static_cast<uint32_t>(field->number()));
|
|
1716
|
+
}
|
|
1717
|
+
|
|
1718
|
+
const void* Reflection::GetSplitField(const Message* message) const {
|
|
1719
|
+
ABSL_DCHECK(schema_.IsSplit());
|
|
1720
|
+
return *internal::GetConstPointerAtOffset<void*>(message,
|
|
1721
|
+
schema_.SplitOffset());
|
|
1722
|
+
}
|
|
1723
|
+
|
|
1724
|
+
void** Reflection::MutableSplitField(Message* message) const {
|
|
1725
|
+
ABSL_DCHECK(schema_.IsSplit());
|
|
1726
|
+
return internal::GetPointerAtOffset<void*>(message, schema_.SplitOffset());
|
|
1727
|
+
}
|
|
1728
|
+
|
|
1729
|
+
namespace internal {
|
|
1730
|
+
|
|
1731
|
+
// In some cases, (Get|Mutable)Raw may be called with a type that is different
|
|
1732
|
+
// from the final type; e.g. char. As a defensive coding to this unfortunate
|
|
1733
|
+
// practices, we should only assume extra indirection (or a lack thereof) for
|
|
1734
|
+
// the well known, complex types.
|
|
1735
|
+
template <typename T>
|
|
1736
|
+
PROTOBUF_FUTURE_ADD_EARLY_NODISCARD bool SplitFieldHasExtraIndirectionStatic(
|
|
1737
|
+
const FieldDescriptor* field) {
|
|
1738
|
+
if (std::is_base_of<RepeatedFieldBase, T>() ||
|
|
1739
|
+
std::is_base_of<RepeatedPtrFieldBase, T>()) {
|
|
1740
|
+
ABSL_DCHECK(SplitFieldHasExtraIndirection(field));
|
|
1741
|
+
return true;
|
|
1742
|
+
} else if (std::is_base_of<MessageLite, T>()) {
|
|
1743
|
+
ABSL_DCHECK(!SplitFieldHasExtraIndirection(field));
|
|
1744
|
+
return false;
|
|
1745
|
+
}
|
|
1746
|
+
return SplitFieldHasExtraIndirection(field);
|
|
1747
|
+
}
|
|
1748
|
+
|
|
1749
|
+
inline void MaybePoisonAfterClear(Message* root) {
|
|
1750
|
+
if (root == nullptr) return;
|
|
1751
|
+
if constexpr (HasMemoryPoisoning()) {
|
|
1752
|
+
const Reflection* reflection = root->GetReflection();
|
|
1753
|
+
reflection->MaybePoisonAfterClear(*root);
|
|
1754
|
+
} else {
|
|
1755
|
+
root->Clear();
|
|
1756
|
+
}
|
|
1757
|
+
}
|
|
1758
|
+
|
|
1759
|
+
template <typename T>
|
|
1760
|
+
inline constexpr std::false_type IsRepeatedT{};
|
|
1761
|
+
template <typename T>
|
|
1762
|
+
inline constexpr std::true_type IsRepeatedT<RepeatedField<T>>{};
|
|
1763
|
+
template <typename T>
|
|
1764
|
+
inline constexpr std::true_type IsRepeatedT<RepeatedPtrField<T>>{};
|
|
1765
|
+
template <>
|
|
1766
|
+
inline constexpr std::true_type IsRepeatedT<internal::RepeatedPtrFieldBase>{};
|
|
1767
|
+
template <>
|
|
1768
|
+
inline constexpr std::true_type IsRepeatedT<internal::MapFieldBase>{};
|
|
1769
|
+
|
|
1770
|
+
template <typename T>
|
|
1771
|
+
PROTOBUF_FUTURE_ADD_EARLY_NODISCARD constexpr FieldDescriptor::CppType
|
|
1772
|
+
GetCppType() {
|
|
1773
|
+
if constexpr (IsRepeatedT<T>) {
|
|
1774
|
+
return GetCppType<typename T::value_type>();
|
|
1775
|
+
} else {
|
|
1776
|
+
if (std::is_same_v<T, int32_t>) return FieldDescriptor::CPPTYPE_INT32;
|
|
1777
|
+
if (std::is_same_v<T, int64_t>) return FieldDescriptor::CPPTYPE_INT64;
|
|
1778
|
+
if (std::is_same_v<T, uint32_t>) return FieldDescriptor::CPPTYPE_UINT32;
|
|
1779
|
+
if (std::is_same_v<T, uint64_t>) return FieldDescriptor::CPPTYPE_UINT64;
|
|
1780
|
+
if (std::is_same_v<T, float>) return FieldDescriptor::CPPTYPE_FLOAT;
|
|
1781
|
+
if (std::is_same_v<T, double>) return FieldDescriptor::CPPTYPE_DOUBLE;
|
|
1782
|
+
if (std::is_same_v<T, bool>) return FieldDescriptor::CPPTYPE_BOOL;
|
|
1783
|
+
|
|
1784
|
+
using PCV = std::remove_cv_t<std::remove_pointer_t<T>>;
|
|
1785
|
+
|
|
1786
|
+
// strings
|
|
1787
|
+
if (std::is_same_v<PCV, internal::ArenaStringPtr> ||
|
|
1788
|
+
std::is_same_v<PCV, std::string> ||
|
|
1789
|
+
std::is_same_v<PCV, internal::MicroString> ||
|
|
1790
|
+
std::is_same_v<PCV, absl::Cord>) {
|
|
1791
|
+
return FieldDescriptor::CPPTYPE_STRING;
|
|
1792
|
+
}
|
|
1793
|
+
|
|
1794
|
+
// messages
|
|
1795
|
+
if (std::is_same_v<PCV, Message> || //
|
|
1796
|
+
std::is_same_v<PCV, MessageLite> || //
|
|
1797
|
+
std::is_same_v<PCV, internal::LazyField>) {
|
|
1798
|
+
return FieldDescriptor::CPPTYPE_MESSAGE;
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1801
|
+
|
|
1802
|
+
// Return an invalid type to make the caller fail with a nice error message in
|
|
1803
|
+
// case we missed something.
|
|
1804
|
+
return FieldDescriptor::CppType{};
|
|
1805
|
+
}
|
|
1806
|
+
|
|
1807
|
+
} // namespace internal
|
|
1808
|
+
|
|
1809
|
+
template <typename T>
|
|
1810
|
+
void Reflection::VerifyFieldType(const FieldDescriptor* field) const {
|
|
1811
|
+
if constexpr (!internal::PerformDebugChecks()) {
|
|
1812
|
+
return;
|
|
1813
|
+
}
|
|
1814
|
+
if constexpr (std::is_const_v<T>) {
|
|
1815
|
+
return VerifyFieldType<std::remove_const_t<T>>(field);
|
|
1816
|
+
}
|
|
1817
|
+
|
|
1818
|
+
// `char` and `void` are used in places where we don't know the type yet.
|
|
1819
|
+
if constexpr (std::is_same_v<T, char> || std::is_same_v<T, void>) {
|
|
1820
|
+
return;
|
|
1821
|
+
}
|
|
1822
|
+
|
|
1823
|
+
const auto error = [&] {
|
|
1824
|
+
return absl::StrFormat("Invalid cast of %s to type %s.", field->full_name(),
|
|
1825
|
+
internal::RttiTypeName<T>().value_or("unknown"));
|
|
1826
|
+
};
|
|
1827
|
+
|
|
1828
|
+
ABSL_DCHECK_EQ(field->is_repeated(), internal::IsRepeatedT<T>) << error();
|
|
1829
|
+
if constexpr (std::is_same_v<T, internal::MapFieldBase>) {
|
|
1830
|
+
ABSL_DCHECK(field->is_map()) << error();
|
|
1831
|
+
} else if constexpr (std::is_same_v<T, internal::RepeatedPtrFieldBase>) {
|
|
1832
|
+
// It has to be string or message.
|
|
1833
|
+
ABSL_DCHECK(field->cpp_type() == field->CPPTYPE_STRING ||
|
|
1834
|
+
field->cpp_type() == field->CPPTYPE_MESSAGE)
|
|
1835
|
+
<< error();
|
|
1836
|
+
} else {
|
|
1837
|
+
auto cpp_type = field->cpp_type();
|
|
1838
|
+
// Collapse ENUM to INT32 because they are the same through reflection.
|
|
1839
|
+
if (cpp_type == field->CPPTYPE_ENUM) cpp_type = field->CPPTYPE_INT32;
|
|
1840
|
+
ABSL_DCHECK_EQ(+cpp_type, +internal::GetCppType<T>()) << error();
|
|
1841
|
+
|
|
1842
|
+
// Check subfield types for message.
|
|
1843
|
+
if constexpr (internal::GetCppType<T>() ==
|
|
1844
|
+
FieldDescriptor::CPPTYPE_MESSAGE) {
|
|
1845
|
+
// Singular/oneof messages are by pointer, except non-oneof Lazy.
|
|
1846
|
+
if (!field->is_repeated() &&
|
|
1847
|
+
(!IsLazyField(field) || field->real_containing_oneof() != nullptr)) {
|
|
1848
|
+
ABSL_DCHECK(std::is_pointer_v<T>) << error();
|
|
1849
|
+
}
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
// Check subfield types for string.
|
|
1853
|
+
if constexpr (internal::GetCppType<T>() ==
|
|
1854
|
+
FieldDescriptor::CPPTYPE_STRING) {
|
|
1855
|
+
switch (field->cpp_string_type()) {
|
|
1856
|
+
case FieldDescriptor::CppStringType::kView:
|
|
1857
|
+
case FieldDescriptor::CppStringType::kString:
|
|
1858
|
+
if (IsMicroString(field)) {
|
|
1859
|
+
ABSL_DCHECK((std::is_same_v<T, internal::MicroString>)) << error();
|
|
1860
|
+
} else {
|
|
1861
|
+
ABSL_DCHECK((std::is_same_v<T, internal::ArenaStringPtr> ||
|
|
1862
|
+
std::is_same_v<T, RepeatedPtrField<std::string>>))
|
|
1863
|
+
<< error();
|
|
1864
|
+
}
|
|
1865
|
+
break;
|
|
1866
|
+
case FieldDescriptor::CppStringType::kCord:
|
|
1867
|
+
if (field->real_containing_oneof() != nullptr) {
|
|
1868
|
+
ABSL_DCHECK((std::is_same_v<T, absl::Cord*>)) << error();
|
|
1869
|
+
} else {
|
|
1870
|
+
ABSL_DCHECK((std::is_same_v<T, absl::Cord> ||
|
|
1871
|
+
std::is_same_v<T, RepeatedField<absl::Cord>>))
|
|
1872
|
+
<< error();
|
|
1873
|
+
}
|
|
1874
|
+
break;
|
|
1875
|
+
}
|
|
1876
|
+
}
|
|
1877
|
+
}
|
|
1878
|
+
}
|
|
1879
|
+
|
|
1880
|
+
template <typename Type>
|
|
1881
|
+
const Type& Reflection::GetRaw(const Message& message,
|
|
1882
|
+
const FieldDescriptor* field) const {
|
|
1883
|
+
VerifyFieldType<Type>(field);
|
|
1884
|
+
|
|
1885
|
+
const uint32_t field_offset = schema_.GetFieldOffset<Type>(field);
|
|
1886
|
+
|
|
1887
|
+
if (ABSL_PREDICT_FALSE(schema_.IsSplit(field))) {
|
|
1888
|
+
ABSL_DCHECK(!schema_.InRealOneof(field))
|
|
1889
|
+
<< "Field = " << field->full_name();
|
|
1890
|
+
|
|
1891
|
+
const void* split = GetSplitField(&message);
|
|
1892
|
+
if (internal::SplitFieldHasExtraIndirectionStatic<Type>(field)) {
|
|
1893
|
+
return **internal::GetConstPointerAtOffset<Type*>(split, field_offset);
|
|
1894
|
+
}
|
|
1895
|
+
return *internal::GetConstPointerAtOffset<Type>(split, field_offset);
|
|
1896
|
+
}
|
|
1897
|
+
return internal::GetConstRefAtOffset<Type>(message, field_offset);
|
|
1898
|
+
}
|
|
1899
|
+
|
|
1900
|
+
template <typename T>
|
|
1901
|
+
RepeatedFieldRef<T> Reflection::GetRepeatedFieldRef(
|
|
1902
|
+
const Message& message, const FieldDescriptor* field) const {
|
|
1903
|
+
ABSL_DCHECK_EQ(message.GetReflection(), this);
|
|
1904
|
+
return RepeatedFieldRef<T>(message, field);
|
|
1905
|
+
}
|
|
1906
|
+
|
|
1907
|
+
template <typename T>
|
|
1908
|
+
MutableRepeatedFieldRef<T> Reflection::GetMutableRepeatedFieldRef(
|
|
1909
|
+
Message* message, const FieldDescriptor* field) const {
|
|
1910
|
+
ABSL_DCHECK_EQ(message->GetReflection(), this);
|
|
1911
|
+
if (!field->is_extension()) {
|
|
1912
|
+
SetHasBit(message, field);
|
|
1913
|
+
}
|
|
1914
|
+
return MutableRepeatedFieldRef<T>(message, field);
|
|
1915
|
+
}
|
|
1916
|
+
|
|
1917
|
+
template <typename Type>
|
|
1918
|
+
Type* Reflection::MutableRaw(Message* message,
|
|
1919
|
+
const FieldDescriptor* field) const {
|
|
1920
|
+
VerifyFieldType<Type>(field);
|
|
1921
|
+
|
|
1922
|
+
if (ABSL_PREDICT_FALSE(schema_.IsSplit(field))) {
|
|
1923
|
+
return reinterpret_cast<Type*>(MutableRawSplitImpl(message, field));
|
|
1924
|
+
}
|
|
1925
|
+
|
|
1926
|
+
const uint32_t field_offset = schema_.GetFieldOffset<Type>(field);
|
|
1927
|
+
return internal::GetPointerAtOffset<Type>(message, field_offset);
|
|
1928
|
+
}
|
|
1929
|
+
|
|
1930
|
+
|
|
1931
|
+
} // namespace protobuf
|
|
1932
|
+
} // namespace google
|
|
1933
|
+
|
|
1934
|
+
#include "google/protobuf/port_undef.inc"
|
|
1935
|
+
|
|
1936
|
+
#endif // GOOGLE_PROTOBUF_MESSAGE_H__
|