q66 pushed a commit to branch master.

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

commit eee5cc4fdc50bb30d774051a797fdf281b3609aa
Author: Daniel Kolesa <d.kol...@osg.samsung.com>
Date:   Thu Feb 18 10:06:33 2016 +0000

    eolian: re-enable strict validation
---
 src/Makefile_Eolian_Helper.am      |  8 ++++----
 src/lib/eolian/database_validate.c | 12 ++++++------
 src/tests/eolian_cxx/callback.eo   |  2 ++
 src/tests/eolian_cxx/generic.eo    |  2 ++
 4 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/Makefile_Eolian_Helper.am b/src/Makefile_Eolian_Helper.am
index 22b09d6..9159cf8 100644
--- a/src/Makefile_Eolian_Helper.am
+++ b/src/Makefile_Eolian_Helper.am
@@ -15,21 +15,21 @@ SUFFIXES = .eo .eo.c .eo.h .eo.legacy.h .eot .eot.h
 %.eo.c: %.eo ${_EOLIAN_GEN_DEP}
        $(AM_V_EOL) \
        $(MKDIR_P) $(dir $@); \
-       $(EOLIAN_GEN) --legacy --silent-types $(EOLIAN_FLAGS) --gc -o $@ $<
+       EOLIAN_VALIDATE_STRICT=1 $(EOLIAN_GEN) --legacy $(EOLIAN_FLAGS) --gc -o 
$@ $<
 
 %.eo.h: %.eo ${_EOLIAN_GEN_DEP}
        $(AM_V_EOL) \
        $(MKDIR_P) $(dir $@); \
-       EOLIAN_VERBOSE_TYPES=1 $(EOLIAN_GEN) $(EOLIAN_FLAGS) --gh -o $@ $<
+       EOLIAN_VALIDATE_STRICT=1 $(EOLIAN_GEN) $(EOLIAN_FLAGS) --gh -o $@ $<
 
 %.eot.h: %.eot ${_EOLIAN_GEN_DEP}
        $(AM_V_EOL) \
        $(MKDIR_P) $(dir $@); \
-       EOLIAN_VERBOSE_TYPES=1 $(EOLIAN_GEN) $(EOLIAN_FLAGS) --gh -o $@ $<
+       EOLIAN_VALIDATE_STRICT=1 $(EOLIAN_GEN) $(EOLIAN_FLAGS) --gh -o $@ $<
 
 %.eo.legacy.h: %.eo ${_EOLIAN_GEN_DEP}
        $(AM_V_EOL) \
        $(MKDIR_P) $(dir $@); \
-       $(EOLIAN_GEN) --legacy --silent-types $(EOLIAN_FLAGS) --gh -o $@ $<
+       EOLIAN_VALIDATE_STRICT=1 $(EOLIAN_GEN) --legacy $(EOLIAN_FLAGS) --gh -o 
$@ $<
 
 CLEANFILES += $(BUILT_SOURCES)
diff --git a/src/lib/eolian/database_validate.c 
b/src/lib/eolian/database_validate.c
index 381564d..2a44a3d 100644
--- a/src/lib/eolian/database_validate.c
+++ b/src/lib/eolian/database_validate.c
@@ -174,9 +174,10 @@ _ef_map_cb(const Eina_Hash *hash EINA_UNUSED, const void 
*key EINA_UNUSED,
 static Eina_Bool
 _type_error(const Validator *vs, const Eolian_Type *tp, const char *msg)
 {
+   Eina_Bool weak = !getenv("EOLIAN_VALIDATE_STRICT");
    if (vs->silent_types)
-     return EINA_FALSE;
-   if (getenv("EOLIAN_VERBOSE_TYPES"))
+     return weak;
+   if (!weak)
      {
         fprintf(stderr, "eolian:%s:%d:%d: %s\n", tp->base.file, tp->base.line,
                 tp->base.column, msg);
@@ -184,7 +185,7 @@ _type_error(const Validator *vs, const Eolian_Type *tp, 
const char *msg)
      }
    eina_log_print(_eolian_log_dom, EINA_LOG_LEVEL_WARN, tp->base.file, "",
                   tp->base.line, "%s at column %d", msg, tp->base.column);
-   return EINA_FALSE;
+   return EINA_TRUE;
 }
 
 static Eina_Bool
@@ -212,8 +213,7 @@ _validate_type(const Validator *vs, const Eolian_Type *tp)
              {
                 char buf[256];
                 snprintf(buf, sizeof(buf), "undefined type %s", tp->full_name);
-                _type_error(vs, tp, buf);
-                return EINA_TRUE; /* for now only warn */
+                return _type_error(vs, tp, buf);
              }
            return _validate_type(vs, tpp);
         }
@@ -246,7 +246,7 @@ _validate_type(const Validator *vs, const Eolian_Type *tp)
                 char buf[256];
                 snprintf(buf, sizeof(buf), "undefined class %s "
                          "(likely wrong namespacing)", tp->full_name);
-                _type_error(vs, tp, buf);
+                return _type_error(vs, tp, buf);
              }
            return EINA_TRUE;
         }
diff --git a/src/tests/eolian_cxx/callback.eo b/src/tests/eolian_cxx/callback.eo
index c29417b..ea11cf9 100644
--- a/src/tests/eolian_cxx/callback.eo
+++ b/src/tests/eolian_cxx/callback.eo
@@ -1,3 +1,5 @@
+type @extern Ecore_Cb: __undefined_type;
+
 class Callback (Eo.Base)
 {
    legacy_prefix: null;
diff --git a/src/tests/eolian_cxx/generic.eo b/src/tests/eolian_cxx/generic.eo
index fcef848..a66d560 100644
--- a/src/tests/eolian_cxx/generic.eo
+++ b/src/tests/eolian_cxx/generic.eo
@@ -1,3 +1,5 @@
+type @extern Ecore_Cb: __undefined_type;
+
 class Generic (Eo.Base)
 {
    legacy_prefix: null;

-- 


Reply via email to