Add upb_MiniTableExtension_ToField().

Can be used with functions like upb_MiniTableField_IsScalar() to check the field mode of an extension.

PiperOrigin-RevId: 804636350
This commit is contained in:
Protobuf Team Bot 2025-09-08 16:39:59 -07:00 committed by Copybara-Service
parent f0b58e6589
commit f26efdff86
2 changed files with 9 additions and 0 deletions

View file

@ -12,6 +12,7 @@
#include "upb/base/descriptor_constants.h"
#include "upb/mini_table/enum.h"
#include "upb/mini_table/field.h"
#include "upb/mini_table/internal/extension.h"
#include "upb/mini_table/message.h"
@ -45,6 +46,9 @@ UPB_API_INLINE bool upb_MiniTableExtension_SetSubMessage(
UPB_API_INLINE bool upb_MiniTableExtension_SetSubEnum(
upb_MiniTableExtension* e, const upb_MiniTableEnum* m);
UPB_API_INLINE const upb_MiniTableField* upb_MiniTableExtension_ToField(
const upb_MiniTableExtension* e);
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -81,6 +81,11 @@ UPB_API_INLINE bool upb_MiniTableExtension_SetSubEnum(
return true;
}
UPB_API_INLINE const upb_MiniTableField* upb_MiniTableExtension_ToField(
const struct upb_MiniTableExtension* e) {
return &e->UPB_PRIVATE(field);
}
UPB_INLINE upb_FieldRep UPB_PRIVATE(_upb_MiniTableExtension_GetRep)(
const struct upb_MiniTableExtension* e) {
return UPB_PRIVATE(_upb_MiniTableField_GetRep)(&e->UPB_PRIVATE(field));