summaryrefslogtreecommitdiff
path: root/src/lib/eolian/eolian_database.h
diff options
context:
space:
mode:
authorDaniel Kolesa <daniel@octaforge.org>2019-03-08 08:17:01 -0500
committerMike Blumenkrantz <zmike@samsung.com>2019-03-08 08:17:01 -0500
commit1a17aff85ffca1cae6d71aa6273e6a8214154276 (patch)
tree00ab2bc42a75136d4778a8c0c57500072550742e /src/lib/eolian/eolian_database.h
parent23d0076346e64456280bd9b9c2d1d2659d065fd2 (diff)
eolian: add support for marking type declarations beta
Summary: This also simplifies the beta checking API by unifying it under objects (makes much more sense that way) and reworks the validator to have betaness support within its context state, allowing checks to be done easily in any place. The betaness checks are disabled for types for the time being, because otherwise there are too many errors (types are assumed to be stable as they are not tagged beta, but they reference beta classes all over the place). Set EOLIAN_TYPEDECL_BETA_WARN to 1 in your environment to force enable the checks. Reviewers: zmike, bu5hm4n, stefan_schmidt, lauromoura, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl, #eolian Differential Revision: https://phab.enlightenment.org/D8102
Diffstat (limited to 'src/lib/eolian/eolian_database.h')
-rw-r--r--src/lib/eolian/eolian_database.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/lib/eolian/eolian_database.h b/src/lib/eolian/eolian_database.h
index b70f2b4..058da20 100644
--- a/src/lib/eolian/eolian_database.h
+++ b/src/lib/eolian/eolian_database.h
@@ -89,7 +89,8 @@ struct _Eolian_Object
89 int column; 89 int column;
90 int refcount; 90 int refcount;
91 Eolian_Object_Type type; 91 Eolian_Object_Type type;
92 Eina_Bool validated; 92 Eina_Bool validated: 1;
93 Eina_Bool is_beta: 1;
93}; 94};
94 95
95static inline void 96static inline void
@@ -196,7 +197,6 @@ struct _Eolian_Class
196 Eina_List *callables; /* internal for now */ 197 Eina_List *callables; /* internal for now */
197 Eina_Bool class_ctor_enable:1; 198 Eina_Bool class_ctor_enable:1;
198 Eina_Bool class_dtor_enable:1; 199 Eina_Bool class_dtor_enable:1;
199 Eina_Bool is_beta :1;
200}; 200};
201 201
202struct _Eolian_Function 202struct _Eolian_Function
@@ -232,7 +232,6 @@ struct _Eolian_Function
232 Eina_Bool get_only_legacy: 1; 232 Eina_Bool get_only_legacy: 1;
233 Eina_Bool set_only_legacy: 1; 233 Eina_Bool set_only_legacy: 1;
234 Eina_Bool is_class :1; 234 Eina_Bool is_class :1;
235 Eina_Bool is_beta :1;
236 Eina_List *ctor_of; 235 Eina_List *ctor_of;
237 Eolian_Class *klass; 236 Eolian_Class *klass;
238}; 237};
@@ -328,7 +327,6 @@ struct _Eolian_Event
328 Eolian_Type *type; 327 Eolian_Type *type;
329 Eolian_Class *klass; 328 Eolian_Class *klass;
330 Eolian_Object_Scope scope; 329 Eolian_Object_Scope scope;
331 Eina_Bool is_beta :1;
332 Eina_Bool is_hot :1; 330 Eina_Bool is_hot :1;
333 Eina_Bool is_restart :1; 331 Eina_Bool is_restart :1;
334}; 332};