eolian: make by-file variable lookups take unit

This commit is contained in:
Daniel Kolesa 2017-05-18 16:33:31 +02:00
parent 653cf6bac3
commit cee3b604a3
3 changed files with 14 additions and 10 deletions

View File

@ -369,8 +369,8 @@ ffi.cdef [[
Eolian_Value_t eolian_expression_value_get(const Eolian_Expression *expr); Eolian_Value_t eolian_expression_value_get(const Eolian_Expression *expr);
const Eolian_Variable *eolian_variable_global_get_by_name(const Eolian_Unit *unit, const char *name); const Eolian_Variable *eolian_variable_global_get_by_name(const Eolian_Unit *unit, const char *name);
const Eolian_Variable *eolian_variable_constant_get_by_name(const Eolian_Unit *unit, const char *name); const Eolian_Variable *eolian_variable_constant_get_by_name(const Eolian_Unit *unit, const char *name);
Eina_Iterator *eolian_variable_globals_get_by_file(const char *fname); Eina_Iterator *eolian_variable_globals_get_by_file(const Eolian_Unit *unit, const char *fname);
Eina_Iterator *eolian_variable_constants_get_by_file(const char *fname); Eina_Iterator *eolian_variable_constants_get_by_file(const Eolian_Unit *unit, const char *fname);
Eina_Iterator *eolian_variable_all_constants_get(void); Eina_Iterator *eolian_variable_all_constants_get(void);
Eina_Iterator *eolian_variable_all_globals_get(void); Eina_Iterator *eolian_variable_all_globals_get(void);
Eolian_Variable_Type eolian_variable_type_get(const Eolian_Variable *var); Eolian_Variable_Type eolian_variable_type_get(const Eolian_Variable *var);
@ -1374,14 +1374,14 @@ M.variable_constant_get_by_name = function(unit, name)
return v return v
end end
M.variable_globals_get_by_file = function(fname) M.variable_globals_get_by_file = function(unit, fname)
return Ptr_Iterator("const Eolian_Variable*", return Ptr_Iterator("const Eolian_Variable*",
eolian.eolian_variable_globals_get_by_file(fname)) eolian.eolian_variable_globals_get_by_file(unit, fname))
end end
M.variable_constants_get_by_file = function(fname) M.variable_constants_get_by_file = function(unit, fname)
return Ptr_Iterator("const Eolian_Variable*", return Ptr_Iterator("const Eolian_Variable*",
eolian.eolian_variable_constants_get_by_file(fname)) eolian.eolian_variable_constants_get_by_file(unit, fname))
end end
M.variable_all_constants_get = function() M.variable_all_constants_get = function()

View File

@ -2077,6 +2077,7 @@ EAPI const Eolian_Variable *eolian_variable_constant_get_by_name(const Eolian_Un
/* /*
* @brief Get an iterator to all global variables contained in a file. * @brief Get an iterator to all global variables contained in a file.
* *
* @param[in] unit the unit to look in
* @param[in] fname the file name without full path * @param[in] fname the file name without full path
* @return the iterator or NULL * @return the iterator or NULL
* *
@ -2084,11 +2085,12 @@ EAPI const Eolian_Variable *eolian_variable_constant_get_by_name(const Eolian_Un
* *
* @ingroup Eolian * @ingroup Eolian
*/ */
EAPI Eina_Iterator *eolian_variable_globals_get_by_file(const char *fname); EAPI Eina_Iterator *eolian_variable_globals_get_by_file(const Eolian_Unit *unit, const char *fname);
/* /*
* @brief Get an iterator to all constant variables contained in a file. * @brief Get an iterator to all constant variables contained in a file.
* *
* @param[in] unit the unit to look in
* @param[in] fname the file name without full path * @param[in] fname the file name without full path
* @return the iterator or NULL * @return the iterator or NULL
* *
@ -2096,7 +2098,7 @@ EAPI Eina_Iterator *eolian_variable_globals_get_by_file(const char *fname);
* *
* @ingroup Eolian * @ingroup Eolian
*/ */
EAPI Eina_Iterator *eolian_variable_constants_get_by_file(const char *fname); EAPI Eina_Iterator *eolian_variable_constants_get_by_file(const Eolian_Unit *unit, const char *fname);
/* /*
* @brief Get an iterator to all constant variables in the Eolian database. * @brief Get an iterator to all constant variables in the Eolian database.

View File

@ -28,7 +28,8 @@ eolian_variable_constant_get_by_name(const Eolian_Unit *unit EINA_UNUSED,
} }
EAPI Eina_Iterator * EAPI Eina_Iterator *
eolian_variable_globals_get_by_file(const char *fname) eolian_variable_globals_get_by_file(const Eolian_Unit *unit EINA_UNUSED,
const char *fname)
{ {
if (!_globalsf) return NULL; if (!_globalsf) return NULL;
Eina_Stringshare *shr = eina_stringshare_add(fname); Eina_Stringshare *shr = eina_stringshare_add(fname);
@ -39,7 +40,8 @@ eolian_variable_globals_get_by_file(const char *fname)
} }
EAPI Eina_Iterator * EAPI Eina_Iterator *
eolian_variable_constants_get_by_file(const char *fname) eolian_variable_constants_get_by_file(const Eolian_Unit *unit EINA_UNUSED,
const char *fname)
{ {
if (!_constantsf) return NULL; if (!_constantsf) return NULL;
Eina_Stringshare *shr = eina_stringshare_add(fname); Eina_Stringshare *shr = eina_stringshare_add(fname);