forked from enlightenment/efl
eolian: update type/var name APIs
This commit is contained in:
parent
35d9ef2dd2
commit
1f4d919cf9
|
@ -131,7 +131,7 @@ _append_defval(Eina_Strbuf *buf, const Eolian_Expression *exp, const Eolian_Type
|
|||
const Eolian_Typedecl *tdcl = eolian_type_typedecl_get(btp);
|
||||
if (tdcl && (eolian_typedecl_type_get(tdcl) == EOLIAN_TYPEDECL_STRUCT))
|
||||
{
|
||||
char *sn = eo_gen_c_full_name_get(eolian_typedecl_full_name_get(tdcl));
|
||||
char *sn = eo_gen_c_full_name_get(eolian_typedecl_name_get(tdcl));
|
||||
if (eina_streq(sn, "Eina_Rect"))
|
||||
eina_strbuf_append(buf, "(EINA_RECT_EMPTY())");
|
||||
else
|
||||
|
@ -156,7 +156,7 @@ _generate_normal_free(Eina_Strbuf **buf, const Eolian_Type *type, const Eina_Str
|
|||
const char *free_func = eolian_type_free_func_get(type);
|
||||
if (!free_func)
|
||||
{
|
||||
printf("No free type %s\n", eolian_type_name_get(type));
|
||||
printf("No free type %s\n", eolian_type_short_name_get(type));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ static Eina_Strbuf *
|
|||
_type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp,
|
||||
Eina_Bool full, Eina_Bool legacy)
|
||||
{
|
||||
char *grp = strdup(eolian_typedecl_full_name_get(tp));
|
||||
char *grp = strdup(eolian_typedecl_name_get(tp));
|
||||
char *p = strrchr(grp, '.');
|
||||
if (p) *p = '\0';
|
||||
Eina_Strbuf *buf = eo_gen_docs_full_gen(src, eolian_typedecl_documentation_get(tp),
|
||||
|
@ -28,7 +28,7 @@ _type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp,
|
|||
case EOLIAN_TYPEDECL_STRUCT_OPAQUE:
|
||||
{
|
||||
const Eolian_Struct_Type_Field *memb;
|
||||
char *fn = eo_gen_c_full_name_get(eolian_typedecl_full_name_get(tp));
|
||||
char *fn = eo_gen_c_full_name_get(eolian_typedecl_name_get(tp));
|
||||
if (tpt == EOLIAN_TYPEDECL_STRUCT_OPAQUE || !full)
|
||||
{
|
||||
eina_strbuf_append_printf(buf, "typedef struct _%s %s", fn, fn);
|
||||
|
@ -118,7 +118,7 @@ _type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp,
|
|||
eina_strbuf_append(buf, "\n");
|
||||
}
|
||||
eina_iterator_free(membs);
|
||||
char *fn = eo_gen_c_full_name_get(eolian_typedecl_full_name_get(tp));
|
||||
char *fn = eo_gen_c_full_name_get(eolian_typedecl_name_get(tp));
|
||||
eina_strbuf_append_printf(buf, "} %s", fn);
|
||||
free(fn);
|
||||
break;
|
||||
|
@ -140,7 +140,7 @@ _type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp,
|
|||
}
|
||||
|
||||
/* Function name */
|
||||
char *fn = eo_gen_c_full_name_get(eolian_typedecl_full_name_get(tp));
|
||||
char *fn = eo_gen_c_full_name_get(eolian_typedecl_name_get(tp));
|
||||
eina_strbuf_append_printf(buf, "(*%s)", fn);
|
||||
free(fn);
|
||||
|
||||
|
@ -162,7 +162,7 @@ _type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp,
|
|||
static Eina_Strbuf *
|
||||
_var_generate(const Eolian_Unit *src, const Eolian_Variable *vr, Eina_Bool legacy)
|
||||
{
|
||||
char *fn = strdup(eolian_variable_full_name_get(vr));
|
||||
char *fn = strdup(eolian_variable_name_get(vr));
|
||||
char *p = strrchr(fn, '.');
|
||||
if (p) *p = '\0';
|
||||
Eina_Strbuf *buf = eo_gen_docs_full_gen(src, eolian_variable_documentation_get(vr),
|
||||
|
@ -280,7 +280,7 @@ void eo_gen_types_source_gen(Eina_Iterator *itr, Eina_Strbuf *buf)
|
|||
if (!vv)
|
||||
continue;
|
||||
|
||||
char *fn = strdup(eolian_variable_full_name_get(vr));
|
||||
char *fn = strdup(eolian_variable_name_get(vr));
|
||||
for (char *p = strchr(fn, '.'); p; p = strchr(p, '.'))
|
||||
*p = '_';
|
||||
eina_str_toupper(&fn);
|
||||
|
|
|
@ -248,7 +248,7 @@ types_generate(std::string const& fname, options_type const& opts,
|
|||
if (!func) return false;
|
||||
|
||||
function_def def(func, EOLIAN_FUNCTION_POINTER, opts.unit);
|
||||
def.c_name = eolian_typedecl_full_name_get(tp);
|
||||
def.c_name = eolian_typedecl_name_get(tp);
|
||||
std::replace(def.c_name.begin(), def.c_name.end(), '.', '_');
|
||||
functions.push_back(std::move(def));
|
||||
}
|
||||
|
|
|
@ -59,7 +59,7 @@ inline std::string type_class_name(Eolian_Type const* tp)
|
|||
auto tpd = eolian_type_typedecl_get(tp);
|
||||
if (tpd && eolian_typedecl_type_get(tpd) == EOLIAN_TYPEDECL_STRUCT)
|
||||
{
|
||||
auto struct_type_full_name = ::eolian_type_full_name_get(tp);
|
||||
auto struct_type_full_name = ::eolian_type_name_get(tp);
|
||||
if (!struct_type_full_name)
|
||||
throw std::runtime_error("Could not get struct name");
|
||||
return struct_type_full_name;
|
||||
|
|
|
@ -73,8 +73,8 @@ _final_type_and_type_type_get(Eolian_Type const* tp_in, Eolian_Type const*& tp_o
|
|||
!eolian_typedecl_is_extern(tpd))
|
||||
{
|
||||
auto btp = eolian_typedecl_aliased_base_get(tpd);
|
||||
if (btp && eolian_type_full_name_get(btp) &&
|
||||
strcmp(eolian_type_full_name_get(btp), "__undefined_type") != 0)
|
||||
if (btp && eolian_type_name_get(btp) &&
|
||||
strcmp(eolian_type_name_get(btp), "__undefined_type") != 0)
|
||||
{
|
||||
_final_type_and_type_type_get(btp, tp_out, tpt_out);
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ _eolian_type_cpp_type_named_get(const Eolian_Type *tp, std::string const& caller
|
|||
|
||||
};
|
||||
|
||||
std::string type_name = eolian_type_name_get(tp);
|
||||
std::string type_name = eolian_type_short_name_get(tp);
|
||||
auto it = type_map.find(type_name);
|
||||
if (it != end(type_map))
|
||||
type_name = it->second;
|
||||
|
@ -690,8 +690,8 @@ int main(int argc, char** argv)
|
|||
if (!tpd || ::eolian_typedecl_type_get(tpd) == EOLIAN_TYPEDECL_STRUCT_OPAQUE)
|
||||
continue;
|
||||
|
||||
auto struct_name = ::eolian_typedecl_name_get(tpd);
|
||||
auto struct_type_full_name = ::eolian_typedecl_full_name_get(tpd);
|
||||
auto struct_name = ::eolian_typedecl_short_name_get(tpd);
|
||||
auto struct_type_full_name = ::eolian_typedecl_name_get(tpd);
|
||||
if (!struct_name || !struct_type_full_name)
|
||||
{
|
||||
EINA_CXX_DOM_LOG_ERR(eolian::js::domain) << "Could not get struct type name";
|
||||
|
@ -1157,7 +1157,7 @@ int main(int argc, char** argv)
|
|||
auto tpd = &*first;
|
||||
if (::eolian_typedecl_is_extern(tpd))
|
||||
continue;
|
||||
std::string enum_name = ::eolian_typedecl_name_get(tpd);
|
||||
std::string enum_name = ::eolian_typedecl_short_name_get(tpd);
|
||||
os << " {\n";
|
||||
os << " auto to_export = ::efl::eo::js::get_namespace({";
|
||||
bool comma = false;
|
||||
|
|
|
@ -2264,35 +2264,43 @@ EAPI Eina_Bool eolian_typedecl_is_extern(const Eolian_Typedecl *tp);
|
|||
EAPI Eina_Stringshare *eolian_typedecl_c_type_get(const Eolian_Typedecl *tp);
|
||||
|
||||
/*
|
||||
* @brief Get the name of the given type declaration. Keep in mind that the
|
||||
* name doesn't include namespaces.
|
||||
* @brief A helper function to get the full name of a typedecl.
|
||||
*
|
||||
* @param[in] tp the type declaration.
|
||||
* @return the name.
|
||||
* @see eolian_object_name_get
|
||||
*
|
||||
* @ingroup Eolian
|
||||
*/
|
||||
EAPI Eina_Stringshare *eolian_typedecl_name_get(const Eolian_Typedecl *tp);
|
||||
static inline const char *
|
||||
eolian_typedecl_name_get(const Eolian_Typedecl *tp)
|
||||
{
|
||||
return eolian_object_name_get(EOLIAN_OBJECT(tp));
|
||||
}
|
||||
|
||||
/*
|
||||
* @brief Get the full (namespaced) name of a type declaration.
|
||||
* @brief A helper function to get the short name of a typedecl.
|
||||
*
|
||||
* @param[in] tp the type declaration.
|
||||
* @return the name.
|
||||
* @see eolian_object_short_name_get
|
||||
*
|
||||
* @ingroup Eolian
|
||||
*/
|
||||
EAPI Eina_Stringshare *eolian_typedecl_full_name_get(const Eolian_Typedecl *tp);
|
||||
static inline const char *
|
||||
eolian_typedecl_short_name_get(const Eolian_Typedecl *tp)
|
||||
{
|
||||
return eolian_object_short_name_get(EOLIAN_OBJECT(tp));
|
||||
}
|
||||
|
||||
/*
|
||||
* @brief Get an iterator to the list of namespaces of the given type decl.
|
||||
* @brief A helper function to get the namespaces of a typedecl.
|
||||
*
|
||||
* @param[in] tp the type declaration.
|
||||
* @return the iterator.
|
||||
* @see eolian_object_namespaces_get
|
||||
*
|
||||
* @ingroup Eolian
|
||||
*/
|
||||
EAPI Eina_Iterator *eolian_typedecl_namespaces_get(const Eolian_Typedecl *tp);
|
||||
static inline Eina_Iterator *
|
||||
eolian_typedecl_namespaces_get(const Eolian_Typedecl *tp)
|
||||
{
|
||||
return eolian_object_namespaces_get(EOLIAN_OBJECT(tp));
|
||||
}
|
||||
|
||||
/*
|
||||
* @brief Get the name of the function used to free this type declaration.
|
||||
|
@ -2451,36 +2459,43 @@ EAPI Eina_Bool eolian_type_is_ptr(const Eolian_Type *tp);
|
|||
EAPI Eina_Stringshare *eolian_type_c_type_get(const Eolian_Type *tp, Eolian_C_Type_Type ctype);
|
||||
|
||||
/*
|
||||
* @brief Get the name of the given type. For regular types, this is for
|
||||
* example "int". For EOLIAN_TYPE_CLASS, this can be "Button". Keep in
|
||||
* mind that the name doesn't include namespaces.
|
||||
* @brief A helper function to get the full name of a type.
|
||||
*
|
||||
* @param[in] tp the type.
|
||||
* @return the name.
|
||||
* @see eolian_object_name_get
|
||||
*
|
||||
* @ingroup Eolian
|
||||
*/
|
||||
EAPI Eina_Stringshare *eolian_type_name_get(const Eolian_Type *tp);
|
||||
static inline const char *
|
||||
eolian_type_name_get(const Eolian_Type *tp)
|
||||
{
|
||||
return eolian_object_name_get(EOLIAN_OBJECT(tp));
|
||||
}
|
||||
|
||||
/*
|
||||
* @brief Get the full (namespaced) name of a type.
|
||||
* @brief A helper function to get the short name of a type.
|
||||
*
|
||||
* @param[in] tp the type.
|
||||
* @return the name.
|
||||
* @see eolian_object_short_name_get
|
||||
*
|
||||
* @ingroup Eolian
|
||||
*/
|
||||
EAPI Eina_Stringshare *eolian_type_full_name_get(const Eolian_Type *tp);
|
||||
static inline const char *
|
||||
eolian_type_short_name_get(const Eolian_Type *tp)
|
||||
{
|
||||
return eolian_object_short_name_get(EOLIAN_OBJECT(tp));
|
||||
}
|
||||
|
||||
/*
|
||||
* @brief Get an iterator to the list of namespaces of the given type.
|
||||
* @brief A helper function to get the namespaces of a type.
|
||||
*
|
||||
* @param[in] tp the type.
|
||||
* @return the iterator.
|
||||
* @see eolian_object_namespaces_get
|
||||
*
|
||||
* @ingroup Eolian
|
||||
*/
|
||||
EAPI Eina_Iterator *eolian_type_namespaces_get(const Eolian_Type *tp);
|
||||
static inline Eina_Iterator *
|
||||
eolian_type_namespaces_get(const Eolian_Type *tp)
|
||||
{
|
||||
return eolian_object_namespaces_get(EOLIAN_OBJECT(tp));
|
||||
}
|
||||
|
||||
/*
|
||||
* @brief Get the name of the function used to free this type.
|
||||
|
@ -2687,34 +2702,43 @@ EAPI const Eolian_Type *eolian_variable_base_type_get(const Eolian_Variable *var
|
|||
EAPI const Eolian_Expression *eolian_variable_value_get(const Eolian_Variable *var);
|
||||
|
||||
/*
|
||||
* @brief Get the name of the given variable (without namespaces).
|
||||
* @brief A helper function to get the full name of a variable.
|
||||
*
|
||||
* @param[in] var the variable.
|
||||
* @return the name.
|
||||
* @see eolian_object_name_get
|
||||
*
|
||||
* @ingroup Eolian
|
||||
*/
|
||||
EAPI Eina_Stringshare *eolian_variable_name_get(const Eolian_Variable *var);
|
||||
static inline const char *
|
||||
eolian_variable_name_get(const Eolian_Variable *tp)
|
||||
{
|
||||
return eolian_object_name_get(EOLIAN_OBJECT(tp));
|
||||
}
|
||||
|
||||
/*
|
||||
* @brief Get the name of the given variable (with namespaces).
|
||||
* @brief A helper function to get the short name of a variable.
|
||||
*
|
||||
* @param[in] var the variable.
|
||||
* @return the name.
|
||||
* @see eolian_object_short_name_get
|
||||
*
|
||||
* @ingroup Eolian
|
||||
*/
|
||||
EAPI Eina_Stringshare *eolian_variable_full_name_get(const Eolian_Variable *var);
|
||||
static inline const char *
|
||||
eolian_variable_short_name_get(const Eolian_Variable *tp)
|
||||
{
|
||||
return eolian_object_short_name_get(EOLIAN_OBJECT(tp));
|
||||
}
|
||||
|
||||
/*
|
||||
* @brief Get an iterator to the list of namespaces of the given variable.
|
||||
* @brief A helper function to get the namespaces of a variable.
|
||||
*
|
||||
* @param[in] var the variable.
|
||||
* @return the iterator.
|
||||
* @see eolian_object_namespaces_get
|
||||
*
|
||||
* @ingroup Eolian
|
||||
*/
|
||||
EAPI Eina_Iterator *eolian_variable_namespaces_get(const Eolian_Variable *var);
|
||||
static inline Eina_Iterator *
|
||||
eolian_variable_namespaces_get(const Eolian_Variable *tp)
|
||||
{
|
||||
return eolian_object_namespaces_get(EOLIAN_OBJECT(tp));
|
||||
}
|
||||
|
||||
/*
|
||||
* @brief Check if a variable is extern.
|
||||
|
|
|
@ -251,44 +251,6 @@ eolian_typedecl_c_type_get(const Eolian_Typedecl *tp)
|
|||
return ret;
|
||||
}
|
||||
|
||||
EAPI Eina_Stringshare *
|
||||
eolian_type_name_get(const Eolian_Type *tp)
|
||||
{
|
||||
return eolian_object_short_name_get((const Eolian_Object *)tp);
|
||||
}
|
||||
|
||||
EAPI Eina_Stringshare *
|
||||
eolian_typedecl_name_get(const Eolian_Typedecl *tp)
|
||||
{
|
||||
return eolian_object_short_name_get((const Eolian_Object *)tp);
|
||||
}
|
||||
|
||||
EAPI Eina_Stringshare *
|
||||
eolian_type_full_name_get(const Eolian_Type *tp)
|
||||
{
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(tp, NULL);
|
||||
return tp->base.name;
|
||||
}
|
||||
|
||||
EAPI Eina_Stringshare *
|
||||
eolian_typedecl_full_name_get(const Eolian_Typedecl *tp)
|
||||
{
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(tp, NULL);
|
||||
return tp->base.name;
|
||||
}
|
||||
|
||||
EAPI Eina_Iterator *
|
||||
eolian_type_namespaces_get(const Eolian_Type *tp)
|
||||
{
|
||||
return eolian_object_namespaces_get((const Eolian_Object *)tp);
|
||||
}
|
||||
|
||||
EAPI Eina_Iterator *
|
||||
eolian_typedecl_namespaces_get(const Eolian_Typedecl *tp)
|
||||
{
|
||||
return eolian_object_namespaces_get((const Eolian_Object *)tp);
|
||||
}
|
||||
|
||||
EAPI Eina_Stringshare *
|
||||
eolian_type_free_func_get(const Eolian_Type *tp)
|
||||
{
|
||||
|
|
|
@ -33,25 +33,6 @@ eolian_variable_value_get(const Eolian_Variable *var)
|
|||
return var->value;
|
||||
}
|
||||
|
||||
EAPI Eina_Stringshare *
|
||||
eolian_variable_name_get(const Eolian_Variable *var)
|
||||
{
|
||||
return eolian_object_short_name_get((const Eolian_Object *)var);
|
||||
}
|
||||
|
||||
EAPI Eina_Stringshare *
|
||||
eolian_variable_full_name_get(const Eolian_Variable *var)
|
||||
{
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(var, NULL);
|
||||
return var->base.name;
|
||||
}
|
||||
|
||||
EAPI Eina_Iterator *
|
||||
eolian_variable_namespaces_get(const Eolian_Variable *var)
|
||||
{
|
||||
return eolian_object_namespaces_get((const Eolian_Object *)var);
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
eolian_variable_is_extern(const Eolian_Variable *var)
|
||||
{
|
||||
|
|
|
@ -369,12 +369,12 @@ inline void type_def::set(Eolian_Type const* eolian_type, Eolian_Unit const* uni
|
|||
for(efl::eina::iterator<const char> namespace_iterator( ::eolian_type_namespaces_get(eolian_type))
|
||||
, namespace_last; namespace_iterator != namespace_last; ++namespace_iterator)
|
||||
namespaces.push_back(&*namespace_iterator);
|
||||
original_type = {regular_type_def{ ::eolian_type_name_get(eolian_type), {qualifiers(eolian_type), {}}, namespaces, type_type, is_undefined}};
|
||||
original_type = {regular_type_def{ ::eolian_type_short_name_get(eolian_type), {qualifiers(eolian_type), {}}, namespaces, type_type, is_undefined}};
|
||||
}
|
||||
else
|
||||
{
|
||||
complex_type_def complex
|
||||
{{::eolian_type_name_get(eolian_type), {qualifiers(eolian_type), {}}, {}}, {}};
|
||||
{{::eolian_type_short_name_get(eolian_type), {qualifiers(eolian_type), {}}, {}}, {}};
|
||||
while (stp)
|
||||
{
|
||||
complex.subtypes.push_back({stp, unit, EOLIAN_C_TYPE_DEFAULT});
|
||||
|
@ -1097,7 +1097,7 @@ struct enum_def
|
|||
{
|
||||
this->namespaces.push_back((&*namespace_iterator));
|
||||
}
|
||||
cxx_name = eolian_name = eolian_typedecl_name_get(enum_obj);
|
||||
cxx_name = eolian_name = eolian_typedecl_short_name_get(enum_obj);
|
||||
|
||||
for (efl::eina::iterator<const Eolian_Enum_Type_Field> field_iterator(::eolian_typedecl_enum_fields_get(enum_obj))
|
||||
, field_last; field_iterator != field_last; ++field_iterator)
|
||||
|
@ -1143,7 +1143,7 @@ struct struct_def
|
|||
{
|
||||
this->namespaces.push_back((&*namespace_iterator));
|
||||
}
|
||||
cxx_name = eolian_name = eolian_typedecl_name_get(struct_obj);
|
||||
cxx_name = eolian_name = eolian_typedecl_short_name_get(struct_obj);
|
||||
|
||||
for(efl::eina::iterator<const Eolian_Struct_Type_Field> field_iterator(::eolian_typedecl_struct_fields_get(struct_obj))
|
||||
, field_last; field_iterator != field_last; ++field_iterator)
|
||||
|
|
|
@ -130,7 +130,7 @@ START_TEST(eolian_events)
|
|||
fail_if(!(name = eolian_event_name_get(ev)));
|
||||
fail_if(!(type = eolian_event_type_get(ev)));
|
||||
fail_if(strcmp(name, "clicked,double"));
|
||||
type_name = eolian_type_name_get(type);
|
||||
type_name = eolian_type_short_name_get(type);
|
||||
fail_if(strcmp(type_name, "Evas_Event_Clicked_Double_Info"));
|
||||
fail_if(eolian_event_is_beta(ev));
|
||||
fail_if(eolian_event_is_hot(ev));
|
||||
|
@ -346,13 +346,13 @@ START_TEST(eolian_typedef)
|
|||
/* Basic type */
|
||||
fail_if(!(tdl = eolian_unit_alias_by_name_get(unit, "Evas.Coord")));
|
||||
fail_if(eolian_typedecl_type_get(tdl) != EOLIAN_TYPEDECL_ALIAS);
|
||||
fail_if(!(type_name = eolian_typedecl_name_get(tdl)));
|
||||
fail_if(!(type_name = eolian_typedecl_short_name_get(tdl)));
|
||||
fail_if(strcmp(type_name, "Coord"));
|
||||
fail_if(!(type_name = eolian_typedecl_c_type_get(tdl)));
|
||||
fail_if(strcmp(type_name, "typedef int Evas_Coord"));
|
||||
eina_stringshare_del(type_name);
|
||||
fail_if(!(type = eolian_typedecl_base_type_get(tdl)));
|
||||
fail_if(!(type_name = eolian_type_name_get(type)));
|
||||
fail_if(!(type_name = eolian_type_short_name_get(type)));
|
||||
fail_if(eolian_type_is_owned(type));
|
||||
fail_if(eolian_type_is_const(type));
|
||||
fail_if(eolian_type_base_type_get(type));
|
||||
|
@ -365,11 +365,11 @@ START_TEST(eolian_typedef)
|
|||
/* Lowest alias base */
|
||||
fail_if(!(tdl = eolian_unit_alias_by_name_get(unit, "Evas.Coord3")));
|
||||
fail_if(!(type = eolian_typedecl_aliased_base_get(tdl)));
|
||||
fail_if(strcmp(eolian_type_name_get(type), "int"));
|
||||
fail_if(strcmp(eolian_type_short_name_get(type), "int"));
|
||||
|
||||
/* Complex type */
|
||||
fail_if(!(tdl = eolian_unit_alias_by_name_get(unit, "List_Objects")));
|
||||
fail_if(!(type_name = eolian_typedecl_name_get(tdl)));
|
||||
fail_if(!(type_name = eolian_typedecl_short_name_get(tdl)));
|
||||
fail_if(strcmp(type_name, "List_Objects"));
|
||||
fail_if(!(type = eolian_typedecl_base_type_get(tdl)));
|
||||
fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_DEFAULT)));
|
||||
|
@ -386,10 +386,10 @@ START_TEST(eolian_typedef)
|
|||
/* List */
|
||||
fail_if(!(iter = eolian_state_aliases_by_file_get(eos, "typedef.eo")));
|
||||
fail_if(!eina_iterator_next(iter, (void**)&tdl));
|
||||
fail_if(!(type_name = eolian_typedecl_name_get(tdl)));
|
||||
fail_if(!(type_name = eolian_typedecl_short_name_get(tdl)));
|
||||
fail_if(strcmp(type_name, "Coord"));
|
||||
fail_if(!eina_iterator_next(iter, (void**)&tdl));
|
||||
fail_if(!(type_name = eolian_typedecl_name_get(tdl)));
|
||||
fail_if(!(type_name = eolian_typedecl_short_name_get(tdl)));
|
||||
fail_if(strcmp(type_name, "List_Objects"));
|
||||
/* coord2 and coord3, skip */
|
||||
fail_if(!eina_iterator_next(iter, (void**)&tdl));
|
||||
|
@ -584,7 +584,7 @@ START_TEST(eolian_simple_parsing)
|
|||
fail_if(!tp);
|
||||
printf("BUILT %d\n", (int)eolian_type_builtin_type_get(tp));
|
||||
fail_if(eolian_type_builtin_type_get(tp) != EOLIAN_TYPE_BUILTIN_BOOL);
|
||||
fail_if(strcmp(eolian_type_name_get(tp), "bool"));
|
||||
fail_if(strcmp(eolian_type_short_name_get(tp), "bool"));
|
||||
expr = eolian_function_return_default_value_get(fid, EOLIAN_PROP_SET);
|
||||
fail_if(!expr);
|
||||
v = eolian_expression_eval(expr, EOLIAN_MASK_BOOL);
|
||||
|
@ -599,7 +599,7 @@ START_TEST(eolian_simple_parsing)
|
|||
fail_if(!(eina_iterator_next(iter, (void**)¶m)));
|
||||
fail_if(eina_iterator_next(iter, &dummy));
|
||||
eina_iterator_free(iter);
|
||||
fail_if(strcmp(eolian_type_name_get(eolian_parameter_type_get(param)), "int"));
|
||||
fail_if(strcmp(eolian_type_short_name_get(eolian_parameter_type_get(param)), "int"));
|
||||
fail_if(strcmp(eolian_parameter_name_get(param), "value"));
|
||||
expr = eolian_parameter_default_value_get(param);
|
||||
fail_if(!expr);
|
||||
|
@ -635,17 +635,17 @@ START_TEST(eolian_simple_parsing)
|
|||
fail_if(!(iter = eolian_function_parameters_get(fid)));
|
||||
fail_if(!(eina_iterator_next(iter, (void**)¶m)));
|
||||
fail_if(eolian_parameter_direction_get(param) != EOLIAN_IN_PARAM);
|
||||
fail_if(strcmp(eolian_type_name_get(eolian_parameter_type_get(param)), "int"));
|
||||
fail_if(strcmp(eolian_type_short_name_get(eolian_parameter_type_get(param)), "int"));
|
||||
fail_if(strcmp(eolian_parameter_name_get(param), "a"));
|
||||
fail_if(!(eina_iterator_next(iter, (void**)¶m)));
|
||||
fail_if(eolian_parameter_direction_get(param) != EOLIAN_INOUT_PARAM);
|
||||
ptype = eolian_type_name_get(eolian_parameter_type_get(param));
|
||||
ptype = eolian_type_short_name_get(eolian_parameter_type_get(param));
|
||||
fail_if(strcmp(ptype, "char"));
|
||||
fail_if(strcmp(eolian_parameter_name_get(param), "b"));
|
||||
fail_if(!(eina_iterator_next(iter, (void**)¶m)));
|
||||
fail_if(eolian_parameter_direction_get(param) != EOLIAN_OUT_PARAM);
|
||||
fail_if(eolian_type_builtin_type_get(eolian_parameter_type_get(param)) != EOLIAN_TYPE_BUILTIN_DOUBLE);
|
||||
fail_if(strcmp(eolian_type_name_get(eolian_parameter_type_get(param)), "double"));
|
||||
fail_if(strcmp(eolian_type_short_name_get(eolian_parameter_type_get(param)), "double"));
|
||||
fail_if(strcmp(eolian_parameter_name_get(param), "c"));
|
||||
expr = eolian_parameter_default_value_get(param);
|
||||
fail_if(!expr);
|
||||
|
@ -654,7 +654,7 @@ START_TEST(eolian_simple_parsing)
|
|||
fail_if(v.value.d != 1337.6);
|
||||
fail_if(!(eina_iterator_next(iter, (void**)¶m)));
|
||||
fail_if(eolian_parameter_direction_get(param) != EOLIAN_IN_PARAM);
|
||||
fail_if(strcmp(eolian_type_name_get(eolian_parameter_type_get(param)), "int"));
|
||||
fail_if(strcmp(eolian_type_short_name_get(eolian_parameter_type_get(param)), "int"));
|
||||
fail_if(!eolian_type_is_ptr(eolian_parameter_type_get(param)));
|
||||
fail_if(strcmp(eolian_parameter_name_get(param), "d"));
|
||||
fail_if(eina_iterator_next(iter, &dummy));
|
||||
|
@ -695,7 +695,7 @@ START_TEST(eolian_struct)
|
|||
|
||||
/* named struct */
|
||||
fail_if(!(tdl = eolian_unit_struct_by_name_get(unit, "Named")));
|
||||
fail_if(!(type_name = eolian_typedecl_name_get(tdl)));
|
||||
fail_if(!(type_name = eolian_typedecl_short_name_get(tdl)));
|
||||
fail_if(!(file = eolian_object_file_get((const Eolian_Object *)tdl)));
|
||||
fail_if(eolian_typedecl_type_get(tdl) != EOLIAN_TYPEDECL_STRUCT);
|
||||
fail_if(strcmp(type_name, "Named"));
|
||||
|
@ -703,7 +703,7 @@ START_TEST(eolian_struct)
|
|||
fail_if(!(field = eolian_typedecl_struct_field_get(tdl, "field")));
|
||||
fail_if(!(ftype = eolian_typedecl_struct_field_type_get(field)));
|
||||
fail_if(!eolian_type_is_ptr(ftype));
|
||||
fail_if(!(type_name = eolian_type_name_get(ftype)));
|
||||
fail_if(!(type_name = eolian_type_short_name_get(ftype)));
|
||||
fail_if(strcmp(type_name, "int"));
|
||||
fail_if(!(field = eolian_typedecl_struct_field_get(tdl, "something")));
|
||||
fail_if(!(ftype = eolian_typedecl_struct_field_type_get(field)));
|
||||
|
@ -714,14 +714,14 @@ START_TEST(eolian_struct)
|
|||
|
||||
/* referencing */
|
||||
fail_if(!(tdl = eolian_unit_struct_by_name_get(unit, "Another")));
|
||||
fail_if(!(type_name = eolian_typedecl_name_get(tdl)));
|
||||
fail_if(!(type_name = eolian_typedecl_short_name_get(tdl)));
|
||||
fail_if(!(file = eolian_object_file_get((const Eolian_Object *)tdl)));
|
||||
fail_if(eolian_typedecl_type_get(tdl) != EOLIAN_TYPEDECL_STRUCT);
|
||||
fail_if(strcmp(type_name, "Another"));
|
||||
fail_if(strcmp(file, "struct.eo"));
|
||||
fail_if(!(field = eolian_typedecl_struct_field_get(tdl, "field")));
|
||||
fail_if(!(ftype = eolian_typedecl_struct_field_type_get(field)));
|
||||
fail_if(!(type_name = eolian_type_name_get(ftype)));
|
||||
fail_if(!(type_name = eolian_type_short_name_get(ftype)));
|
||||
fail_if(strcmp(type_name, "Named"));
|
||||
fail_if(eolian_type_type_get(ftype) != EOLIAN_TYPE_REGULAR);
|
||||
fail_if(eolian_typedecl_type_get(eolian_type_typedecl_get(ftype))
|
||||
|
@ -808,7 +808,7 @@ START_TEST(eolian_var)
|
|||
fail_if(eolian_variable_type_get(var) != EOLIAN_VAR_CONSTANT);
|
||||
fail_if(eolian_variable_is_extern(var));
|
||||
fail_if(!(type = eolian_variable_base_type_get(var)));
|
||||
fail_if(!(name = eolian_type_name_get(type)));
|
||||
fail_if(!(name = eolian_type_short_name_get(type)));
|
||||
fail_if(strcmp(name, "int"));
|
||||
fail_if(!(exp = eolian_variable_value_get(var)));
|
||||
v = eolian_expression_eval_type(exp, type);
|
||||
|
@ -820,7 +820,7 @@ START_TEST(eolian_var)
|
|||
fail_if(eolian_variable_type_get(var) != EOLIAN_VAR_GLOBAL);
|
||||
fail_if(eolian_variable_is_extern(var));
|
||||
fail_if(!(type = eolian_variable_base_type_get(var)));
|
||||
fail_if(!(name = eolian_type_name_get(type)));
|
||||
fail_if(!(name = eolian_type_short_name_get(type)));
|
||||
fail_if(strcmp(name, "float"));
|
||||
fail_if(!(exp = eolian_variable_value_get(var)));
|
||||
v = eolian_expression_eval_type(exp, type);
|
||||
|
@ -832,7 +832,7 @@ START_TEST(eolian_var)
|
|||
fail_if(eolian_variable_type_get(var) != EOLIAN_VAR_GLOBAL);
|
||||
fail_if(eolian_variable_is_extern(var));
|
||||
fail_if(!(type = eolian_variable_base_type_get(var)));
|
||||
fail_if(!(name = eolian_type_name_get(type)));
|
||||
fail_if(!(name = eolian_type_short_name_get(type)));
|
||||
fail_if(strcmp(name, "long"));
|
||||
fail_if(eolian_variable_value_get(var));
|
||||
|
||||
|
@ -841,7 +841,7 @@ START_TEST(eolian_var)
|
|||
fail_if(eolian_variable_type_get(var) != EOLIAN_VAR_GLOBAL);
|
||||
fail_if(!eolian_variable_is_extern(var));
|
||||
fail_if(!(type = eolian_variable_base_type_get(var)));
|
||||
fail_if(!(name = eolian_type_name_get(type)));
|
||||
fail_if(!(name = eolian_type_short_name_get(type)));
|
||||
fail_if(strcmp(name, "double"));
|
||||
fail_if(eolian_variable_value_get(var));
|
||||
|
||||
|
@ -935,7 +935,7 @@ START_TEST(eolian_enum)
|
|||
fail_if(eolian_variable_type_get(var) != EOLIAN_VAR_CONSTANT);
|
||||
fail_if(eolian_variable_is_extern(var));
|
||||
fail_if(!(type = eolian_variable_base_type_get(var)));
|
||||
fail_if(!(name = eolian_type_name_get(type)));
|
||||
fail_if(!(name = eolian_type_short_name_get(type)));
|
||||
fail_if(strcmp(name, "Baz"));
|
||||
fail_if(!(exp = eolian_variable_value_get(var)));
|
||||
v = eolian_expression_eval(exp, EOLIAN_MASK_ALL);
|
||||
|
@ -1142,27 +1142,27 @@ START_TEST(eolian_decl)
|
|||
fail_if(strcmp(eolian_object_name_get(decl), "A"));
|
||||
tdl = (const Eolian_Typedecl *)decl;
|
||||
fail_if(eolian_typedecl_type_get(tdl) != EOLIAN_TYPEDECL_STRUCT);
|
||||
fail_if(strcmp(eolian_typedecl_name_get(tdl), "A"));
|
||||
fail_if(strcmp(eolian_typedecl_short_name_get(tdl), "A"));
|
||||
|
||||
fail_if(!eina_iterator_next(itr, (void**)&decl));
|
||||
fail_if(eolian_object_type_get(decl) != EOLIAN_OBJECT_TYPEDECL);
|
||||
fail_if(strcmp(eolian_object_name_get(decl), "B"));
|
||||
tdl = (const Eolian_Typedecl *)decl;
|
||||
fail_if(eolian_typedecl_type_get(tdl) != EOLIAN_TYPEDECL_ENUM);
|
||||
fail_if(strcmp(eolian_typedecl_name_get(tdl), "B"));
|
||||
fail_if(strcmp(eolian_typedecl_short_name_get(tdl), "B"));
|
||||
|
||||
fail_if(!eina_iterator_next(itr, (void**)&decl));
|
||||
fail_if(eolian_object_type_get(decl) != EOLIAN_OBJECT_TYPEDECL);
|
||||
fail_if(strcmp(eolian_object_name_get(decl), "C"));
|
||||
tdl = (const Eolian_Typedecl *)decl;
|
||||
fail_if(eolian_typedecl_type_get(tdl) != EOLIAN_TYPEDECL_ALIAS);
|
||||
fail_if(strcmp(eolian_typedecl_name_get(tdl), "C"));
|
||||
fail_if(strcmp(eolian_typedecl_short_name_get(tdl), "C"));
|
||||
|
||||
fail_if(!eina_iterator_next(itr, (void**)&decl));
|
||||
fail_if(eolian_object_type_get(decl) != EOLIAN_OBJECT_VARIABLE);
|
||||
fail_if(strcmp(eolian_object_name_get(decl), "pants"));
|
||||
var = (const Eolian_Variable *)decl;
|
||||
fail_if(strcmp(eolian_variable_name_get(var), "pants"));
|
||||
fail_if(strcmp(eolian_variable_short_name_get(var), "pants"));
|
||||
|
||||
fail_if(!eina_iterator_next(itr, (void**)&decl));
|
||||
fail_if(eolian_object_type_get(decl) != EOLIAN_OBJECT_CLASS);
|
||||
|
@ -1532,7 +1532,7 @@ START_TEST(eolian_function_types)
|
|||
fail_if(!(type = eolian_parameter_type_get(param)));
|
||||
fail_if(eolian_parameter_direction_get(param) != EOLIAN_IN_PARAM);
|
||||
fail_if(eolian_type_is_owned(type));
|
||||
fail_if(!(type_name = eolian_type_name_get(type)));
|
||||
fail_if(!(type_name = eolian_type_short_name_get(type)));
|
||||
fail_if(strcmp(type_name, "VoidFunc"));
|
||||
fail_if(!(arg_decl = eolian_type_typedecl_get(type)));
|
||||
fail_if(eolian_typedecl_type_get(arg_decl) != EOLIAN_TYPEDECL_FUNCTION_POINTER);
|
||||
|
@ -1543,7 +1543,7 @@ START_TEST(eolian_function_types)
|
|||
fail_if(!(type = eolian_parameter_type_get(param)));
|
||||
fail_if(eolian_type_is_owned(type));
|
||||
fail_if(eolian_type_type_get(type) != EOLIAN_TYPE_REGULAR);
|
||||
fail_if(!(type_name = eolian_type_name_get(type)));
|
||||
fail_if(!(type_name = eolian_type_short_name_get(type)));
|
||||
fail_if(strcmp(type_name, "SimpleFunc"));
|
||||
fail_if(!(arg_decl = eolian_type_typedecl_get(type)));
|
||||
fail_if(eolian_typedecl_type_get(arg_decl) != EOLIAN_TYPEDECL_FUNCTION_POINTER);
|
||||
|
@ -1585,7 +1585,7 @@ START_TEST(eolian_function_as_arguments)
|
|||
fail_if(!(type = eolian_parameter_type_get(param)));
|
||||
fail_if(eolian_parameter_direction_get(param) != EOLIAN_IN_PARAM);
|
||||
fail_if(eolian_type_is_owned(type));
|
||||
fail_if(!(type_name = eolian_type_name_get(type)));
|
||||
fail_if(!(type_name = eolian_type_short_name_get(type)));
|
||||
fail_if(strcmp(type_name, "SimpleFunc"));
|
||||
fail_if(!(arg_decl = eolian_type_typedecl_get(type)));
|
||||
fail_if(eolian_typedecl_type_get(arg_decl) != EOLIAN_TYPEDECL_FUNCTION_POINTER);
|
||||
|
|
Loading…
Reference in New Issue