| 162 | } |
| 163 | |
| 164 | absl::Status StructValue::GetFieldByNumber( |
| 165 | int64_t number, ProtoWrapperTypeOptions unboxing_options, |
| 166 | const google::protobuf::DescriptorPool* absl_nonnull descriptor_pool, |
| 167 | google::protobuf::MessageFactory* absl_nonnull message_factory, |
| 168 | google::protobuf::Arena* absl_nonnull arena, Value* absl_nonnull result) const { |
| 169 | ABSL_DCHECK(descriptor_pool != nullptr); |
| 170 | ABSL_DCHECK(message_factory != nullptr); |
| 171 | ABSL_DCHECK(arena != nullptr); |
| 172 | ABSL_DCHECK(result != nullptr); |
| 173 | |
| 174 | return variant_.Visit([&](const auto& alternative) -> absl::Status { |
| 175 | return alternative.GetFieldByNumber(number, unboxing_options, |
| 176 | descriptor_pool, message_factory, arena, |
| 177 | result); |
| 178 | }); |
| 179 | } |
| 180 | |
| 181 | absl::Status StructValue::ForEachField( |
| 182 | ForEachFieldCallback callback, |