Page MenuHomePhabricator

eolian: enable checking of beta/stable contexts in all classes
ClosedPublic

Authored by q66 on Mar 8 2019, 8:12 AM.

Details

Summary

This enables all the checks unconditionally, without ignoring
classes that don't have an Efl namespace. This required a lot
of beta marking to make it build. It most likely doesn't
mark types correctly, as that is not fully enabled yet.

Diff Detail

Repository
rEFL core/efl
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
q66 created this revision.Mar 8 2019, 8:12 AM
q66 requested review of this revision.Mar 8 2019, 8:12 AM
q66 updated this revision to Diff 20321.Mar 8 2019, 8:14 AM

removed outdated comment

Let me see if I got this right. Previously, all legacy classes were assumed stable, so they were not checking beta correctness.
That assumption was wrong, so this patch now makes proper beta checks regardless of legacy or not.
And for this to work, legacy classes which were actually beta (like ecore_audio, canvas3d, elm_code_widget, elm_interface_scrollable, ...) are being marked @beta.
Is this correct?

How do you know which legacy classes are beta?

q66 added a comment.Mar 9 2019, 12:43 PM

previously they weren't assumed anything, any checks regarding beta were simply skipped, but @beta could be used the same; the new behavior checks them, so i only fixed those classes that were newly causing errors

q66 updated this revision to Diff 20383.Mar 9 2019, 1:20 PM

rebase

segfaultxavi requested changes to this revision.Mar 11 2019, 3:29 AM

I am getting some errors when building this on top of latest master:

eolian: ector_buffer.eo:44:21: beta type declaration 'Efl.Gfx.Colorspace' used in stable context
eolian: ector_buffer.eo:90:19: beta type declaration 'Ector.Buffer.Flag' used in stable context
eolian: ector_buffer.eo:55:23: beta type declaration 'Ector.Buffer.Access_Flag' used in stable context
eolian: eio_sentry.eo:38:19: beta type declaration 'Eio.Sentry.Event' used in stable context
This revision now requires changes to proceed.Mar 11 2019, 3:29 AM
q66 updated this revision to Diff 20400.Mar 11 2019, 5:29 AM

marked missing classes beta, rebase

segfaultxavi accepted this revision.Mar 11 2019, 5:41 AM

Everything builds and passes tests.

This revision is now accepted and ready to land.Mar 11 2019, 5:41 AM
This revision was automatically updated to reflect the committed changes.