eolian: write the new parameters into the database
authorDaniel Kolesa <d.kolesa@samsung.com>
Thu, 12 Feb 2015 11:32:34 +0000 (11:32 +0000)
committerDaniel Kolesa <d.kolesa@samsung.com>
Thu, 12 Feb 2015 11:32:34 +0000 (11:32 +0000)
src/lib/eolian/eo_parser.c
src/lib/eolian/eolian_database.h

index 884302e..669f196 100644 (file)
@@ -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:
index b12e05a..309f614 100644 (file)
@@ -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