eolian: Allow promises to have a second type

Promises can have a second type, which is the progress type
This commit is contained in:
Felipe Magno de Almeida 2016-05-23 15:58:11 -03:00
parent e3c8b280c6
commit b613d6f1d9
3 changed files with 16 additions and 0 deletions

View File

@ -799,6 +799,12 @@ parse_type_void(Eo_Lexer *ls)
parse_type(ls));
pop_type(ls);
}
else if(tpid == KW_promise && test_next(ls, ','))
{
def->subtypes = eina_list_append(def->subtypes,
parse_type(ls));
pop_type(ls);
}
check_match(ls, '>', '<', bline, bcol);
}
}

View File

@ -11,6 +11,11 @@
struct Generated_Promise_Data {};
typedef struct Generated_Promise_Data Generated_Promise_Data;
static void _generated_promise_method_progress_type(Eo *obj EINA_UNUSED, Generated_Promise_Data *pd EINA_UNUSED,
Eina_Promise_Owner *promise1 EINA_UNUSED)
{
}
static Eina_Promise * _generated_promise_prop1_get(Eo *obj EINA_UNUSED, Generated_Promise_Data *pd EINA_UNUSED)
{
return NULL;

View File

@ -6,6 +6,11 @@ class Generated_Promise (Eo.Base)
@inout promise1: promise<int>;
}
}
method_progress_type {
params {
@inout promise1: promise<int, double>;
}
}
method_multiple_args_1 {
params {
@inout promise1: promise<int>;