Hey everyone,

I just pushed a patch into the efl that enables strict type checking for 
all .eo files. What this essentially does, is that it errors if the 
eolian file is referring to a type that it is not familiar with.

There are a few possible reasons to why this would happen:
1. The type is defined in an .eot file and the .eot file was not 
imported. An example fix: import eina_types;.
2. The type is defined in an .eo file and the .eo file is not a direct 
or indirect dependency of the current .eo file. You can manually import 
a file for the type, for example: import elm_genlist;
3. The type is not defined in .eo. An example fix:
Move the enum definition from the .h file to the .eo file.
There are many examples for that.
4. The type is not defined in .eo and can't be moved because we don't 
control it. For example, we may want to expose an eina type in our API. 
For that we will add the new type to src/lib/eo/eina_types.eot. See that 
file for plenty of examples, and don't forget the @extern directive that 
tells eolian that this type is already defined elsewhere.
5. The type is not defined in .eo and can't be defined because it's a 
function pointer. Fix the API. We no longer allow function pointers in 
structs or api functions. The reason for that is that they are very 
difficult to bind automatically and are very expensive. Usually you'd 
want to replace the functionality with an Eo signal, but sometimes it 
may be something else. This does not apply to free functions who have an 
already defined type.

Like always, the eolian reference is available at:
https://phab.enlightenment.org/w/eolian/

Please let me know if you have any questions.

--
Tom.

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to