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
