From 5b8f3a083b5e3d2e84e8d6c2ddfefab530792683 Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Thu, 12 Feb 2015 11:32:34 +0000 Subject: [PATCH] eolian: write the new parameters into the database --- src/lib/eolian/eo_parser.c | 2 ++ src/lib/eolian/eolian_database.h | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 884302e..669f196 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -1143,12 +1143,14 @@ parse_param(Eo_Lexer *ls, Eina_List **params, Eina_Bool allow_inout, break; case KW_at_optional: CASE_LOCK(ls, optional, "optional qualifier"); + par->optional = EINA_TRUE; eo_lexer_get(ls); break; case KW_at_nullable: if (has_nonull) eo_lexer_syntax_error(ls, "both nullable and nonull specified"); CASE_LOCK(ls, nullable, "c_only qualifier"); + par->nullable = EINA_TRUE; eo_lexer_get(ls); break; default: diff --git a/src/lib/eolian/eolian_database.h b/src/lib/eolian/eolian_database.h index b12e05a..309f614 100644 --- a/src/lib/eolian/eolian_database.h +++ b/src/lib/eolian/eolian_database.h @@ -133,7 +133,9 @@ struct _Eolian_Function_Parameter Eolian_Parameter_Dir param_dir; Eina_Bool is_const_on_get :1; /* True if const in this the get property */ Eina_Bool is_const_on_set :1; /* True if const in this the set property */ - Eina_Bool nonull :1; /* True if this argument cannot be NULL */ + Eina_Bool nonull :1; /* True if this argument cannot be NULL - deprecated */ + Eina_Bool nullable :1; /* True if this argument is nullable */ + Eina_Bool optional :1; /* True if this argument is optional */ }; struct _Eolian_Type -- 2.7.4