eo: more information when we cannot resolve method.
authorGustavo Sverzut Barbieri <barbieri@profusion.mobi>
Fri, 2 Dec 2016 23:35:18 +0000 (21:35 -0200)
committerGustavo Sverzut Barbieri <barbieri@profusion.mobi>
Fri, 2 Dec 2016 23:44:23 +0000 (21:44 -0200)
commit6e8280a54056ee173f336b9d0c0a67b851abc57a
treefd7f6a04d14d1677c37ccb78d8db74b05414884f
parent227463bdde43bc9095b75f4ef19f9fef9a742f04
eo: more information when we cannot resolve method.

_efl_object_api_op_id_get() will query a hash for the given pointer,
however if it wasn't populated, it will return "NOOP" and we're
hopeless while debugging on what happened.

Common case is to use the incorrect method, like:

        obj = efl_add(CLS1, ...);
        cls2_method(obj);

Since we did not create CLS2, it won't populate its methods on the
hash, thus the lookup will return NOOP.

With this change the function now gets the target object and function
name so reports an insightful message such as:

        ERR:eo file.c:123 cls2_method() Unable to resolve op for api func 0x7ff492ddea00 for obj=0x400000007e8ee1df (CLS1)
src/lib/eo/Eo.h
src/lib/eo/eo.c