Auto-generate files after cl/694241076

pull/19189/head
Protobuf Team Bot 5 months ago
parent e76d1de8e2
commit 66d5d76a0b
  1. 15
      php/ext/google/protobuf/php-upb.c
  2. 16
      php/ext/google/protobuf/php-upb.h
  3. 15
      ruby/ext/google/protobuf_c/ruby-upb.c
  4. 16
      ruby/ext/google/protobuf_c/ruby-upb.h

@ -3893,6 +3893,21 @@ void _upb_Message_DiscardUnknown_shallow(upb_Message* msg) {
}
}
bool upb_Message_NextUnknown(const upb_Message* msg, upb_StringView* data,
uintptr_t* iter) {
upb_Message_Internal* in = UPB_PRIVATE(_upb_Message_GetInternal)(msg);
if (in && *iter == kUpb_Message_UnknownBegin) {
data->size = in->unknown_end - message_overhead;
data->data = (char*)(in + 1);
(*iter)++;
return true;
} else {
data->size = 0;
data->data = NULL;
return false;
}
}
const char* upb_Message_GetUnknown(const upb_Message* msg, size_t* len) {
upb_Message_Internal* in = UPB_PRIVATE(_upb_Message_GetInternal)(msg);
if (in) {

@ -4318,6 +4318,7 @@ UPB_API_INLINE bool upb_Map_IsFrozen(const upb_Map* map);
#define UPB_MESSAGE_MESSAGE_H_
#include <stddef.h>
#include <stdint.h>
// Must be last.
@ -4331,6 +4332,21 @@ extern "C" {
// Creates a new message with the given mini_table on the given arena.
UPB_API upb_Message* upb_Message_New(const upb_MiniTable* m, upb_Arena* arena);
//
// Unknown data may be stored non-contiguously. Each segment stores a block of
// unknown fields. To iterate over segments:
//
// uintptr_t iter = kUpb_Message_UnknownBegin;
// upb_StringView data;
// while (upb_Message_NextUnknown(msg, &data, &iter)) {
// // Use data
// }
#define kUpb_Message_UnknownBegin 0
bool upb_Message_NextUnknown(const upb_Message* msg, upb_StringView* data,
uintptr_t* iter);
// Returns a reference to the message's unknown data.
const char* upb_Message_GetUnknown(const upb_Message* msg, size_t* len);

@ -3893,6 +3893,21 @@ void _upb_Message_DiscardUnknown_shallow(upb_Message* msg) {
}
}
bool upb_Message_NextUnknown(const upb_Message* msg, upb_StringView* data,
uintptr_t* iter) {
upb_Message_Internal* in = UPB_PRIVATE(_upb_Message_GetInternal)(msg);
if (in && *iter == kUpb_Message_UnknownBegin) {
data->size = in->unknown_end - message_overhead;
data->data = (char*)(in + 1);
(*iter)++;
return true;
} else {
data->size = 0;
data->data = NULL;
return false;
}
}
const char* upb_Message_GetUnknown(const upb_Message* msg, size_t* len) {
upb_Message_Internal* in = UPB_PRIVATE(_upb_Message_GetInternal)(msg);
if (in) {

@ -4320,6 +4320,7 @@ UPB_API_INLINE bool upb_Map_IsFrozen(const upb_Map* map);
#define UPB_MESSAGE_MESSAGE_H_
#include <stddef.h>
#include <stdint.h>
// Must be last.
@ -4333,6 +4334,21 @@ extern "C" {
// Creates a new message with the given mini_table on the given arena.
UPB_API upb_Message* upb_Message_New(const upb_MiniTable* m, upb_Arena* arena);
//
// Unknown data may be stored non-contiguously. Each segment stores a block of
// unknown fields. To iterate over segments:
//
// uintptr_t iter = kUpb_Message_UnknownBegin;
// upb_StringView data;
// while (upb_Message_NextUnknown(msg, &data, &iter)) {
// // Use data
// }
#define kUpb_Message_UnknownBegin 0
bool upb_Message_NextUnknown(const upb_Message* msg, upb_StringView* data,
uintptr_t* iter);
// Returns a reference to the message's unknown data.
const char* upb_Message_GetUnknown(const upb_Message* msg, size_t* len);

Loading…
Cancel
Save