eolian: disallow the data field in interfaces; it's always null

This commit is contained in:
Daniel Kolesa 2014-07-18 17:29:25 +01:00
parent 15ab5f02e2
commit fa3e433f6e
8 changed files with 5 additions and 7 deletions

View File

@ -939,6 +939,10 @@ parse_class_body(Eo_Lexer *ls, Eina_Bool allow_ctors, Eolian_Class_Type type)
ls->tmp.kls->comment = eina_stringshare_ref(ls->t.value);
eo_lexer_get(ls);
}
if (type == EOLIAN_CLASS_INTERFACE)
{
ls->tmp.kls->data_type = eina_stringshare_add("null");
}
for (;;) switch (ls->t.kw)
{
case KW_legacy_prefix:
@ -960,6 +964,7 @@ parse_class_body(Eo_Lexer *ls, Eina_Bool allow_ctors, Eolian_Class_Type type)
check_next(ls, ';');
break;
case KW_data:
if (type == EOLIAN_CLASS_INTERFACE) return;
CASE_LOCK(ls, data, "data definition")
eo_lexer_get(ls);
check_next(ls, ':');

View File

@ -1,6 +1,5 @@
interface Evas.Clickable_Interface (Evas.Signal_Interface)
{
data: null;
events {
clicked;
clicked,double;

View File

@ -1,7 +1,6 @@
interface Evas.Common_Interface ()
{
eo_prefix: evas_common;
data: null;
properties {
evas {
get {

View File

@ -1,6 +1,5 @@
interface Evas.Draggable_Interface (Evas.Signal_Interface)
{
data: null;
events {
drag;
drag,start;

View File

@ -1,6 +1,5 @@
interface Evas.Scrollable_Interface (Evas.Signal_Interface)
{
data: null;
events {
scroll;
scroll,anim,start;

View File

@ -1,6 +1,5 @@
interface Evas.Selectable_Interface (Evas.Signal_Interface)
{
data: null;
events {
selected;
unselected;

View File

@ -1,6 +1,5 @@
interface Evas.Signal_Interface ()
{
data: null;
implements {
class.constructor;
class.destructor;

View File

@ -1,6 +1,5 @@
interface Evas.Zoomable_Interface (Evas.Signal_Interface)
{
data: null;
events {
zoom,start;
zoom,stop;