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

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.

Reviewers: zmike, cedric, segfaultxavi, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8266
This commit is contained in:
Daniel Kolesa 2019-03-11 13:31:55 +01:00 committed by Xavi Artigas
parent c043b11f46
commit d3c5384cd0
71 changed files with 72 additions and 79 deletions

View File

@ -1,4 +1,4 @@
class Ecore.Event.Message extends Efl.Loop_Message
class @beta Ecore.Event.Message extends Efl.Loop_Message
{
[[ For Legacy API usage Only. Legacy Ecore Events ]]
methods {

View File

@ -1,4 +1,4 @@
class Ecore.Event.Message.Handler extends Efl.Loop_Message_Handler
class @beta Ecore.Event.Message.Handler extends Efl.Loop_Message_Handler
{
[[ For Legacy API usage Only
This class is rather hacky/messy as it's really internal glue

View File

@ -1,4 +1,4 @@
class Ector.Cairo.Software.Surface extends Ector.Cairo.Surface implements Ector.Software.Buffer.Base
class @beta Ector.Cairo.Software.Surface extends Ector.Cairo.Surface implements Ector.Software.Buffer.Base
{
[[Ector surface on a cairo software backend

View File

@ -1,6 +1,6 @@
struct @extern cairo_t; [[cairo_t type]]
class Ector.Cairo.Surface extends Efl.Object implements Ector.Surface
class @beta Ector.Cairo.Surface extends Efl.Object implements Ector.Surface
{
[[Ector surface on a cairo backend

View File

@ -1,4 +1,4 @@
abstract Ector.Renderer.Cairo extends Ector.Renderer
abstract @beta Ector.Renderer.Cairo extends Ector.Renderer
{
[[Ector cairo renderer abstract class]]
methods {

View File

@ -1,4 +1,4 @@
class Ector.Renderer.Cairo.Gradient.Linear extends Ector.Renderer.Cairo implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Linear, Efl.Gfx.Path
class @beta Ector.Renderer.Cairo.Gradient.Linear extends Ector.Renderer.Cairo implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Linear, Efl.Gfx.Path
{
[[Ector cairo renderer gradient linear]]
eo_prefix: ector_renderer_cairo_gradient_linear;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.Cairo.Gradient.Radial extends Ector.Renderer.Cairo implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Radial, Efl.Gfx.Path
class @beta Ector.Renderer.Cairo.Gradient.Radial extends Ector.Renderer.Cairo implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Radial, Efl.Gfx.Path
{
[[Ector cairo renderer gradient radial]]
eo_prefix: ector_renderer_cairo_gradient_radial;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.Cairo.Shape extends Ector.Renderer.Cairo implements Ector.Renderer.Shape, Efl.Gfx.Path
class @beta Ector.Renderer.Cairo.Shape extends Ector.Renderer.Cairo implements Ector.Renderer.Shape, Efl.Gfx.Path
{
[[Ector cairo renderer shape class]]
eo_prefix: ector_renderer_cairo_shape;

View File

@ -21,7 +21,7 @@ enum @beta Ector.Buffer.Access_Flag {
cow = 0x4, [[Forces copy-on-write if already mapped as read-only. Requires write.]]
}
mixin Ector.Buffer
mixin @beta Ector.Buffer
{
[[2D pixel buffer interface for Ector

View File

@ -1,6 +1,6 @@
import eina_types;
abstract Ector.Renderer extends Efl.Object
abstract @beta Ector.Renderer extends Efl.Object
{
[[Ector renderer abstract interface]]

View File

@ -1,4 +1,4 @@
mixin Ector.Renderer.Gradient requires Efl.Object extends Efl.Gfx.Gradient
mixin @beta Ector.Renderer.Gradient requires Efl.Object extends Efl.Gfx.Gradient
{
[[Ector gradient renderer mixin]]
eo_prefix: ector_renderer_gradient;

View File

@ -1,4 +1,4 @@
mixin Ector.Renderer.Gradient.Linear extends Efl.Gfx.Gradient_Linear
mixin @beta Ector.Renderer.Gradient.Linear extends Efl.Gfx.Gradient_Linear
{
[[Ector gradient linear renderer mixin]]
eo_prefix: ector_renderer_gradient_linear;

View File

@ -1,4 +1,4 @@
mixin Ector.Renderer.Gradient.Radial extends Efl.Gfx.Gradient_Radial
mixin @beta Ector.Renderer.Gradient.Radial extends Efl.Gfx.Gradient_Radial
{
[[Ector gradient radial renderer mixin]]
eo_prefix: ector_renderer_gradient_radial;

View File

@ -1,6 +1,6 @@
import ector_renderer;
mixin Ector.Renderer.Shape requires Efl.Object extends Efl.Gfx.Shape
mixin @beta Ector.Renderer.Shape requires Efl.Object extends Efl.Gfx.Shape
{
[[Ector shape renderer mixin]]
eo_prefix: ector_renderer_shape;

View File

@ -1,4 +1,4 @@
mixin Ector.Surface extends Ector.Buffer
mixin @beta Ector.Surface extends Ector.Buffer
{
[[Surface interface for Ector]]

View File

@ -1,4 +1,4 @@
class Ector.GL.Buffer extends Efl.Object implements Ector.Buffer
class @beta Ector.GL.Buffer extends Efl.Object implements Ector.Buffer
{
[[Ector GL buffer class]]
data: null;

View File

@ -1,6 +1,6 @@
import ector_types;
class Ector.GL.Surface extends Ector.GL.Buffer implements Ector.Surface
class @beta Ector.GL.Surface extends Ector.GL.Buffer implements Ector.Surface
{
[[Ector GL surface class]]
eo_prefix: ector_gl_surface;

View File

@ -1,6 +1,6 @@
import ector_types;
abstract Ector.Renderer.GL extends Ector.Renderer
abstract @beta Ector.Renderer.GL extends Ector.Renderer
{
[[Ector GL renderer abstract class]]
methods {

View File

@ -1,4 +1,4 @@
class Ector.Renderer.GL.Gradient.Linear extends Ector.Renderer.GL implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Linear, Efl.Gfx.Path
class @beta Ector.Renderer.GL.Gradient.Linear extends Ector.Renderer.GL implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Linear, Efl.Gfx.Path
{
[[Ector GL renderer gradient linear]]
eo_prefix: ector_renderer_gl_gradient_linear;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.GL.Gradient.Radial extends Ector.Renderer.GL implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Radial, Efl.Gfx.Path
class @beta Ector.Renderer.GL.Gradient.Radial extends Ector.Renderer.GL implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Radial, Efl.Gfx.Path
{
[[Ector GL renderer gradient radial]]
eo_prefix: ector_renderer_gl_gradient_radial;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.GL.Shape extends Ector.Renderer.GL implements Ector.Renderer.Shape, Efl.Gfx.Path
class @beta Ector.Renderer.GL.Shape extends Ector.Renderer.GL implements Ector.Renderer.Shape, Efl.Gfx.Path
{
[[Ector GL renderer shape class]]
eo_prefix: ector_renderer_gl_shape;

View File

@ -1,4 +1,4 @@
abstract Ector.Renderer.Software extends Ector.Renderer
abstract @beta Ector.Renderer.Software extends Ector.Renderer
{
[[Ector software renderer class]]
data: null;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.Software.Gradient.Linear extends Ector.Renderer.Software implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Linear
class @beta Ector.Renderer.Software.Gradient.Linear extends Ector.Renderer.Software implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Linear
{
[[Ector software renderer gradient linear class]]
eo_prefix: ector_renderer_software_gradient_linear;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.Software.Gradient.Radial extends Ector.Renderer.Software implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Radial
class @beta Ector.Renderer.Software.Gradient.Radial extends Ector.Renderer.Software implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Radial
{
[[Ector software renderer gradient radial]]
eo_prefix: ector_renderer_software_gradient_radial;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.Software.Shape extends Ector.Renderer.Software implements Ector.Renderer.Shape
class @beta Ector.Renderer.Software.Shape extends Ector.Renderer.Software implements Ector.Renderer.Shape
{
[[Ector software renderer shape class]]
eo_prefix: ector_renderer_software_shape;

View File

@ -1,4 +1,4 @@
class Ector.Software.Buffer extends Efl.Object implements Ector.Software.Buffer.Base
class @beta Ector.Software.Buffer extends Efl.Object implements Ector.Software.Buffer.Base
{
[[Ector software buffer class]]
data: null;

View File

@ -1,4 +1,4 @@
mixin Ector.Software.Buffer.Base extends Ector.Buffer
mixin @beta Ector.Software.Buffer.Base extends Ector.Buffer
{
[[A buffer in Ector Software is a readable & optionally writable image]]
eo_prefix: ector_software_buffer;

View File

@ -1,4 +1,4 @@
class Ector.Software.Surface extends Ector.Software.Buffer implements Ector.Surface
class @beta Ector.Software.Surface extends Ector.Software.Buffer implements Ector.Surface
{
[[Ector surface software class]]
eo_prefix: ector_software_surface;

View File

@ -5,7 +5,7 @@ struct @beta Eio.Sentry.Event
source: string; [[The original monitored path.]]
}
class Eio.Sentry extends Efl.Object
class @beta Eio.Sentry extends Efl.Object
{
[[Monitors files and directories for changes.]]

View File

@ -1,6 +1,6 @@
import eldbus_types;
class Eldbus.Model extends Efl.Loop_Model {
class @beta Eldbus.Model extends Efl.Loop_Model {
methods {
connect {
[[Define connection parameters.

View File

@ -1,6 +1,6 @@
import eldbus_types;
class Eldbus.Model.Arguments extends Eldbus.Model {
class @beta Eldbus.Model.Arguments extends Eldbus.Model {
[[Eldbus model arguments class]]
methods {

View File

@ -1,4 +1,4 @@
class Eldbus.Model.Connection extends Eldbus.Model {
class @beta Eldbus.Model.Connection extends Eldbus.Model {
[[Eldbus model connection class]]
implements {

View File

@ -1,6 +1,6 @@
import eldbus_types;
class Eldbus.Model.Method extends Eldbus.Model.Arguments {
class @beta Eldbus.Model.Method extends Eldbus.Model.Arguments {
[[Eldbus model method class]]
methods {
@property proxy {

View File

@ -1,4 +1,4 @@
class Eldbus.Model.Object extends Eldbus.Model {
class @beta Eldbus.Model.Object extends Eldbus.Model {
[[Eldbus model object class]]
data: Eldbus_Model_Object_Data;

View File

@ -1,6 +1,6 @@
import eldbus_types;
class Eldbus.Model.Proxy extends Eldbus.Model {
class @beta Eldbus.Model.Proxy extends Eldbus.Model {
[[Eldbus model proxy class]]
methods {

View File

@ -1,4 +1,4 @@
class Eldbus.Model.Signal extends Eldbus.Model.Arguments {
class @beta Eldbus.Model.Signal extends Eldbus.Model.Arguments {
[[Eldbus model signal class]]
methods {

View File

@ -1,4 +1,4 @@
class Elm_Actionslider.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm_Actionslider.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary Actionslider internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm_Bubble.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm_Bubble.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary Bubble internal part class]]
data: null;

View File

@ -15,7 +15,7 @@ enum @beta Elm.Code_Widget_Scroller_Policy
struct @extern Elm.Code; [[Elementary code main data structure]] /* The main interface currently defined in code */
struct @extern Elm.Code_Line; [[Elementary code line data structure]] /* Parts of the interface currently defined in code */
class Elm.Code_Widget extends Efl.Ui.Layout_Base
class @beta Elm.Code_Widget extends Efl.Ui.Layout_Base
{
[[Elementary code widget]]
eo_prefix: efl_ui_code_widget;

View File

@ -1,4 +1,4 @@
class Elm.Ctxpopup.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Ctxpopup.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary contex popup internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Dayselector.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Dayselector.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary dayselector internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Entry.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Entry.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary entry internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Fileselector.Entry.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Fileselector.Entry.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary fileselector entry internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Fileselector.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Fileselector.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary fileselector entry internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Flip.Part extends Efl.Object implements Efl.Content
class @beta Elm.Flip.Part extends Efl.Object implements Efl.Content
{
[[Elementary flip internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Hover.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Hover.Part extends Efl.Ui.Layout_Part_Legacy
{
[[elementary hover internal part class]]
data: null;

View File

@ -27,7 +27,7 @@ enum Elm.Scroller.Single_Direction
last [[Sentinel value to indicate last enum field during iteration]]
}
mixin Elm.Interface_Scrollable requires Efl.Ui.Widget extends Efl.Ui.Scrollable, Efl.Ui.Focus.Manager_Sub, Efl.Ui.Widget_Focus_Manager
mixin @beta Elm.Interface_Scrollable requires Efl.Ui.Widget extends Efl.Ui.Scrollable, Efl.Ui.Focus.Manager_Sub, Efl.Ui.Widget_Focus_Manager
{
[[Elm scrollable mixin]]
eo_prefix: elm_interface_scrollable;

View File

@ -1,4 +1,4 @@
class Elm_Label.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm_Label.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary button internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Mapbuf.Part extends Efl.Ui.Widget_Part implements Efl.Content
class @beta Elm.Mapbuf.Part extends Efl.Ui.Widget_Part implements Efl.Content
{
[[Elementary mapbuf internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Multibuttonentry_Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Multibuttonentry_Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary multibuttonentry internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Naviframe.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Naviframe.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary naviframe internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Notify.Part extends Efl.Ui.Widget_Part implements Efl.Content, Efl.Text,
class @beta Elm.Notify.Part extends Efl.Ui.Widget_Part implements Efl.Content, Efl.Text,
Efl.Ui.L10n
{
[[Elementary notification internel part class]]

View File

@ -1,4 +1,4 @@
class Elm.Panel.Part extends Efl.Ui.Widget_Part implements Efl.Content
class @beta Elm.Panel.Part extends Efl.Ui.Widget_Part implements Efl.Content
{
[[Elementary panel internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Player.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Player.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary player internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Popup.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Popup.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary popup internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Scroller.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Scroller.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary scroller internal part class]]
data: null;

View File

@ -88,12 +88,6 @@ _validate_docstr(Eina_Stringshare *str, const Eolian_Object *info, Eina_List **r
return ret;
}
static Eina_Bool
_class_is_legacy(Eolian_Class *klass)
{
return !!strncmp(klass->base.name, "Efl.", strlen("Efl."));
}
static Eina_Bool
_validate_doc(Eolian_Documentation *doc)
{
@ -1210,7 +1204,7 @@ _validate_class(Validate_State *vals, Eolian_Class *cl,
default:
break;
}
if (!_class_is_legacy(cl) && !cl->base.is_beta && cl->parent->base.is_beta)
if (!cl->base.is_beta && cl->parent->base.is_beta)
{
_eo_parser_log(&cl->base, "non-beta class cannot have beta parent");
return EINA_FALSE;
@ -1277,8 +1271,7 @@ _validate_class(Validate_State *vals, Eolian_Class *cl,
}
}
/* we are not verifying betaness for any legacy class */
_set_stable(vals, !cl->base.is_beta && !_class_is_legacy(cl));
_set_stable(vals, !cl->base.is_beta);
EINA_LIST_FOREACH(cl->properties, l, func)
if (!_validate_function(vals, func, nhash))

View File

@ -1,6 +1,6 @@
import evas_canvas3d_types;
class Evas.Canvas3D.Camera extends Evas.Canvas3D.Object
class @beta Evas.Canvas3D.Camera extends Evas.Canvas3D.Object
{
[[Evas 3D canvas camera class]]
data: Evas_Canvas3D_Camera_Data;

View File

@ -1,6 +1,6 @@
import evas_canvas3d_types;
class Evas.Canvas3D.Light extends Evas.Canvas3D.Object
class @beta Evas.Canvas3D.Light extends Evas.Canvas3D.Object
{
[[Evas 3D canvas light class]]

View File

@ -1,4 +1,4 @@
class Evas.Canvas3D.Material extends Evas.Canvas3D.Object
class @beta Evas.Canvas3D.Material extends Evas.Canvas3D.Object
{
[[Evas 3D canvas material class]]
data: Evas_Canvas3D_Material_Data;

View File

@ -2,7 +2,7 @@ import evas_canvas3d_types;
struct @extern Eina.Inarray; [[Eina inarray data structure]]
class Evas.Canvas3D.Mesh extends Evas.Canvas3D.Object implements Efl.File, Efl.File_Save
class @beta Evas.Canvas3D.Mesh extends Evas.Canvas3D.Object implements Efl.File, Efl.File_Save
{
[[Evas 3D canvas mesh class]]
data: Evas_Canvas3D_Mesh_Data;

View File

@ -1,6 +1,6 @@
import evas_canvas3d_types;
class Evas.Canvas3D.Node extends Evas.Canvas3D.Object
class @beta Evas.Canvas3D.Node extends Evas.Canvas3D.Object
{
[[Evas 3D canvas node class]]
data: Evas_Canvas3D_Node_Data;

View File

@ -1,6 +1,6 @@
import evas_canvas3d_types;
abstract Evas.Canvas3D.Object extends Efl.Object
abstract @beta Evas.Canvas3D.Object extends Efl.Object
{
[[Evas 3D canvas object class]]
data: Evas_Canvas3D_Object_Data;

View File

@ -1,6 +1,6 @@
import evas_canvas3d_types;
class Evas.Canvas3D.Primitive extends Evas.Canvas3D.Object
class @beta Evas.Canvas3D.Primitive extends Evas.Canvas3D.Object
{
[[Evas 3D canvas primitive class]]
data: Evas_Canvas3D_Primitive_Data;

View File

@ -1,6 +1,6 @@
import evas_canvas3d_types;
class Evas.Canvas3D.Scene extends Evas.Canvas3D.Object
class @beta Evas.Canvas3D.Scene extends Evas.Canvas3D.Object
{
[[Efl 3D canvas scene class]]
data: Evas_Canvas3D_Scene_Data;

View File

@ -1,6 +1,6 @@
type @extern Evas_Colorspace: int; [[Evas colorspace type]] /* FIXME: Need to get emile migrated. */
class Evas.Canvas3D.Texture extends Evas.Canvas3D.Object implements Efl.File
class @beta Evas.Canvas3D.Texture extends Evas.Canvas3D.Object implements Efl.File
{
[[Evas 3d canvas texture class]]
data : Evas_Canvas3D_Texture_Data;

View File

@ -1,4 +1,4 @@
class Evas.Ector.GL.Buffer extends Ector.GL.Buffer implements Evas.Ector.Buffer
class @beta Evas.Ector.GL.Buffer extends Ector.GL.Buffer implements Evas.Ector.Buffer
{
[[An Ector GL buffer capable of being mapped, drawn and rendered to.

View File

@ -1,4 +1,4 @@
class Evas.Ector.GL.Image.Buffer extends Ector.GL.Buffer implements Evas.Ector.Buffer
class @beta Evas.Ector.GL.Image.Buffer extends Ector.GL.Buffer implements Evas.Ector.Buffer
{
[[An Ector GL buffer wrapping an existing Evas_GL_Image.]]
implements {

View File

@ -1,4 +1,4 @@
class Evas.Ector.Software.Buffer extends Ector.Software.Buffer implements Evas.Ector.Buffer
class @beta Evas.Ector.Software.Buffer extends Ector.Software.Buffer implements Evas.Ector.Buffer
{
[[A buffer object wrapping an existing Evas Image_Entry.]]
implements {

View File

@ -1,4 +1,4 @@
class Ecore.Audio.Out.Test extends Ecore.Audio.Out
class @beta Ecore.Audio.Out.Test extends Ecore.Audio.Out
{
data: null;
implements {

View File

@ -1,4 +1,4 @@
class Focus.Test
class @beta Focus.Test
extends Efl.Object
implements Efl.Ui.Focus.Object, Efl.Gfx.Entity
{