q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=65b4782682318055db57697064349ef8e4983064

commit 65b4782682318055db57697064349ef8e4983064
Author: Daniel Kolesa <d.kol...@samsung.com>
Date:   Wed Jul 17 20:14:46 2019 +0200

    eolian: remove support for old free() syntax
    
    Now freefuncs can only be specified on type declarations but not
    on types themselves. Also remove transitiveness of freefuncs.
---
 src/lib/eolian/database_type.c     |  1 -
 src/lib/eolian/database_validate.c |  5 +----
 src/lib/eolian/eo_parser.c         | 16 ----------------
 src/lib/eolian/eolian_database.h   |  1 -
 4 files changed, 1 insertion(+), 22 deletions(-)

diff --git a/src/lib/eolian/database_type.c b/src/lib/eolian/database_type.c
index a0d9652f9d..66d8a97f62 100644
--- a/src/lib/eolian/database_type.c
+++ b/src/lib/eolian/database_type.c
@@ -14,7 +14,6 @@ database_type_del(Eolian_Type *tp)
    eina_stringshare_del(tp->base.c_name);
    database_type_del(tp->base_type);
    database_type_del(tp->next_type);
-   if (tp->freefunc) eina_stringshare_del(tp->freefunc);
    free(tp);
 }
 
diff --git a/src/lib/eolian/database_validate.c 
b/src/lib/eolian/database_validate.c
index 79d8f7154c..8e14a95554 100644
--- a/src/lib/eolian/database_validate.c
+++ b/src/lib/eolian/database_validate.c
@@ -289,9 +289,6 @@ _validate_type(Validate_State *vals, Eolian_Type *tp)
                    default:
                      break;
                   }
-                /* FIXME: remove this after c++/c# has fixed their stuff */
-                if (tp->freefunc)
-                  tp->ownable = EINA_TRUE;
                 return _validate_ownable(tp);
              }
            /* user defined */
@@ -310,7 +307,7 @@ _validate_type(Validate_State *vals, Eolian_Type *tp)
              }
            if (!_validate_typedecl(vals, tp->tdecl))
              return EINA_FALSE;
-           if (tp->tdecl->ownable || tp->freefunc)
+           if (tp->tdecl->ownable)
              tp->ownable = EINA_TRUE;
            tp->base.c_name = eina_stringshare_ref(tp->tdecl->base.c_name);
            return _validate_ownable(tp);
diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 90920924b0..de6a9bc789 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -708,22 +708,6 @@ parse_type_void(Eo_Lexer *ls, Eina_Bool allow_ptr)
            check_match(ls, ')', '(', pline, pcol);
            return def;
         }
-      case KW_free:
-        {
-           int pline, pcolumn;
-           eo_lexer_get(ls);
-           pline = ls->line_number;
-           pcolumn = ls->column;
-           check_next(ls, '(');
-           def = parse_type_void(ls, allow_ptr);
-           check_next(ls, ',');
-           check(ls, TOK_VALUE);
-           def->freefunc = eina_stringshare_ref(ls->t.value.s);
-           eo_lexer_get(ls);
-           FILL_BASE(def->base, ls, line, col, TYPE);
-           check_match(ls, ')', '(', pline, pcolumn);
-           return def;
-        }
       case KW_error:
         {
            int pline, pcolumn;
diff --git a/src/lib/eolian/eolian_database.h b/src/lib/eolian/eolian_database.h
index d1902655d1..4c08874ab8 100644
--- a/src/lib/eolian/eolian_database.h
+++ b/src/lib/eolian/eolian_database.h
@@ -264,7 +264,6 @@ struct _Eolian_Type
    Eolian_Type_Builtin_Type btype;
    Eolian_Type *base_type;
    Eolian_Type *next_type;
-   Eina_Stringshare *freefunc;
    union
    {
       Eolian_Class *klass;

-- 


Reply via email to