ObjectList<Symbol> Type::get_unresolved_overload_set()
    {
        ObjectList<Symbol> result;
        scope_entry_list_t* entry_list = ::unresolved_overloaded_type_get_overload_set(_type_info);
        Scope::convert_to_vector(entry_list, result);
        entry_list_free(entry_list);

        return result;
    }
    ObjectList<Symbol> Type::class_get_friends()
    {
        ObjectList<Symbol> friend_symbol_list;

        scope_entry_list_t* all_friends = class_type_get_friends(_type_info);
        Scope::convert_to_vector(all_friends, friend_symbol_list);
        entry_list_free(all_friends);

        return friend_symbol_list;
    }
    ObjectList<Symbol> Type::get_bases_class_symbol_list()
    {
        ObjectList<Symbol> base_symbol_list;

        scope_entry_list_t* all_bases = class_type_get_all_bases(_type_info, /* include_dependent */ 0);
        Scope::convert_to_vector(all_bases, base_symbol_list);
        entry_list_free(all_bases);

        return base_symbol_list;
    }
    ObjectList<Symbol> Type::get_all_members() const
    {
        ObjectList<Symbol> result;
        scope_entry_list_t* list = class_type_get_members(
                    ::get_actual_class_type(_type_info));
        Scope::convert_to_vector(list, result);
        entry_list_free(list);

        return result;
    }
    ObjectList<Symbol> Type::class_get_inherited_constructors()
    {
        ObjectList<Symbol> inherited_constructors_list;

        scope_entry_list_t* inherited_constructors =
            class_type_get_inherited_constructors(_type_info);
        Scope::convert_to_vector(inherited_constructors, inherited_constructors_list);
        entry_list_free(inherited_constructors);

        return inherited_constructors_list;
    }
scope_entry_t* query_name_no_implicit(decl_context_t decl_context, const char* name)
{
    scope_entry_list_t* entry_list = query_unqualified_name_str(decl_context, strtolower(name));

    scope_entry_t* result = NULL;

    if (entry_list != NULL )
    {
        result = entry_list_head(entry_list);
        entry_list_free(entry_list);
    }

    return result;
}
scope_entry_t* query_name_no_implicit_or_builtin(decl_context_t decl_context, const char* name)
{
    scope_entry_list_t* entry_list = query_unqualified_name_str(decl_context, strtolower(name));

    scope_entry_t* result = NULL;

    if (entry_list != NULL )
    {
        result = entry_list_head(entry_list);
        entry_list_free(entry_list);

        if (result->entity_specs.is_builtin)
            result = NULL;
    }

    return result;
}
示例#8
0
/*
 * Free an ARCHIVE_MATCH object.
 */
int
archive_match_free(struct archive *_a)
{
	struct archive_match *a;

	if (_a == NULL)
		return (ARCHIVE_OK);
	archive_check_magic(_a, ARCHIVE_MATCH_MAGIC,
	    ARCHIVE_STATE_ANY | ARCHIVE_STATE_FATAL, "archive_match_free");
	a = (struct archive_match *)_a;
	match_list_free(&(a->inclusions));
	match_list_free(&(a->exclusions));
	entry_list_free(&(a->exclusion_entry_list));
	free(a->inclusion_uids.ids);
	free(a->inclusion_gids.ids);
	match_list_free(&(a->inclusion_unames));
	match_list_free(&(a->inclusion_gnames));
	free(a);
	return (ARCHIVE_OK);
}
 static void free_scope_entry_list(scope_entry_list_t* entry)
 {
     entry_list_free(entry);
 }