forked from enlightenment/efl
eolian: clear the unimplemented implement set for each tree
We keep a hash tracking implements that were already errored on so that we don't print some errors multiple times. The problem is that it wasn't getting cleared when switching to a new inheritance tree so errors from an interface implemented in multiple distinct inheritance trees would only get printed once.
This commit is contained in:
parent
213a842d52
commit
ca82c27d18
|
@ -1309,6 +1309,11 @@ database_validate(const Eolian_Unit *src)
|
|||
Eina_Hash *errh = eina_hash_pointer_new(NULL);
|
||||
EINA_ITERATOR_FOREACH(iter, cl)
|
||||
{
|
||||
/* clear, because otherwise if unrelated classes A and B both
|
||||
* had interface C in extensions list without implementing it,
|
||||
* it would only get printed for A
|
||||
*/
|
||||
eina_hash_free_buckets(errh);
|
||||
if (!_db_fill_inherits(&vals, cl, fhash, errh))
|
||||
{
|
||||
eina_hash_free(errh);
|
||||
|
|
Loading…
Reference in New Issue