diff --git a/upb/message/accessors.h b/upb/message/accessors.h index fb0f7aa657001..56f3850219137 100644 --- a/upb/message/accessors.h +++ b/upb/message/accessors.h @@ -147,6 +147,10 @@ UPB_API_INLINE void upb_Message_SetBaseFieldInt64(struct upb_Message* msg, const upb_MiniTableField* f, int64_t value); +UPB_API_INLINE void upb_Message_SetBaseFieldMap(struct upb_Message* msg, + const upb_MiniTableField* f, + struct upb_Map* value); + UPB_API_INLINE void upb_Message_SetBaseFieldMessage(struct upb_Message* msg, const upb_MiniTableField* f, upb_Message* value); diff --git a/upb/message/internal/accessors.h b/upb/message/internal/accessors.h index 03070007f67f2..2bffcea1d4bd6 100644 --- a/upb/message/internal/accessors.h +++ b/upb/message/internal/accessors.h @@ -615,6 +615,15 @@ UPB_API_INLINE void upb_Message_SetBaseFieldMessage(struct upb_Message* msg, upb_Message_SetBaseField(msg, f, &value); } +UPB_API_INLINE void upb_Message_SetBaseFieldMap(struct upb_Message* msg, + const upb_MiniTableField* f, + struct upb_Map* value) { + UPB_ASSERT(upb_MiniTableField_IsMap(f)); + UPB_ASSUME(UPB_PRIVATE(_upb_MiniTableField_GetRep)(f) == + kUpb_FieldRep_NativePointer); + upb_Message_SetBaseField(msg, f, &value); +} + UPB_API_INLINE void upb_Message_SetBaseFieldString(struct upb_Message* msg, const upb_MiniTableField* f, upb_StringView value) {