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); ls->tmp.kls->comment = eina_stringshare_ref(ls->t.value);
eo_lexer_get(ls); eo_lexer_get(ls);
} }
if (type == EOLIAN_CLASS_INTERFACE)
{
ls->tmp.kls->data_type = eina_stringshare_add("null");
}
for (;;) switch (ls->t.kw) for (;;) switch (ls->t.kw)
{ {
case KW_legacy_prefix: 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, ';'); check_next(ls, ';');
break; break;
case KW_data: case KW_data:
if (type == EOLIAN_CLASS_INTERFACE) return;
CASE_LOCK(ls, data, "data definition") CASE_LOCK(ls, data, "data definition")
eo_lexer_get(ls); eo_lexer_get(ls);
check_next(ls, ':'); check_next(ls, ':');

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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