forked from enlightenment/efl
eolian: enable inheritance checks and fix EFL to build with them
Somehow, there was code in the tree that apparently isn't tested at all, even once - if it was, the eo.c logic that performs inheritance checks would be triggered. I don't know how this could have happened (actually I do, it's Cedric's fault and he should be publicly shamed for it) but these checks make sure this will never happen again. But since the code itself appears to be untested, I don't know if there isn't any other brokenness in it. But that's beyond the scope of this change, so for now, let's make sure all our inheritance is at least formally correct. Also, enable eo_interface.eo generated code in Eo itself so that Eo.Interface can be used when inheriting. @fix
This commit is contained in:
parent
210a740cc2
commit
a7c6086c42
|
@ -1,4 +1,4 @@
|
||||||
mixin Ector.Renderer.Buffer (Ector.Renderer, Efl.Gfx.Fill)
|
mixin Ector.Renderer.Buffer (Eo.Interface, Ector.Renderer, Efl.Gfx.Fill)
|
||||||
{
|
{
|
||||||
[[Ector buffers have a default fill set to repeat]]
|
[[Ector buffers have a default fill set to repeat]]
|
||||||
eo_prefix: ector_renderer_buffer;
|
eo_prefix: ector_renderer_buffer;
|
||||||
|
|
|
@ -171,6 +171,7 @@ typedef void (*Eo_Del_Intercept) (Eo *obj_id);
|
||||||
|
|
||||||
#include "eo_override.eo.h"
|
#include "eo_override.eo.h"
|
||||||
#include "eo_base.eo.h"
|
#include "eo_base.eo.h"
|
||||||
|
#include "eo_interface.eo.h"
|
||||||
#define EO_CLASS EO_BASE_CLASS
|
#define EO_CLASS EO_BASE_CLASS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -5,4 +5,4 @@
|
||||||
#include "Eo.h"
|
#include "Eo.h"
|
||||||
|
|
||||||
#include "eo_class.eo.c"
|
#include "eo_class.eo.c"
|
||||||
|
#include "eo_interface.eo.c"
|
||||||
|
|
|
@ -1855,7 +1855,6 @@ _inherit_dep(Eo_Lexer *ls, Eina_Strbuf *buf, Eina_Bool check_inherit,
|
||||||
{
|
{
|
||||||
case EOLIAN_CLASS_REGULAR:
|
case EOLIAN_CLASS_REGULAR:
|
||||||
case EOLIAN_CLASS_ABSTRACT:
|
case EOLIAN_CLASS_ABSTRACT:
|
||||||
#if 0
|
|
||||||
if (dep->type != EOLIAN_CLASS_REGULAR && dep->type != EOLIAN_CLASS_ABSTRACT)
|
if (dep->type != EOLIAN_CLASS_REGULAR && dep->type != EOLIAN_CLASS_ABSTRACT)
|
||||||
{
|
{
|
||||||
char ebuf[PATH_MAX];
|
char ebuf[PATH_MAX];
|
||||||
|
@ -1864,11 +1863,9 @@ _inherit_dep(Eo_Lexer *ls, Eina_Strbuf *buf, Eina_Bool check_inherit,
|
||||||
ls->tmp.kls->full_name, iname);
|
ls->tmp.kls->full_name, iname);
|
||||||
eo_lexer_syntax_error(ls, ebuf);
|
eo_lexer_syntax_error(ls, ebuf);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
case EOLIAN_CLASS_MIXIN:
|
case EOLIAN_CLASS_MIXIN:
|
||||||
case EOLIAN_CLASS_INTERFACE:
|
case EOLIAN_CLASS_INTERFACE:
|
||||||
#if 0
|
|
||||||
if (dep->type != EOLIAN_CLASS_MIXIN && dep->type != EOLIAN_CLASS_INTERFACE)
|
if (dep->type != EOLIAN_CLASS_MIXIN && dep->type != EOLIAN_CLASS_INTERFACE)
|
||||||
{
|
{
|
||||||
char ebuf[PATH_MAX];
|
char ebuf[PATH_MAX];
|
||||||
|
@ -1877,7 +1874,6 @@ _inherit_dep(Eo_Lexer *ls, Eina_Strbuf *buf, Eina_Bool check_inherit,
|
||||||
ls->tmp.kls->full_name, iname);
|
ls->tmp.kls->full_name, iname);
|
||||||
eo_lexer_syntax_error(ls, ebuf);
|
eo_lexer_syntax_error(ls, ebuf);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
mixin Efl.Canvas.Surface (Evas.Image)
|
mixin Efl.Canvas.Surface (Eo.Interface, Evas.Image)
|
||||||
{
|
{
|
||||||
[[Native surfaces usually bound to an externally-managed buffer.
|
[[Native surfaces usually bound to an externally-managed buffer.
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
class Efl.Canvas.Surface.Tbm (Efl.Canvas.Surface)
|
class Efl.Canvas.Surface.Tbm (Eo.Base, Efl.Canvas.Surface)
|
||||||
{
|
{
|
||||||
[[Native Tizen Buffer Manager surface for Efl canvas]]
|
[[Native Tizen Buffer Manager surface for Efl canvas]]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
class Efl.Canvas.Surface.Wayland (Efl.Canvas.Surface)
|
class Efl.Canvas.Surface.Wayland (Eo.Base, Efl.Canvas.Surface)
|
||||||
{
|
{
|
||||||
[[Native Wayland surface for Efl canvas]]
|
[[Native Wayland surface for Efl canvas]]
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ struct Efl.Canvas.Surface.X11_Pixmap
|
||||||
pixmap: ulong; [[X11 Pixmap ID.]]
|
pixmap: ulong; [[X11 Pixmap ID.]]
|
||||||
}
|
}
|
||||||
|
|
||||||
class Efl.Canvas.Surface.X11 (Efl.Canvas.Surface)
|
class Efl.Canvas.Surface.X11 (Eo.Base, Efl.Canvas.Surface)
|
||||||
{
|
{
|
||||||
[[Native X11 surface for Efl canvas]]
|
[[Native X11 surface for Efl canvas]]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue