bool upb_fielddef_settype(upb_fielddef *f, uint8_t type) { assert(!f->finalized); upb_fielddef_uninit_default(f); f->type = type; upb_fielddef_init_default(f); return true; }
bool upb_fielddef_settype(upb_fielddef *f, upb_fieldtype_t type) { assert(!upb_fielddef_isfrozen(f)); upb_fielddef_uninit_default(f); f->type_ = type; upb_fielddef_init_default(f); return true; }
void upb_fielddef_settype(upb_fielddef *f, upb_fieldtype_t type) { assert(!upb_fielddef_isfrozen(f)); assert(upb_fielddef_checktype(type)); upb_fielddef_uninit_default(f); f->type_ = type; f->type_is_set_ = true; upb_fielddef_init_default(f); }
static void freefield(upb_refcounted *r) { upb_fielddef *f = (upb_fielddef*)r; upb_fielddef_uninit_default(f); if (f->subdef_is_symbolic) free(f->sub.name); upb_def_uninit(upb_upcast(f)); free(f); }
static void upb_fielddef_free(upb_fielddef *f) { upb_fielddef_uninit_default(f); if (f->def) { // We own a ref on the subdef iff we are not part of a msgdef. if (f->msgdef == NULL) { if (f->def) upb_downcast_unresolveddef(f->def); // assert() check. upb_def_unref(f->def); } } free(f->name); free(f); }