forked from enlightenment/efl
eolian: event/function_get_by_name -> by_name_get
This commit is contained in:
parent
47ac8689f1
commit
bf1e3a702f
|
@ -90,7 +90,7 @@ _generate_ref(const Eolian_Unit *src, const char *refn, Eina_Strbuf *wbuf,
|
||||||
if (cl)
|
if (cl)
|
||||||
{
|
{
|
||||||
char *meth = strndup(mname + 1, sfx - mname - 1);
|
char *meth = strndup(mname + 1, sfx - mname - 1);
|
||||||
fn = eolian_class_function_get_by_name(cl, meth, ftype);
|
fn = eolian_class_function_by_name_get(cl, meth, ftype);
|
||||||
if (ftype == EOLIAN_UNRESOLVED)
|
if (ftype == EOLIAN_UNRESOLVED)
|
||||||
ftype = eolian_function_type_get(fn);
|
ftype = eolian_function_type_get(fn);
|
||||||
free(meth);
|
free(meth);
|
||||||
|
@ -98,7 +98,7 @@ _generate_ref(const Eolian_Unit *src, const char *refn, Eina_Strbuf *wbuf,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fn = eolian_class_function_get_by_name(cl, sfx + 1, ftype);
|
fn = eolian_class_function_by_name_get(cl, sfx + 1, ftype);
|
||||||
ftype = eolian_function_type_get(fn);
|
ftype = eolian_function_type_get(fn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -338,7 +338,7 @@ ffi.cdef [[
|
||||||
Eolian_Function_Type eolian_function_type_get(const Eolian_Function *function_id);
|
Eolian_Function_Type eolian_function_type_get(const Eolian_Function *function_id);
|
||||||
Eolian_Object_Scope eolian_function_scope_get(const Eolian_Function *function_id, Eolian_Function_Type ftype);
|
Eolian_Object_Scope eolian_function_scope_get(const Eolian_Function *function_id, Eolian_Function_Type ftype);
|
||||||
const char *eolian_function_full_c_name_get(const Eolian_Function *function_id, Eolian_Function_Type ftype, Eina_Bool use_legacy);
|
const char *eolian_function_full_c_name_get(const Eolian_Function *function_id, Eolian_Function_Type ftype, Eina_Bool use_legacy);
|
||||||
const Eolian_Function *eolian_class_function_get_by_name(const Eolian_Class *klass, const char *func_name, Eolian_Function_Type f_type);
|
const Eolian_Function *eolian_class_function_by_name_get(const Eolian_Class *klass, const char *func_name, Eolian_Function_Type f_type);
|
||||||
const char *eolian_function_legacy_get(const Eolian_Function *function_id, Eolian_Function_Type f_type);
|
const char *eolian_function_legacy_get(const Eolian_Function *function_id, Eolian_Function_Type f_type);
|
||||||
const Eolian_Implement *eolian_function_implement_get(const Eolian_Function *function_id);
|
const Eolian_Implement *eolian_function_implement_get(const Eolian_Function *function_id);
|
||||||
Eina_Bool eolian_function_is_legacy_only(const Eolian_Function *function_id, Eolian_Function_Type ftype);
|
Eina_Bool eolian_function_is_legacy_only(const Eolian_Function *function_id, Eolian_Function_Type ftype);
|
||||||
|
@ -1325,8 +1325,8 @@ M.Class = ffi.metatype("Eolian_Class", {
|
||||||
eolian.eolian_class_functions_get(self, func_type))
|
eolian.eolian_class_functions_get(self, func_type))
|
||||||
end,
|
end,
|
||||||
|
|
||||||
function_get_by_name = function(self, fname, ftype)
|
function_by_name_get = function(self, fname, ftype)
|
||||||
local v = eolian.eolian_class_function_get_by_name(self, fname,
|
local v = eolian.eolian_class_function_by_name_get(self, fname,
|
||||||
ftype)
|
ftype)
|
||||||
if v == nil then return nil end
|
if v == nil then return nil end
|
||||||
return v
|
return v
|
||||||
|
|
|
@ -1406,7 +1406,7 @@ EAPI Eina_Stringshare *eolian_function_full_c_name_get(const Eolian_Function *fu
|
||||||
*
|
*
|
||||||
* @ingroup Eolian
|
* @ingroup Eolian
|
||||||
*/
|
*/
|
||||||
EAPI const Eolian_Function *eolian_class_function_get_by_name(const Eolian_Class *klass, const char *func_name, Eolian_Function_Type f_type);
|
EAPI const Eolian_Function *eolian_class_function_by_name_get(const Eolian_Class *klass, const char *func_name, Eolian_Function_Type f_type);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @brief Returns a legacy name for a function.
|
* @brief Returns a legacy name for a function.
|
||||||
|
@ -2015,7 +2015,7 @@ EAPI const Eolian_Documentation *eolian_part_documentation_get(const Eolian_Part
|
||||||
*
|
*
|
||||||
* @ingroup Eolian
|
* @ingroup Eolian
|
||||||
*/
|
*/
|
||||||
EAPI const Eolian_Event *eolian_class_event_get_by_name(const Eolian_Class *klass, const char *event_name);
|
EAPI const Eolian_Event *eolian_class_event_by_name_get(const Eolian_Class *klass, const char *event_name);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @brief Indicates if the class constructor has to invoke
|
* @brief Indicates if the class constructor has to invoke
|
||||||
|
|
|
@ -70,7 +70,7 @@ eolian_class_constructors_get(const Eolian_Class *cl)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI const Eolian_Function *
|
EAPI const Eolian_Function *
|
||||||
eolian_class_function_get_by_name(const Eolian_Class *cl, const char *func_name, Eolian_Function_Type f_type)
|
eolian_class_function_by_name_get(const Eolian_Class *cl, const char *func_name, Eolian_Function_Type f_type)
|
||||||
{
|
{
|
||||||
Eina_List *itr;
|
Eina_List *itr;
|
||||||
Eolian_Function *fid;
|
Eolian_Function *fid;
|
||||||
|
|
|
@ -19,7 +19,7 @@ eolian_constructor_function_get(const Eolian_Constructor *ctor)
|
||||||
const Eolian_Class *klass = eolian_constructor_class_get(ctor);
|
const Eolian_Class *klass = eolian_constructor_class_get(ctor);
|
||||||
if (!klass)
|
if (!klass)
|
||||||
return NULL;
|
return NULL;
|
||||||
return eolian_class_function_get_by_name(klass,
|
return eolian_class_function_by_name_get(klass,
|
||||||
ctor->base.name + strlen(klass->base.name) + 1, EOLIAN_UNRESOLVED);
|
ctor->base.name + strlen(klass->base.name) + 1, EOLIAN_UNRESOLVED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ eolian_event_c_name_get(const Eolian_Event *event)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI const Eolian_Event *
|
EAPI const Eolian_Event *
|
||||||
eolian_class_event_get_by_name(const Eolian_Class *klass, const char *event_name)
|
eolian_class_event_by_name_get(const Eolian_Class *klass, const char *event_name)
|
||||||
{
|
{
|
||||||
Eina_List *itr;
|
Eina_List *itr;
|
||||||
Eolian_Event *event = NULL;
|
Eolian_Event *event = NULL;
|
||||||
|
|
|
@ -503,7 +503,7 @@ _db_fill_implement(Eolian_Class *cl, Eolian_Implement *impl)
|
||||||
|
|
||||||
impl->klass = tcl;
|
impl->klass = tcl;
|
||||||
|
|
||||||
const Eolian_Function *fid = eolian_class_function_get_by_name(tcl, fnname, EOLIAN_UNRESOLVED);
|
const Eolian_Function *fid = eolian_class_function_by_name_get(tcl, fnname, EOLIAN_UNRESOLVED);
|
||||||
if (!fid)
|
if (!fid)
|
||||||
{
|
{
|
||||||
_eo_parser_log(&impl->base, "function '%s' not known in class '%s'", fnname, clname);
|
_eo_parser_log(&impl->base, "function '%s' not known in class '%s'", fnname, clname);
|
||||||
|
|
|
@ -400,7 +400,7 @@ _resolve_event(const Eolian_Unit *src, char *name, const Eolian_Object **data,
|
||||||
if (!cl)
|
if (!cl)
|
||||||
return EOLIAN_OBJECT_UNKNOWN;
|
return EOLIAN_OBJECT_UNKNOWN;
|
||||||
|
|
||||||
const Eolian_Event *ev = eolian_class_event_get_by_name(cl, evname);
|
const Eolian_Event *ev = eolian_class_event_by_name_get(cl, evname);
|
||||||
if (!ev)
|
if (!ev)
|
||||||
return EOLIAN_OBJECT_UNKNOWN;
|
return EOLIAN_OBJECT_UNKNOWN;
|
||||||
|
|
||||||
|
@ -508,7 +508,7 @@ eolian_doc_token_ref_resolve(const Eolian_Doc_Token *tok, const Eolian_Unit *uni
|
||||||
if (!cl)
|
if (!cl)
|
||||||
return EOLIAN_OBJECT_UNKNOWN;
|
return EOLIAN_OBJECT_UNKNOWN;
|
||||||
|
|
||||||
const Eolian_Function *fid = eolian_class_function_get_by_name(cl, suffix, ftype);
|
const Eolian_Function *fid = eolian_class_function_by_name_get(cl, suffix, ftype);
|
||||||
if (!fid)
|
if (!fid)
|
||||||
return EOLIAN_OBJECT_UNKNOWN;
|
return EOLIAN_OBJECT_UNKNOWN;
|
||||||
|
|
||||||
|
|
|
@ -253,12 +253,12 @@ M.Class = Node:clone {
|
||||||
return ret
|
return ret
|
||||||
end,
|
end,
|
||||||
|
|
||||||
function_get_by_name = function(self, fn, ft)
|
function_by_name_get = function(self, fn, ft)
|
||||||
local fun = self._cache_func
|
local fun = self._cache_func
|
||||||
if fun then
|
if fun then
|
||||||
return fun
|
return fun
|
||||||
end
|
end
|
||||||
fun = M.Function(self._obj:function_get_by_name(fn, ft))
|
fun = M.Function(self._obj:function_by_name_get(fn, ft))
|
||||||
self._cache_func = fun
|
self._cache_func = fun
|
||||||
return fun
|
return fun
|
||||||
end,
|
end,
|
||||||
|
|
|
@ -659,8 +659,8 @@ class Class(Object):
|
||||||
def events(self):
|
def events(self):
|
||||||
return Iterator(Event, lib.eolian_class_events_get(self._obj))
|
return Iterator(Event, lib.eolian_class_events_get(self._obj))
|
||||||
|
|
||||||
def event_get_by_name(self, event_name):
|
def event_by_name_get(self, event_name):
|
||||||
c_event = lib.eolian_class_event_get_by_name(self._obj,
|
c_event = lib.eolian_class_event_by_name_get(self._obj,
|
||||||
_str_to_bytes(event_name))
|
_str_to_bytes(event_name))
|
||||||
return Event(c_event) if c_event else None
|
return Event(c_event) if c_event else None
|
||||||
|
|
||||||
|
@ -703,9 +703,9 @@ class Class(Object):
|
||||||
def dtor_enable(self):
|
def dtor_enable(self):
|
||||||
return bool(lib.eolian_class_dtor_enable_get(self._obj))
|
return bool(lib.eolian_class_dtor_enable_get(self._obj))
|
||||||
|
|
||||||
def function_get_by_name(self, func_name,
|
def function_by_name_get(self, func_name,
|
||||||
ftype=Eolian_Function_Type.UNRESOLVED):
|
ftype=Eolian_Function_Type.UNRESOLVED):
|
||||||
f = lib.eolian_class_function_get_by_name(self._obj,
|
f = lib.eolian_class_function_by_name_get(self._obj,
|
||||||
_str_to_bytes(func_name),
|
_str_to_bytes(func_name),
|
||||||
ftype)
|
ftype)
|
||||||
return Function(f) if f else None
|
return Function(f) if f else None
|
||||||
|
|
|
@ -251,9 +251,9 @@ lib.eolian_class_inherits_get.restype = c_void_p
|
||||||
lib.eolian_class_functions_get.argtypes = [c_void_p, c_int]
|
lib.eolian_class_functions_get.argtypes = [c_void_p, c_int]
|
||||||
lib.eolian_class_functions_get.restype = c_void_p
|
lib.eolian_class_functions_get.restype = c_void_p
|
||||||
|
|
||||||
# EAPI const Eolian_Function *eolian_class_function_get_by_name(const Eolian_Class *klass, const char *func_name, Eolian_Function_Type f_type);
|
# EAPI const Eolian_Function *eolian_class_function_by_name_get(const Eolian_Class *klass, const char *func_name, Eolian_Function_Type f_type);
|
||||||
lib.eolian_class_function_get_by_name.argtypes = [c_void_p, c_char_p, c_int]
|
lib.eolian_class_function_by_name_get.argtypes = [c_void_p, c_char_p, c_int]
|
||||||
lib.eolian_class_function_get_by_name.restype = c_void_p
|
lib.eolian_class_function_by_name_get.restype = c_void_p
|
||||||
|
|
||||||
# EAPI Eina_Iterator *eolian_class_implements_get(const Eolian_Class *klass);
|
# EAPI Eina_Iterator *eolian_class_implements_get(const Eolian_Class *klass);
|
||||||
lib.eolian_class_implements_get.argtypes = [c_void_p,]
|
lib.eolian_class_implements_get.argtypes = [c_void_p,]
|
||||||
|
@ -271,9 +271,9 @@ lib.eolian_class_events_get.restype = c_void_p
|
||||||
lib.eolian_class_parts_get.argtypes = [c_void_p,]
|
lib.eolian_class_parts_get.argtypes = [c_void_p,]
|
||||||
lib.eolian_class_parts_get.restype = c_void_p
|
lib.eolian_class_parts_get.restype = c_void_p
|
||||||
|
|
||||||
# EAPI const Eolian_Event *eolian_class_event_get_by_name(const Eolian_Class *klass, const char *event_name);
|
# EAPI const Eolian_Event *eolian_class_event_by_name_get(const Eolian_Class *klass, const char *event_name);
|
||||||
lib.eolian_class_event_get_by_name.argtypes = [c_void_p, c_char_p]
|
lib.eolian_class_event_by_name_get.argtypes = [c_void_p, c_char_p]
|
||||||
lib.eolian_class_event_get_by_name.restype = c_void_p
|
lib.eolian_class_event_by_name_get.restype = c_void_p
|
||||||
|
|
||||||
# EAPI Eina_Bool eolian_class_ctor_enable_get(const Eolian_Class *klass);
|
# EAPI Eina_Bool eolian_class_ctor_enable_get(const Eolian_Class *klass);
|
||||||
lib.eolian_class_ctor_enable_get.argtypes = [c_void_p,]
|
lib.eolian_class_ctor_enable_get.argtypes = [c_void_p,]
|
||||||
|
|
|
@ -326,7 +326,7 @@ class TestEolianClass(unittest.TestCase):
|
||||||
class TestEolianFunction(unittest.TestCase):
|
class TestEolianFunction(unittest.TestCase):
|
||||||
def test_function(self):
|
def test_function(self):
|
||||||
cls = eolian_db.class_by_name_get('Efl.Loop.Timer')
|
cls = eolian_db.class_by_name_get('Efl.Loop.Timer')
|
||||||
f = cls.function_get_by_name('delay')
|
f = cls.function_by_name_get('delay')
|
||||||
self.assertIsInstance(f, eolian.Function)
|
self.assertIsInstance(f, eolian.Function)
|
||||||
self.assertEqual(f.name, 'delay')
|
self.assertEqual(f.name, 'delay')
|
||||||
self.assertEqual(f.type, eolian.Eolian_Function_Type.METHOD)
|
self.assertEqual(f.type, eolian.Eolian_Function_Type.METHOD)
|
||||||
|
@ -357,7 +357,7 @@ class TestEolianFunction(unittest.TestCase):
|
||||||
|
|
||||||
def test_function_parameter(self):
|
def test_function_parameter(self):
|
||||||
cls = eolian_db.class_by_name_get('Efl.Loop.Timer')
|
cls = eolian_db.class_by_name_get('Efl.Loop.Timer')
|
||||||
f = cls.function_get_by_name('delay')
|
f = cls.function_by_name_get('delay')
|
||||||
p = list(f.parameters)[0]
|
p = list(f.parameters)[0]
|
||||||
self.assertEqual(p.direction, eolian.Eolian_Parameter_Dir.IN)
|
self.assertEqual(p.direction, eolian.Eolian_Parameter_Dir.IN)
|
||||||
self.assertEqual(p.name, 'add')
|
self.assertEqual(p.name, 'add')
|
||||||
|
@ -372,7 +372,7 @@ class TestEolianFunction(unittest.TestCase):
|
||||||
class TestEolianImplement(unittest.TestCase):
|
class TestEolianImplement(unittest.TestCase):
|
||||||
def test_implement(self):
|
def test_implement(self):
|
||||||
cls = eolian_db.class_by_name_get('Efl.Loop.Timer')
|
cls = eolian_db.class_by_name_get('Efl.Loop.Timer')
|
||||||
f = cls.function_get_by_name('delay')
|
f = cls.function_by_name_get('delay')
|
||||||
im = f.implement
|
im = f.implement
|
||||||
self.assertIsInstance(im, eolian.Implement)
|
self.assertIsInstance(im, eolian.Implement)
|
||||||
self.assertEqual(im.full_name, 'Efl.Loop.Timer.delay')
|
self.assertEqual(im.full_name, 'Efl.Loop.Timer.delay')
|
||||||
|
@ -392,7 +392,7 @@ class TestEolianEvent(unittest.TestCase):
|
||||||
def test_event(self):
|
def test_event(self):
|
||||||
cls = eolian_db.class_by_name_get('Efl.Loop.Timer')
|
cls = eolian_db.class_by_name_get('Efl.Loop.Timer')
|
||||||
self.assertEqual([e.name for e in cls.events], ['tick'])
|
self.assertEqual([e.name for e in cls.events], ['tick'])
|
||||||
ev = cls.event_get_by_name('tick')
|
ev = cls.event_by_name_get('tick')
|
||||||
self.assertIsInstance(ev, eolian.Event)
|
self.assertIsInstance(ev, eolian.Event)
|
||||||
self.assertEqual(ev.name, 'tick')
|
self.assertEqual(ev.name, 'tick')
|
||||||
self.assertEqual(ev.c_name, 'EFL_LOOP_TIMER_EVENT_TICK')
|
self.assertEqual(ev.c_name, 'EFL_LOOP_TIMER_EVENT_TICK')
|
||||||
|
@ -535,7 +535,7 @@ class TestEolianTypedecl(unittest.TestCase):
|
||||||
class TestEolianType(unittest.TestCase):
|
class TestEolianType(unittest.TestCase):
|
||||||
def test_type_regular_builtin(self):
|
def test_type_regular_builtin(self):
|
||||||
cls = eolian_db.class_by_name_get('Efl.Loop.Timer')
|
cls = eolian_db.class_by_name_get('Efl.Loop.Timer')
|
||||||
func = cls.function_get_by_name('delay')
|
func = cls.function_by_name_get('delay')
|
||||||
param = list(func.parameters)[0]
|
param = list(func.parameters)[0]
|
||||||
t = param.type # type: double
|
t = param.type # type: double
|
||||||
self.assertIsInstance(t, eolian.Type)
|
self.assertIsInstance(t, eolian.Type)
|
||||||
|
@ -560,7 +560,7 @@ class TestEolianType(unittest.TestCase):
|
||||||
|
|
||||||
def test_type_regular(self):
|
def test_type_regular(self):
|
||||||
cls = eolian_db.class_by_name_get('Efl.Gfx')
|
cls = eolian_db.class_by_name_get('Efl.Gfx')
|
||||||
func = cls.function_get_by_name('geometry')
|
func = cls.function_by_name_get('geometry')
|
||||||
param = list(func.setter_values)[0]
|
param = list(func.setter_values)[0]
|
||||||
t = param.type # type: Eina.Rect
|
t = param.type # type: Eina.Rect
|
||||||
self.assertIsInstance(t, eolian.Type)
|
self.assertIsInstance(t, eolian.Type)
|
||||||
|
@ -584,7 +584,7 @@ class TestEolianType(unittest.TestCase):
|
||||||
|
|
||||||
def test_type_class(self):
|
def test_type_class(self):
|
||||||
cls = eolian_db.class_by_name_get('Efl.Content')
|
cls = eolian_db.class_by_name_get('Efl.Content')
|
||||||
func = cls.function_get_by_name('content')
|
func = cls.function_by_name_get('content')
|
||||||
param = list(func.setter_values)[0]
|
param = list(func.setter_values)[0]
|
||||||
t = param.type # type: Efl.Gfx (class interface)
|
t = param.type # type: Efl.Gfx (class interface)
|
||||||
self.assertIsInstance(t, eolian.Type)
|
self.assertIsInstance(t, eolian.Type)
|
||||||
|
|
|
@ -162,9 +162,9 @@ START_TEST(eolian_events)
|
||||||
|
|
||||||
fail_if(eina_iterator_next(iter, &dummy));
|
fail_if(eina_iterator_next(iter, &dummy));
|
||||||
eina_iterator_free(iter);
|
eina_iterator_free(iter);
|
||||||
/* Check eolian_class_event_get_by_name */
|
/* Check eolian_class_event_by_name_get */
|
||||||
fail_if(!eolian_class_event_get_by_name(class, "clicked,double"));
|
fail_if(!eolian_class_event_by_name_get(class, "clicked,double"));
|
||||||
fail_if(eolian_class_event_get_by_name(class, "clicked,triple"));
|
fail_if(eolian_class_event_by_name_get(class, "clicked,triple"));
|
||||||
|
|
||||||
eolian_state_free(eos);
|
eolian_state_free(eos);
|
||||||
eolian_shutdown();
|
eolian_shutdown();
|
||||||
|
@ -245,7 +245,7 @@ START_TEST(eolian_consts)
|
||||||
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Consts")));
|
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Consts")));
|
||||||
|
|
||||||
/* Method */
|
/* Method */
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "foo", EOLIAN_METHOD)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD)));
|
||||||
fail_if(EINA_FALSE == eolian_function_object_is_const(fid));
|
fail_if(EINA_FALSE == eolian_function_object_is_const(fid));
|
||||||
|
|
||||||
eolian_state_free(eos);
|
eolian_state_free(eos);
|
||||||
|
@ -297,7 +297,7 @@ START_TEST(eolian_ctor_dtor)
|
||||||
eina_iterator_free(iter);
|
eina_iterator_free(iter);
|
||||||
|
|
||||||
/* Custom ctors/dtors */
|
/* Custom ctors/dtors */
|
||||||
fail_if(!eolian_class_function_get_by_name(base, "destructor", EOLIAN_METHOD));
|
fail_if(!eolian_class_function_by_name_get(base, "destructor", EOLIAN_METHOD));
|
||||||
fail_if(!(iter = eolian_class_constructors_get(class)));
|
fail_if(!(iter = eolian_class_constructors_get(class)));
|
||||||
fail_if(!(eina_iterator_next(iter, (void**)&ctor)));
|
fail_if(!(eina_iterator_next(iter, (void**)&ctor)));
|
||||||
fail_if(eolian_constructor_is_optional(ctor));
|
fail_if(eolian_constructor_is_optional(ctor));
|
||||||
|
@ -341,7 +341,7 @@ START_TEST(eolian_typedef)
|
||||||
|
|
||||||
/* Check that the class Dummy is still readable */
|
/* Check that the class Dummy is still readable */
|
||||||
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Typedef")));
|
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Typedef")));
|
||||||
fail_if(!eolian_class_function_get_by_name(class, "foo", EOLIAN_METHOD));
|
fail_if(!eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD));
|
||||||
|
|
||||||
/* Basic type */
|
/* Basic type */
|
||||||
fail_if(!(tdl = eolian_unit_alias_by_name_get(unit, "Evas.Coord")));
|
fail_if(!(tdl = eolian_unit_alias_by_name_get(unit, "Evas.Coord")));
|
||||||
|
@ -426,7 +426,7 @@ START_TEST(eolian_complex_type)
|
||||||
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Complex_Type")));
|
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Complex_Type")));
|
||||||
|
|
||||||
/* Properties return type */
|
/* Properties return type */
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "a", EOLIAN_PROPERTY)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "a", EOLIAN_PROPERTY)));
|
||||||
fail_if(!(type = eolian_function_return_type_get(fid, EOLIAN_PROP_SET)));
|
fail_if(!(type = eolian_function_return_type_get(fid, EOLIAN_PROP_SET)));
|
||||||
fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_RETURN)));
|
fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_RETURN)));
|
||||||
fail_if(!eolian_type_is_owned(type));
|
fail_if(!eolian_type_is_owned(type));
|
||||||
|
@ -465,7 +465,7 @@ START_TEST(eolian_complex_type)
|
||||||
eina_stringshare_del(type_name);
|
eina_stringshare_del(type_name);
|
||||||
|
|
||||||
/* Methods return type */
|
/* Methods return type */
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "foo", EOLIAN_METHOD)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD)));
|
||||||
fail_if(!(type = eolian_function_return_type_get(fid, EOLIAN_METHOD)));
|
fail_if(!(type = eolian_function_return_type_get(fid, EOLIAN_METHOD)));
|
||||||
fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_RETURN)));
|
fail_if(!(type_name = eolian_type_c_type_get(type, EOLIAN_C_TYPE_RETURN)));
|
||||||
fail_if(!eolian_type_is_owned(type));
|
fail_if(!eolian_type_is_owned(type));
|
||||||
|
@ -510,21 +510,21 @@ START_TEST(eolian_scope)
|
||||||
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Scope")));
|
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Scope")));
|
||||||
|
|
||||||
/* Property scope */
|
/* Property scope */
|
||||||
fail_if(eolian_class_function_get_by_name(class, "a", EOLIAN_PROPERTY));
|
fail_if(eolian_class_function_by_name_get(class, "a", EOLIAN_PROPERTY));
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "a", EOLIAN_PROP_GET)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "a", EOLIAN_PROP_GET)));
|
||||||
fail_if(eolian_function_scope_get(fid, EOLIAN_PROP_GET) != EOLIAN_SCOPE_PROTECTED);
|
fail_if(eolian_function_scope_get(fid, EOLIAN_PROP_GET) != EOLIAN_SCOPE_PROTECTED);
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "b", EOLIAN_PROP_GET)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "b", EOLIAN_PROP_GET)));
|
||||||
fail_if(eolian_function_scope_get(fid, EOLIAN_PROP_GET) != EOLIAN_SCOPE_PUBLIC);
|
fail_if(eolian_function_scope_get(fid, EOLIAN_PROP_GET) != EOLIAN_SCOPE_PUBLIC);
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "c", EOLIAN_PROPERTY)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "c", EOLIAN_PROPERTY)));
|
||||||
fail_if(eolian_function_scope_get(fid, EOLIAN_PROP_GET) != EOLIAN_SCOPE_PUBLIC);
|
fail_if(eolian_function_scope_get(fid, EOLIAN_PROP_GET) != EOLIAN_SCOPE_PUBLIC);
|
||||||
fail_if(eolian_function_scope_get(fid, EOLIAN_PROP_SET) != EOLIAN_SCOPE_PROTECTED);
|
fail_if(eolian_function_scope_get(fid, EOLIAN_PROP_SET) != EOLIAN_SCOPE_PROTECTED);
|
||||||
|
|
||||||
/* Method scope */
|
/* Method scope */
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "foo", EOLIAN_METHOD)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD)));
|
||||||
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PUBLIC);
|
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PUBLIC);
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "bar", EOLIAN_METHOD)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "bar", EOLIAN_METHOD)));
|
||||||
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PROTECTED);
|
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PROTECTED);
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "foobar", EOLIAN_METHOD)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "foobar", EOLIAN_METHOD)));
|
||||||
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PUBLIC);
|
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PUBLIC);
|
||||||
|
|
||||||
eolian_state_free(eos);
|
eolian_state_free(eos);
|
||||||
|
@ -575,7 +575,7 @@ START_TEST(eolian_simple_parsing)
|
||||||
eina_stringshare_del(string);
|
eina_stringshare_del(string);
|
||||||
|
|
||||||
/* Property */
|
/* Property */
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "a", EOLIAN_PROPERTY)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "a", EOLIAN_PROPERTY)));
|
||||||
fail_if(strcmp(eolian_function_name_get(fid), "a"));
|
fail_if(strcmp(eolian_function_name_get(fid), "a"));
|
||||||
fail_if(!eolian_function_is_beta(fid));
|
fail_if(!eolian_function_is_beta(fid));
|
||||||
fail_if(eolian_function_class_get(fid) != class);
|
fail_if(eolian_function_class_get(fid) != class);
|
||||||
|
@ -608,14 +608,14 @@ START_TEST(eolian_simple_parsing)
|
||||||
fail_if(v.value.i != 100);
|
fail_if(v.value.i != 100);
|
||||||
|
|
||||||
/* legacy only + c only */
|
/* legacy only + c only */
|
||||||
fail_if(eolian_class_function_get_by_name(class, "b", EOLIAN_PROPERTY));
|
fail_if(eolian_class_function_by_name_get(class, "b", EOLIAN_PROPERTY));
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "b", EOLIAN_PROP_SET)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "b", EOLIAN_PROP_SET)));
|
||||||
fail_if(eolian_function_is_legacy_only(fid, EOLIAN_PROP_GET));
|
fail_if(eolian_function_is_legacy_only(fid, EOLIAN_PROP_GET));
|
||||||
fail_if(!eolian_function_is_legacy_only(fid, EOLIAN_PROP_SET));
|
fail_if(!eolian_function_is_legacy_only(fid, EOLIAN_PROP_SET));
|
||||||
fail_if(eolian_function_is_beta(fid));
|
fail_if(eolian_function_is_beta(fid));
|
||||||
|
|
||||||
/* Method */
|
/* Method */
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "foo", EOLIAN_METHOD)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD)));
|
||||||
fail_if(!eolian_function_is_beta(fid));
|
fail_if(!eolian_function_is_beta(fid));
|
||||||
fail_if(!eolian_type_is_ptr(eolian_function_return_type_get(fid, EOLIAN_METHOD)));
|
fail_if(!eolian_type_is_ptr(eolian_function_return_type_get(fid, EOLIAN_METHOD)));
|
||||||
/* Function return */
|
/* Function return */
|
||||||
|
@ -661,7 +661,7 @@ START_TEST(eolian_simple_parsing)
|
||||||
eina_iterator_free(iter);
|
eina_iterator_free(iter);
|
||||||
|
|
||||||
/* legacy only + c only */
|
/* legacy only + c only */
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "bar", EOLIAN_METHOD)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "bar", EOLIAN_METHOD)));
|
||||||
fail_if(!eolian_function_is_legacy_only(fid, EOLIAN_METHOD));
|
fail_if(!eolian_function_is_legacy_only(fid, EOLIAN_METHOD));
|
||||||
fail_if(eolian_function_is_beta(fid));
|
fail_if(eolian_function_is_beta(fid));
|
||||||
fail_if(!eolian_type_is_ptr(eolian_function_return_type_get(fid, EOLIAN_METHOD)));
|
fail_if(!eolian_type_is_ptr(eolian_function_return_type_get(fid, EOLIAN_METHOD)));
|
||||||
|
@ -691,7 +691,7 @@ START_TEST(eolian_struct)
|
||||||
|
|
||||||
/* Check that the class Dummy is still readable */
|
/* Check that the class Dummy is still readable */
|
||||||
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Struct")));
|
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Struct")));
|
||||||
fail_if(!eolian_class_function_get_by_name(class, "foo", EOLIAN_METHOD));
|
fail_if(!eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD));
|
||||||
|
|
||||||
/* named struct */
|
/* named struct */
|
||||||
fail_if(!(tdl = eolian_unit_struct_by_name_get(unit, "Named")));
|
fail_if(!(tdl = eolian_unit_struct_by_name_get(unit, "Named")));
|
||||||
|
@ -732,7 +732,7 @@ START_TEST(eolian_struct)
|
||||||
fail_if(eolian_typedecl_type_get(tdl) != EOLIAN_TYPEDECL_STRUCT_OPAQUE);
|
fail_if(eolian_typedecl_type_get(tdl) != EOLIAN_TYPEDECL_STRUCT_OPAQUE);
|
||||||
|
|
||||||
/* use in function */
|
/* use in function */
|
||||||
fail_if(!(func = eolian_class_function_get_by_name(class, "bar", EOLIAN_METHOD)));
|
fail_if(!(func = eolian_class_function_by_name_get(class, "bar", EOLIAN_METHOD)));
|
||||||
fail_if(!(type = eolian_function_return_type_get(func, EOLIAN_METHOD)));
|
fail_if(!(type = eolian_function_return_type_get(func, EOLIAN_METHOD)));
|
||||||
fail_if(eolian_type_type_get(type) != EOLIAN_TYPE_REGULAR);
|
fail_if(eolian_type_type_get(type) != EOLIAN_TYPE_REGULAR);
|
||||||
fail_if(!eolian_type_is_ptr(type));
|
fail_if(!eolian_type_is_ptr(type));
|
||||||
|
@ -759,7 +759,7 @@ START_TEST(eolian_extern)
|
||||||
|
|
||||||
/* Check that the class Dummy is still readable */
|
/* Check that the class Dummy is still readable */
|
||||||
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Extern")));
|
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Extern")));
|
||||||
fail_if(!eolian_class_function_get_by_name(class, "foo", EOLIAN_METHOD));
|
fail_if(!eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD));
|
||||||
|
|
||||||
/* regular type */
|
/* regular type */
|
||||||
fail_if(!(tdl = eolian_unit_alias_by_name_get(unit, "Foo")));
|
fail_if(!(tdl = eolian_unit_alias_by_name_get(unit, "Foo")));
|
||||||
|
@ -801,7 +801,7 @@ START_TEST(eolian_var)
|
||||||
|
|
||||||
/* Check that the class Dummy is still readable */
|
/* Check that the class Dummy is still readable */
|
||||||
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Var")));
|
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Var")));
|
||||||
fail_if(!eolian_class_function_get_by_name(class, "foo", EOLIAN_METHOD));
|
fail_if(!eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD));
|
||||||
|
|
||||||
/* regular constant */
|
/* regular constant */
|
||||||
fail_if(!(var = eolian_unit_constant_by_name_get(unit, "Foo")));
|
fail_if(!(var = eolian_unit_constant_by_name_get(unit, "Foo")));
|
||||||
|
@ -872,7 +872,7 @@ START_TEST(eolian_enum)
|
||||||
|
|
||||||
/* Check that the class Dummy is still readable */
|
/* Check that the class Dummy is still readable */
|
||||||
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Enum")));
|
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Enum")));
|
||||||
fail_if(!eolian_class_function_get_by_name(class, "foo", EOLIAN_METHOD));
|
fail_if(!eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD));
|
||||||
|
|
||||||
fail_if(!(tdl = eolian_unit_enum_by_name_get(unit, "Foo")));
|
fail_if(!(tdl = eolian_unit_enum_by_name_get(unit, "Foo")));
|
||||||
|
|
||||||
|
@ -968,23 +968,23 @@ START_TEST(eolian_class_funcs)
|
||||||
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Class_Funcs")));
|
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Class_Funcs")));
|
||||||
|
|
||||||
/* Class properties */
|
/* Class properties */
|
||||||
fail_if(eolian_class_function_get_by_name(class, "a", EOLIAN_PROPERTY));
|
fail_if(eolian_class_function_by_name_get(class, "a", EOLIAN_PROPERTY));
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "a", EOLIAN_PROP_GET)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "a", EOLIAN_PROP_GET)));
|
||||||
fail_if(!eolian_function_is_class(fid));
|
fail_if(!eolian_function_is_class(fid));
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "b", EOLIAN_PROP_GET)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "b", EOLIAN_PROP_GET)));
|
||||||
fail_if(eolian_function_is_class(fid));
|
fail_if(eolian_function_is_class(fid));
|
||||||
|
|
||||||
/* Class methods */
|
/* Class methods */
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "foo", EOLIAN_METHOD)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD)));
|
||||||
fail_if(!eolian_function_is_class(fid));
|
fail_if(!eolian_function_is_class(fid));
|
||||||
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PUBLIC);
|
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PUBLIC);
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "bar", EOLIAN_METHOD)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "bar", EOLIAN_METHOD)));
|
||||||
fail_if(eolian_function_is_class(fid));
|
fail_if(eolian_function_is_class(fid));
|
||||||
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PUBLIC);
|
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PUBLIC);
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "baz", EOLIAN_METHOD)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "baz", EOLIAN_METHOD)));
|
||||||
fail_if(!eolian_function_is_class(fid));
|
fail_if(!eolian_function_is_class(fid));
|
||||||
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PROTECTED);
|
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PROTECTED);
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "bah", EOLIAN_METHOD)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "bah", EOLIAN_METHOD)));
|
||||||
fail_if(eolian_function_is_class(fid));
|
fail_if(eolian_function_is_class(fid));
|
||||||
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PROTECTED);
|
fail_if(eolian_function_scope_get(fid, EOLIAN_METHOD) != EOLIAN_SCOPE_PROTECTED);
|
||||||
|
|
||||||
|
@ -1009,7 +1009,7 @@ START_TEST(eolian_free_func)
|
||||||
|
|
||||||
/* Check that the class Dummy is still readable */
|
/* Check that the class Dummy is still readable */
|
||||||
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Free_Func")));
|
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Free_Func")));
|
||||||
fail_if(!eolian_class_function_get_by_name(class, "foo", EOLIAN_METHOD));
|
fail_if(!eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD));
|
||||||
|
|
||||||
/* regular struct */
|
/* regular struct */
|
||||||
fail_if(!(tdl = eolian_unit_struct_by_name_get(unit, "Named1")));
|
fail_if(!(tdl = eolian_unit_struct_by_name_get(unit, "Named1")));
|
||||||
|
@ -1058,7 +1058,7 @@ START_TEST(eolian_null)
|
||||||
fail_if(!(unit = eolian_state_file_parse(eos, TESTS_SRC_DIR"/data/null.eo")));
|
fail_if(!(unit = eolian_state_file_parse(eos, TESTS_SRC_DIR"/data/null.eo")));
|
||||||
|
|
||||||
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Null")));
|
fail_if(!(class = eolian_unit_class_by_name_get(unit, "Null")));
|
||||||
fail_if(!(func = eolian_class_function_get_by_name(class, "foo", EOLIAN_METHOD)));
|
fail_if(!(func = eolian_class_function_by_name_get(class, "foo", EOLIAN_METHOD)));
|
||||||
|
|
||||||
fail_if(!(iter = eolian_function_parameters_get(func)));
|
fail_if(!(iter = eolian_function_parameters_get(func)));
|
||||||
|
|
||||||
|
@ -1356,7 +1356,7 @@ START_TEST(eolian_docs)
|
||||||
"@Foo @Bar @Alias @pants @Docs.meth @Docs.prop "
|
"@Foo @Bar @Alias @pants @Docs.meth @Docs.prop "
|
||||||
"@Docs.prop.get @Docs.prop.set @Foo.field1 @Bar.foo @Docs"));
|
"@Docs.prop.get @Docs.prop.set @Foo.field1 @Bar.foo @Docs"));
|
||||||
|
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "meth", EOLIAN_METHOD)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "meth", EOLIAN_METHOD)));
|
||||||
const Eolian_Implement *fimp = eolian_function_implement_get(fid);
|
const Eolian_Implement *fimp = eolian_function_implement_get(fid);
|
||||||
fail_if(!(doc = eolian_implement_documentation_get(fimp, EOLIAN_METHOD)));
|
fail_if(!(doc = eolian_implement_documentation_get(fimp, EOLIAN_METHOD)));
|
||||||
fail_if(strcmp(eolian_documentation_summary_get(doc),
|
fail_if(strcmp(eolian_documentation_summary_get(doc),
|
||||||
|
@ -1388,7 +1388,7 @@ START_TEST(eolian_docs)
|
||||||
"Return documentation."));
|
"Return documentation."));
|
||||||
fail_if(eolian_documentation_description_get(doc));
|
fail_if(eolian_documentation_description_get(doc));
|
||||||
|
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(class, "prop", EOLIAN_PROPERTY)));
|
fail_if(!(fid = eolian_class_function_by_name_get(class, "prop", EOLIAN_PROPERTY)));
|
||||||
fimp = eolian_function_implement_get(fid);
|
fimp = eolian_function_implement_get(fid);
|
||||||
fail_if(!(doc = eolian_implement_documentation_get(fimp, EOLIAN_PROPERTY)));
|
fail_if(!(doc = eolian_implement_documentation_get(fimp, EOLIAN_PROPERTY)));
|
||||||
fail_if(strcmp(eolian_documentation_summary_get(doc),
|
fail_if(strcmp(eolian_documentation_summary_get(doc),
|
||||||
|
@ -1416,7 +1416,7 @@ START_TEST(eolian_docs)
|
||||||
fail_if(eina_iterator_next(itr, (void**)&par));
|
fail_if(eina_iterator_next(itr, (void**)&par));
|
||||||
eina_iterator_free(itr);
|
eina_iterator_free(itr);
|
||||||
|
|
||||||
fail_if(!(event = eolian_class_event_get_by_name(class, "clicked")));
|
fail_if(!(event = eolian_class_event_by_name_get(class, "clicked")));
|
||||||
fail_if(!(doc = eolian_event_documentation_get(event)));
|
fail_if(!(doc = eolian_event_documentation_get(event)));
|
||||||
fail_if(strcmp(eolian_documentation_summary_get(doc),
|
fail_if(strcmp(eolian_documentation_summary_get(doc),
|
||||||
"Event docs."));
|
"Event docs."));
|
||||||
|
@ -1576,7 +1576,7 @@ START_TEST(eolian_function_as_arguments)
|
||||||
|
|
||||||
fail_if(!(cls = eolian_unit_class_by_name_get(unit, "Function_As_Argument")));
|
fail_if(!(cls = eolian_unit_class_by_name_get(unit, "Function_As_Argument")));
|
||||||
|
|
||||||
fail_if(!(fid = eolian_class_function_get_by_name(cls, "set_cb", EOLIAN_METHOD)));
|
fail_if(!(fid = eolian_class_function_by_name_get(cls, "set_cb", EOLIAN_METHOD)));
|
||||||
|
|
||||||
fail_if(!(iter = (eolian_function_parameters_get(fid))));
|
fail_if(!(iter = (eolian_function_parameters_get(fid))));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue