upb_MiniTable_GetMutableMap() -> upb_Message_GetOrCreateMutableMap()

PiperOrigin-RevId: 499371815
pull/13171/head
Eric Salo 2 years ago committed by Copybara-Service
parent 143132fa27
commit c628e53dde
  1. 4
      upb/message/accessors.c
  2. 7
      upb/message/accessors.h
  3. 4
      upb/message/accessors_test.cc
  4. 2
      upbc/protoc-gen-upb.cc

@ -313,8 +313,8 @@ upb_UnknownToMessage_Status upb_MiniTable_PromoteUnknownToMap(
/* base_message= */ NULL, decode_options, arena);
if (ret.status != kUpb_UnknownToMessage_Ok) return ret.status;
// Allocate map on demand before append.
upb_Map* map =
upb_MiniTable_GetMutableMap(msg, map_entry_mini_table, field, arena);
upb_Map* map = upb_Message_GetOrCreateMutableMap(msg, map_entry_mini_table,
field, arena);
upb_Message* map_entry_message = ret.message;
upb_MapInsertStatus insert_status = upb_Message_InsertMapEntry(
map, mini_table, field, map_entry_message, arena);

@ -294,7 +294,7 @@ UPB_INLINE void _upb_Message_ClearNonExtensionField(
field);
}
UPB_INLINE upb_Map* _upb_MiniTable_GetOrCreateMutableMap(
UPB_INLINE upb_Map* _upb_Message_GetOrCreateMutableMap(
upb_Message* msg, const upb_MiniTableField* field, size_t key_size,
size_t val_size, upb_Arena* arena) {
_upb_MiniTableField_CheckIsMap(field);
@ -630,8 +630,7 @@ UPB_API_INLINE const upb_Map* upb_Message_GetMap(
return ret;
}
// TODO: rename to GetOrCreateMutableMap
UPB_API_INLINE upb_Map* upb_MiniTable_GetMutableMap(
UPB_API_INLINE upb_Map* upb_Message_GetOrCreateMutableMap(
upb_Message* msg, const upb_MiniTable* map_entry_mini_table,
const upb_MiniTableField* field, upb_Arena* arena) {
UPB_ASSERT(field->descriptortype == kUpb_FieldType_Message ||
@ -640,7 +639,7 @@ UPB_API_INLINE upb_Map* upb_MiniTable_GetMutableMap(
&map_entry_mini_table->fields[0];
const upb_MiniTableField* map_entry_value_field =
&map_entry_mini_table->fields[1];
return _upb_MiniTable_GetOrCreateMutableMap(
return _upb_Message_GetOrCreateMutableMap(
msg, field,
_upb_Map_CTypeSize(upb_MiniTableField_CType(map_entry_key_field)),
_upb_Map_CTypeSize(upb_MiniTableField_CType(map_entry_value_field)),

@ -756,8 +756,8 @@ TEST(GeneratedCode, PromoteUnknownToMap) {
decode_options, arena);
EXPECT_EQ(promote_result, kUpb_UnknownToMessage_Ok);
upb_Map* map = upb_MiniTable_GetMutableMap(msg, map_entry_mini_table,
&mini_table->fields[1], arena);
upb_Map* map = upb_Message_GetOrCreateMutableMap(
msg, map_entry_mini_table, &mini_table->fields[1], arena);
EXPECT_NE(map, nullptr);
// Lookup in map.
upb_MessageValue key;

@ -559,7 +559,7 @@ void GenerateMapSetters(const protobuf::FieldDescriptor* field,
R"cc(
UPB_INLINE bool $0_$1_set($0* msg, $2 key, $3 val, upb_Arena* a) {
const upb_MiniTableField field = $4;
upb_Map* map = _upb_MiniTable_GetOrCreateMutableMap(msg, &field, $5, $6, a);
upb_Map* map = _upb_Message_GetOrCreateMutableMap(msg, &field, $5, $6, a);
return _upb_Map_Insert(map, &key, $5, &val, $6, a) !=
kUpb_MapInsertStatus_OutOfMemory;
}

Loading…
Cancel
Save