summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@samsung.com>2019-09-02 15:55:49 +0200
committerDaniel Kolesa <d.kolesa@samsung.com>2019-09-03 16:51:57 +0200
commit6efd0012cfd92875bcbebcbe5f2129271e5402f3 (patch)
tree042bd804f9eca2dc29afc295d6f9419400cdf8bb
parent10a5d83e83e39b943aab6bca5e999e5862c6dcbd (diff)
downloadefl-6efd0012cfd92875bcbebcbe5f2129271e5402f3.tar.gz
eolian_gen: do not generate reflection for ref-returns
-rw-r--r--src/bin/eolian/sources.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/bin/eolian/sources.c b/src/bin/eolian/sources.c
index 2c45163171..94078fd5ed 100644
--- a/src/bin/eolian/sources.c
+++ b/src/bin/eolian/sources.c
@@ -527,7 +527,8 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
Eolian_Function_Parameter *pr = d1;
rtp = eolian_parameter_type_get(pr);
/* reflect only when returning 1 val */
- reflect_type = rtp;
+ if (!eolian_parameter_is_by_ref(pr))
+ reflect_type = rtp;
var_as_ret = EINA_TRUE;
def_ret = eolian_parameter_default_value_get(pr);
}
@@ -543,7 +544,8 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
if (eina_iterator_next(itr, &d1) && !eina_iterator_next(itr, &d2))
{
Eolian_Function_Parameter *pr = d1;
- reflect_type = eolian_parameter_type_get(pr);
+ if (!eolian_parameter_is_by_ref(pr))
+ reflect_type = eolian_parameter_type_get(pr);
}
eina_iterator_free(itr);
}