upb: distinguish between fields and extensions in the public clear() accessors

PiperOrigin-RevId: 596588385
pull/15305/head
Eric Salo 1 year ago committed by Copybara-Service
parent 991a2f4d54
commit c02f943f1a
  1. 4
      protos/protos.h
  2. 28
      upb/message/accessors.h
  3. 14
      upb/message/accessors_test.cc
  4. 31
      upb/message/internal/accessors.h
  5. 1
      upb/reflection/BUILD
  6. 6
      upb/reflection/field_def.c
  7. 7
      upb/reflection/field_def.h
  8. 2
      upb/reflection/internal/field_def.h
  9. 11
      upb/reflection/message.c
  10. 326
      upb/reflection/stage0/google/protobuf/descriptor.upb.h
  11. 4
      upb_generator/protoc-gen-upb.cc
  12. 36
      upb_generator/stage0/google/protobuf/compiler/plugin.upb.h

@ -345,8 +345,8 @@ void ClearExtension(
Ptr<T> message,
const ::protos::internal::ExtensionIdentifier<Extendee, Extension>& id) {
static_assert(!std::is_const_v<T>, "");
_upb_Message_ClearExtensionField(internal::GetInternalMsg(message),
id.mini_table_ext());
upb_Message_ClearExtension(internal::GetInternalMsg(message),
id.mini_table_ext());
}
template <typename T, typename Extendee, typename Extension,

