diff --git a/upb/mini_table/extension.h b/upb/mini_table/extension.h index 7df685db98..f7656ada44 100644 --- a/upb/mini_table/extension.h +++ b/upb/mini_table/extension.h @@ -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 diff --git a/upb/mini_table/internal/extension.h b/upb/mini_table/internal/extension.h index 3a794851c8..630492519b 100644 --- a/upb/mini_table/internal/extension.h +++ b/upb/mini_table/internal/extension.h @@ -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));