Home | History | Annotate | Download | only in protobuf_c

Lines Matching refs:addtab

3828  * (ie. submessage types).  Adds duplicates of existing defs to addtab
3830 * addtab is added.
3834 * 1. can reach a def that is being replaced by something in addtab, AND
3837 * exist in addtab)
3839 * ...then a duplicate (new copy) of D will be added to addtab.
3845 * our stack can reach a def in addtab or not. Once we figure this out, that
3851 * whether the SCC as a whole can reach any def in addtab, then we dup (or not)
3854 static bool upb_resolve_dfs(const upb_def *def, upb_strtable *addtab,
3880 if (upb_strtable_lookup(addtab, upb_def_fullname(def), &v)) {
3902 need_dup |= upb_resolve_dfs(subdef, addtab, new_owner, seen, s);
3909 /* Dup all defs in this SCC that don't already have entries in addtab. */
3916 if (!upb_strtable_lookup(addtab, name, NULL)) {
3920 if (!upb_strtable_insert(addtab, name, upb_value_ptr(newdef)))
3946 upb_strtable addtab;
3954 if (!upb_strtable_init(&addtab, UPB_CTYPE_PTR)) {
3987 if (upb_strtable_lookup(&addtab, fullname, NULL)) {
3995 if (!upb_strtable_insert(&addtab, fullname, upb_value_ptr(def)))
4022 if (upb_strtable_lookup(&addtab, msgname, &v)) {
4037 if (!upb_strtable_insert(&addtab, msgname, upb_value_ptr(m))) {
4054 upb_resolve_dfs(def, &addtab, s, &seen, status);
4060 upb_strtable_begin(&iter, &addtab);
4079 upb_def *subdef = upb_resolvename(&addtab, base, name);
4094 /* We need an array of the defs in addtab, for passing to
4096 add_objs_size = upb_strtable_count(&addtab);
4103 upb_strtable_begin(&iter, &addtab);
4129 upb_strtable_uninit(&addtab);
4154 upb_strtable_begin(&iter, &addtab);
4166 upb_strtable_uninit(&addtab);