@ -34,21 +34,27 @@
extern "C" {
#endif
UPB_API_INLINE void upb_Message_ClearField(upb_Message* msg,
const upb_MiniTableField* field) {
if (upb_MiniTableField_IsExtension(field)) {
const upb_MiniTableExtension* ext = (const upb_MiniTableExtension*)field;
_upb_Message_ClearExtensionField(msg, ext);
} else {
_upb_Message_ClearNonExtensionField(msg, field);
}
}
// Functions ending in BaseField() take a (upb_MiniTableField*) argument
// and work only on non-extension fields.
//
// Functions ending in Extension() take a (upb_MiniTableExtension*) argument
// and work only on extensions.
UPB_API_INLINE void upb_Message_Clear(upb_Message* msg,
const upb_MiniTable* l) {
const upb_MiniTable* m) {
// Note: Can't use UPB_PTR_AT() here because we are doing pointer subtraction.
char* mem = (char*)msg - sizeof(upb_Message_Internal);
memset(mem, 0, upb_msg_sizeof(l));
memset(mem, 0, upb_msg_sizeof(m));
}
UPB_API_INLINE void upb_Message_ClearBaseField(upb_Message* msg,
const upb_MiniTableField* f) {
UPB_PRIVATE(_upb_Message_ClearBaseField)(msg, f);
}
UPB_API_INLINE void upb_Message_ClearExtension(
upb_Message* msg, const upb_MiniTableExtension* e) {
UPB_PRIVATE(_upb_Message_ClearExtension)(msg, e);
}
UPB_API_INLINE bool upb_Message_HasField(const upb_Message* msg,

@ -85,7 +85,7 @@ TEST(GeneratedCode, HazzersProto2) {
EXPECT_EQ(false, upb_Message_HasField(UPB_UPCAST(msg), optional_bool_field));
protobuf_test_messages_proto2_TestAllTypesProto2_set_optional_bool(msg, true);
EXPECT_EQ(true, upb_Message_HasField(UPB_UPCAST(msg), optional_bool_field));
upb_Message_ClearField(UPB_UPCAST(msg), optional_bool_field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), optional_bool_field);
EXPECT_EQ(false, upb_Message_HasField(UPB_UPCAST(msg), optional_bool_field));
EXPECT_EQ(
false,
@ -103,7 +103,7 @@ TEST(GeneratedCode, HazzersProto2) {
strlen(kTestStr1),
protobuf_test_messages_proto2_TestAllTypesProto2_optional_string(msg)
.size);
upb_Message_ClearField(UPB_UPCAST(msg), optional_string_field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), optional_string_field);
EXPECT_EQ(false,
upb_Message_HasField(UPB_UPCAST(msg), optional_string_field));
EXPECT_EQ(
@ -119,7 +119,7 @@ TEST(GeneratedCode, HazzersProto2) {
msg, arena);
EXPECT_EQ(true,
upb_Message_HasField(UPB_UPCAST(msg), optional_message_field));
upb_Message_ClearField(UPB_UPCAST(msg), optional_message_field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), optional_message_field);
EXPECT_EQ(false,
upb_Message_HasField(UPB_UPCAST(msg), optional_message_field));
EXPECT_EQ(
@ -148,12 +148,12 @@ TEST(GeneratedCode, HazzersProto2) {
upb_Message_HasField(UPB_UPCAST(msg), optional_oneof_uint32_field));
EXPECT_EQ(true,
upb_Message_HasField(UPB_UPCAST(msg), optional_oneof_string_field));
upb_Message_ClearField(UPB_UPCAST(msg), optional_oneof_uint32_field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), optional_oneof_uint32_field);
EXPECT_EQ(false,
upb_Message_HasField(UPB_UPCAST(msg), optional_oneof_uint32_field));
EXPECT_EQ(true,
upb_Message_HasField(UPB_UPCAST(msg), optional_oneof_string_field));
upb_Message_ClearField(UPB_UPCAST(msg), optional_oneof_string_field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), optional_oneof_string_field);
EXPECT_EQ(false,
upb_Message_HasField(UPB_UPCAST(msg), optional_oneof_uint32_field));
EXPECT_EQ(false,
@ -251,7 +251,7 @@ TEST(GeneratedCode, Strings) {
std::string read_value = std::string(value.data, value.size);
EXPECT_EQ(kTestStr1, read_value);
// Clear.
upb_Message_ClearField(UPB_UPCAST(msg), optional_string_field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), optional_string_field);
EXPECT_EQ(false,
upb_Message_HasField(UPB_UPCAST(msg), optional_string_field));
EXPECT_EQ(
@ -308,7 +308,7 @@ TEST(GeneratedCode, SubMessage) {
kFieldOptionalNestedMessageA);
EXPECT_EQ(5, upb_Message_GetInt32(sub_message, nested_message_a_field, 0));
upb_Message_ClearField(UPB_UPCAST(msg), optional_message_field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), optional_message_field);
EXPECT_EQ(
nullptr,
protobuf_test_messages_proto2_TestAllTypesProto2_optional_nested_message(

@ -278,31 +278,34 @@ UPB_INLINE bool _upb_Message_SetExtensionField(
return true;
}
UPB_INLINE void _upb_Message_ClearExtensionField(
struct upb_Message* msg, const upb_MiniTableExtension* ext_l) {
UPB_INLINE void UPB_PRIVATE(_upb_Message_ClearBaseField)(
struct upb_Message* msg, const upb_MiniTableField* f) {
if (UPB_PRIVATE(_upb_MiniTableField_HasHasbit)(f)) {
UPB_PRIVATE(_upb_Message_ClearHasbit)(msg, f);
} else if (upb_MiniTableField_IsInOneof(f)) {
uint32_t* ptr = UPB_PRIVATE(_upb_Message_OneofCasePtr)(msg, f);
if (*ptr != upb_MiniTableField_Number(f)) return;
*ptr = 0;
}
const char zeros[16] = {0};
UPB_PRIVATE(_upb_MiniTableField_DataCopy)
(f, UPB_PRIVATE(_upb_Message_DataPtr)(msg, f), zeros);
}
UPB_INLINE void UPB_PRIVATE(_upb_Message_ClearExtension)(
struct upb_Message* msg, const upb_MiniTableExtension* e) {
upb_Message_InternalData* in = upb_Message_GetInternalData(msg);
if (!in) return;
const struct upb_Extension* base =
UPB_PTR_AT(in, in->ext_begin, struct upb_Extension);
struct upb_Extension* ext =
(struct upb_Extension*)_upb_Message_Getext(msg, ext_l);
(struct upb_Extension*)_upb_Message_Getext(msg, e);
if (ext) {
*ext = *base;
in->ext_begin += sizeof(struct upb_Extension);
}
}
UPB_INLINE void _upb_Message_ClearNonExtensionField(
struct upb_Message* msg, const upb_MiniTableField* f) {
if (UPB_PRIVATE(_upb_MiniTableField_HasHasbit)(f)) {
UPB_PRIVATE(_upb_Message_ClearHasbit)(msg, f);
} else if (upb_MiniTableField_IsInOneof(f)) {
if (!UPB_PRIVATE(_upb_Message_ClearOneofCase)(msg, f)) return;
}
void* data = UPB_PRIVATE(_upb_Message_DataPtr)(msg, f);
UPB_PRIVATE(_upb_MiniTableField_DataClear)(f, data);
}
UPB_INLINE void _upb_Message_AssertMapIsUntagged(
const struct upb_Message* msg, const upb_MiniTableField* field) {
UPB_UNUSED(msg);

@ -144,6 +144,7 @@ bootstrap_cc_library(
"//upb/hash",
"//upb/message:internal",
"//upb/mini_descriptor:internal",
"//upb/mini_table:internal",
],
)

@ -237,7 +237,7 @@ const upb_MiniTableField* upb_FieldDef_MiniTable(const upb_FieldDef* f) {
}
}
const upb_MiniTableExtension* _upb_FieldDef_ExtensionMiniTable(
const upb_MiniTableExtension* upb_FieldDef_MiniTableExtension(
const upb_FieldDef* f) {
UPB_ASSERT(upb_FieldDef_IsExtension(f));
const upb_FileDef* file = upb_FieldDef_File(f);
@ -731,7 +731,7 @@ static void _upb_FieldDef_CreateExt(upb_DefBuilder* ctx, const char* prefix,
if (ctx->layout) {
UPB_ASSERT(upb_MiniTableExtension_Number(
_upb_FieldDef_ExtensionMiniTable(f)) == f->number_);
upb_FieldDef_MiniTableExtension(f)) == f->number_);
}
}
@ -923,7 +923,7 @@ static void resolve_extension(upb_DefBuilder* ctx, const char* prefix,
void _upb_FieldDef_BuildMiniTableExtension(upb_DefBuilder* ctx,
const upb_FieldDef* f) {
const upb_MiniTableExtension* ext = _upb_FieldDef_ExtensionMiniTable(f);
const upb_MiniTableExtension* ext = upb_FieldDef_MiniTableExtension(f);
if (ctx->layout) {
UPB_ASSERT(upb_FieldDef_Number(f) == upb_MiniTableExtension_Number(ext));

@ -10,7 +10,12 @@
#ifndef UPB_REFLECTION_FIELD_DEF_H_
#define UPB_REFLECTION_FIELD_DEF_H_
#include <stdint.h>
#include "upb/base/descriptor_constants.h"
#include "upb/base/string_view.h"
#include "upb/mini_table/extension.h"
#include "upb/mini_table/field.h"
#include "upb/reflection/common.h"
// Must be last.
@ -58,6 +63,8 @@ bool upb_FieldDef_MiniDescriptorEncode(const upb_FieldDef* f, upb_Arena* a,
upb_StringView* out);
const upb_MiniTableField* upb_FieldDef_MiniTable(const upb_FieldDef* f);
const upb_MiniTableExtension* upb_FieldDef_MiniTableExtension(
const upb_FieldDef* f);
UPB_API const char* upb_FieldDef_Name(const upb_FieldDef* f);
UPB_API uint32_t upb_FieldDef_Number(const upb_FieldDef* f);
const UPB_DESC(FieldOptions) * upb_FieldDef_Options(const upb_FieldDef* f);

@ -19,8 +19,6 @@ extern "C" {
upb_FieldDef* _upb_FieldDef_At(const upb_FieldDef* f, int i);
const upb_MiniTableExtension* _upb_FieldDef_ExtensionMiniTable(
const upb_FieldDef* f);
bool _upb_FieldDef_IsClosedEnum(const upb_FieldDef* f);
bool _upb_FieldDef_IsProto3Optional(const upb_FieldDef* f);
int _upb_FieldDef_LayoutIndex(const upb_FieldDef* f);

@ -13,12 +13,13 @@
#include "upb/mem/arena.h"
#include "upb/message/accessors.h"
#include "upb/message/array.h"
#include "upb/message/internal/accessors.h"
#include "upb/message/internal/extension.h"
#include "upb/message/internal/message.h"
#include "upb/message/map.h"
#include "upb/message/message.h"
#include "upb/mini_table/extension.h"
#include "upb/mini_table/field.h"
#include "upb/mini_table/internal/field.h"
#include "upb/reflection/def.h"
#include "upb/reflection/def_pool.h"
#include "upb/reflection/message_def.h"
@ -98,7 +99,13 @@ bool upb_Message_SetFieldByDef(upb_Message* msg, const upb_FieldDef* f,
}
void upb_Message_ClearFieldByDef(upb_Message* msg, const upb_FieldDef* f) {
upb_Message_ClearField(msg, upb_FieldDef_MiniTable(f));
const upb_MiniTableField* m_f = upb_FieldDef_MiniTable(f);
if (upb_MiniTableField_IsExtension(m_f)) {
upb_Message_ClearExtension(msg, (const upb_MiniTableExtension*)m_f);
} else {
upb_Message_ClearBaseField(msg, m_f);
}
}
void upb_Message_ClearByDef(upb_Message* msg, const upb_MessageDef* m) {

File diff suppressed because it is too large Load Diff

@ -269,7 +269,7 @@ void GenerateExtensionInHeader(const DefPoolPair& pools, upb::FieldDefPtr ext,
output(
R"cc(
UPB_INLINE void $0_clear_$1(struct $2* msg) {
_upb_Message_ClearExtensionField((upb_Message*)msg, &$3);
upb_Message_ClearExtension((upb_Message*)msg, &$3);
}
)cc",
ExtensionIdentBase(ext), ext.name(), MessageName(ext.containing_type()),
@ -411,7 +411,7 @@ void GenerateClear(upb::FieldDefPtr field, const DefPoolPair& pools,
R"cc(
UPB_INLINE void $0_clear_$1($0* msg) {
const upb_MiniTableField field = $2;
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
)cc",
msg_name, resolved_name, FieldInitializer(pools, field, options));

@ -78,7 +78,7 @@ UPB_INLINE char* google_protobuf_compiler_Version_serialize_ex(const google_prot
}
UPB_INLINE void google_protobuf_compiler_Version_clear_major(google_protobuf_compiler_Version* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__Version_msg_init(), 1);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE int32_t google_protobuf_compiler_Version_major(const google_protobuf_compiler_Version* msg) {
int32_t default_val = (int32_t)0;
@ -94,7 +94,7 @@ UPB_INLINE bool google_protobuf_compiler_Version_has_major(const google_protobuf
}
UPB_INLINE void google_protobuf_compiler_Version_clear_minor(google_protobuf_compiler_Version* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__Version_msg_init(), 2);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE int32_t google_protobuf_compiler_Version_minor(const google_protobuf_compiler_Version* msg) {
int32_t default_val = (int32_t)0;
@ -110,7 +110,7 @@ UPB_INLINE bool google_protobuf_compiler_Version_has_minor(const google_protobuf
}
UPB_INLINE void google_protobuf_compiler_Version_clear_patch(google_protobuf_compiler_Version* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__Version_msg_init(), 3);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE int32_t google_protobuf_compiler_Version_patch(const google_protobuf_compiler_Version* msg) {
int32_t default_val = (int32_t)0;
@ -126,7 +126,7 @@ UPB_INLINE bool google_protobuf_compiler_Version_has_patch(const google_protobuf
}
UPB_INLINE void google_protobuf_compiler_Version_clear_suffix(google_protobuf_compiler_Version* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__Version_msg_init(), 4);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE upb_StringView google_protobuf_compiler_Version_suffix(const google_protobuf_compiler_Version* msg) {
upb_StringView default_val = upb_StringView_FromString("");
@ -196,7 +196,7 @@ UPB_INLINE char* google_protobuf_compiler_CodeGeneratorRequest_serialize_ex(cons
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorRequest_clear_file_to_generate(google_protobuf_compiler_CodeGeneratorRequest* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorRequest_msg_init(), 1);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE upb_StringView const* google_protobuf_compiler_CodeGeneratorRequest_file_to_generate(const google_protobuf_compiler_CodeGeneratorRequest* msg, size_t* size) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorRequest_msg_init(), 1);
@ -228,7 +228,7 @@ UPB_INLINE upb_Array* _google_protobuf_compiler_CodeGeneratorRequest_file_to_gen
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorRequest_clear_parameter(google_protobuf_compiler_CodeGeneratorRequest* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorRequest_msg_init(), 2);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE upb_StringView google_protobuf_compiler_CodeGeneratorRequest_parameter(const google_protobuf_compiler_CodeGeneratorRequest* msg) {
upb_StringView default_val = upb_StringView_FromString("");
@ -244,7 +244,7 @@ UPB_INLINE bool google_protobuf_compiler_CodeGeneratorRequest_has_parameter(cons
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorRequest_clear_compiler_version(google_protobuf_compiler_CodeGeneratorRequest* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorRequest_msg_init(), 3);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE const google_protobuf_compiler_Version* google_protobuf_compiler_CodeGeneratorRequest_compiler_version(const google_protobuf_compiler_CodeGeneratorRequest* msg) {
const google_protobuf_compiler_Version* default_val = NULL;
@ -260,7 +260,7 @@ UPB_INLINE bool google_protobuf_compiler_CodeGeneratorRequest_has_compiler_versi
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorRequest_clear_proto_file(google_protobuf_compiler_CodeGeneratorRequest* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorRequest_msg_init(), 15);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE const struct google_protobuf_FileDescriptorProto* const* google_protobuf_compiler_CodeGeneratorRequest_proto_file(const google_protobuf_compiler_CodeGeneratorRequest* msg, size_t* size) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorRequest_msg_init(), 15);
@ -292,7 +292,7 @@ UPB_INLINE upb_Array* _google_protobuf_compiler_CodeGeneratorRequest_proto_file_
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorRequest_clear_source_file_descriptors(google_protobuf_compiler_CodeGeneratorRequest* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorRequest_msg_init(), 17);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE const struct google_protobuf_FileDescriptorProto* const* google_protobuf_compiler_CodeGeneratorRequest_source_file_descriptors(const google_protobuf_compiler_CodeGeneratorRequest* msg, size_t* size) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorRequest_msg_init(), 17);
@ -466,7 +466,7 @@ UPB_INLINE char* google_protobuf_compiler_CodeGeneratorResponse_serialize_ex(con
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorResponse_clear_error(google_protobuf_compiler_CodeGeneratorResponse* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorResponse_msg_init(), 1);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE upb_StringView google_protobuf_compiler_CodeGeneratorResponse_error(const google_protobuf_compiler_CodeGeneratorResponse* msg) {
upb_StringView default_val = upb_StringView_FromString("");
@ -482,7 +482,7 @@ UPB_INLINE bool google_protobuf_compiler_CodeGeneratorResponse_has_error(const g
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorResponse_clear_supported_features(google_protobuf_compiler_CodeGeneratorResponse* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorResponse_msg_init(), 2);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE uint64_t google_protobuf_compiler_CodeGeneratorResponse_supported_features(const google_protobuf_compiler_CodeGeneratorResponse* msg) {
uint64_t default_val = (uint64_t)0ull;
@ -498,7 +498,7 @@ UPB_INLINE bool google_protobuf_compiler_CodeGeneratorResponse_has_supported_fea
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorResponse_clear_minimum_edition(google_protobuf_compiler_CodeGeneratorResponse* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorResponse_msg_init(), 3);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE int32_t google_protobuf_compiler_CodeGeneratorResponse_minimum_edition(const google_protobuf_compiler_CodeGeneratorResponse* msg) {
int32_t default_val = (int32_t)0;
@ -514,7 +514,7 @@ UPB_INLINE bool google_protobuf_compiler_CodeGeneratorResponse_has_minimum_editi
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorResponse_clear_maximum_edition(google_protobuf_compiler_CodeGeneratorResponse* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorResponse_msg_init(), 4);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE int32_t google_protobuf_compiler_CodeGeneratorResponse_maximum_edition(const google_protobuf_compiler_CodeGeneratorResponse* msg) {
int32_t default_val = (int32_t)0;
@ -530,7 +530,7 @@ UPB_INLINE bool google_protobuf_compiler_CodeGeneratorResponse_has_maximum_editi
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorResponse_clear_file(google_protobuf_compiler_CodeGeneratorResponse* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorResponse_msg_init(), 15);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE const google_protobuf_compiler_CodeGeneratorResponse_File* const* google_protobuf_compiler_CodeGeneratorResponse_file(const google_protobuf_compiler_CodeGeneratorResponse* msg, size_t* size) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorResponse_msg_init(), 15);
@ -646,7 +646,7 @@ UPB_INLINE char* google_protobuf_compiler_CodeGeneratorResponse_File_serialize_e
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorResponse_File_clear_name(google_protobuf_compiler_CodeGeneratorResponse_File* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorResponse__File_msg_init(), 1);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE upb_StringView google_protobuf_compiler_CodeGeneratorResponse_File_name(const google_protobuf_compiler_CodeGeneratorResponse_File* msg) {
upb_StringView default_val = upb_StringView_FromString("");
@ -662,7 +662,7 @@ UPB_INLINE bool google_protobuf_compiler_CodeGeneratorResponse_File_has_name(con
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorResponse_File_clear_insertion_point(google_protobuf_compiler_CodeGeneratorResponse_File* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorResponse__File_msg_init(), 2);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE upb_StringView google_protobuf_compiler_CodeGeneratorResponse_File_insertion_point(const google_protobuf_compiler_CodeGeneratorResponse_File* msg) {
upb_StringView default_val = upb_StringView_FromString("");
@ -678,7 +678,7 @@ UPB_INLINE bool google_protobuf_compiler_CodeGeneratorResponse_File_has_insertio
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorResponse_File_clear_content(google_protobuf_compiler_CodeGeneratorResponse_File* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorResponse__File_msg_init(), 15);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE upb_StringView google_protobuf_compiler_CodeGeneratorResponse_File_content(const google_protobuf_compiler_CodeGeneratorResponse_File* msg) {
upb_StringView default_val = upb_StringView_FromString("");
@ -694,7 +694,7 @@ UPB_INLINE bool google_protobuf_compiler_CodeGeneratorResponse_File_has_content(
}
UPB_INLINE void google_protobuf_compiler_CodeGeneratorResponse_File_clear_generated_code_info(google_protobuf_compiler_CodeGeneratorResponse_File* msg) {
const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__compiler__CodeGeneratorResponse__File_msg_init(), 16);
_upb_Message_ClearNonExtensionField(UPB_UPCAST(msg), &field);
upb_Message_ClearBaseField(UPB_UPCAST(msg), &field);
}
UPB_INLINE const struct google_protobuf_GeneratedCodeInfo* google_protobuf_compiler_CodeGeneratorResponse_File_generated_code_info(const google_protobuf_compiler_CodeGeneratorResponse_File* msg) {
const struct google_protobuf_GeneratedCodeInfo* default_val = NULL;

Loading…
Cancel
Save