summaryrefslogtreecommitdiff
path: root/src/bin/eolian
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 /src/bin/eolian
parent10a5d83e83e39b943aab6bca5e999e5862c6dcbd (diff)
eolian_gen: do not generate reflection for ref-returns
Diffstat (limited to 'src/bin/eolian')
-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 2c45163..94078fd 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,
527 Eolian_Function_Parameter *pr = d1; 527 Eolian_Function_Parameter *pr = d1;
528 rtp = eolian_parameter_type_get(pr); 528 rtp = eolian_parameter_type_get(pr);
529 /* reflect only when returning 1 val */ 529 /* reflect only when returning 1 val */
530 reflect_type = rtp; 530 if (!eolian_parameter_is_by_ref(pr))
531 reflect_type = rtp;
531 var_as_ret = EINA_TRUE; 532 var_as_ret = EINA_TRUE;
532 def_ret = eolian_parameter_default_value_get(pr); 533 def_ret = eolian_parameter_default_value_get(pr);
533 } 534 }
@@ -543,7 +544,8 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
543 if (eina_iterator_next(itr, &d1) && !eina_iterator_next(itr, &d2)) 544 if (eina_iterator_next(itr, &d1) && !eina_iterator_next(itr, &d2))
544 { 545 {
545 Eolian_Function_Parameter *pr = d1; 546 Eolian_Function_Parameter *pr = d1;
546 reflect_type = eolian_parameter_type_get(pr); 547 if (!eolian_parameter_is_by_ref(pr))
548 reflect_type = eolian_parameter_type_get(pr);
547 } 549 }
548 eina_iterator_free(itr); 550 eina_iterator_free(itr);
549 } 551 }