]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: More use of get_variable_cexpression()
authorRico Tzschichholz <ricotz@ubuntu.com>
Sun, 18 Apr 2021 19:02:21 +0000 (21:02 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 19 Apr 2021 06:56:10 +0000 (08:56 +0200)
codegen/valaccodebasemodule.vala
codegen/valaccodememberaccessmodule.vala
codegen/valaccodemethodcallmodule.vala
codegen/valagerrormodule.vala

index c7b44e4e6d4681148afbf730911088128b2f61db..415522c42fe89698d8ccdb751f4b841a0f47582e 100644 (file)
@@ -1441,7 +1441,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                                                                var vardecl = new CCodeVariableDeclarator.zero (temp_decl.name, rhs);
                                                                ccode.add_declaration (get_ccode_name (temp_decl.variable_type), vardecl);
 
-                                                               var tmp = get_variable_cexpression (get_variable_cname (temp_decl.name));
+                                                               var tmp = get_variable_cexpression (temp_decl.name);
                                                                ccode.add_assignment (lhs, tmp);
 
                                                                ccode.close ();
index 05e5541f8ecf2c309bc0c1afc658dc587b3e4305..67a5434f3949c07372edc9beceefc80b96d86f75 100644 (file)
@@ -485,9 +485,9 @@ public abstract class Vala.CCodeMemberAccessModule : CCodeControlFlowModule {
                                }
                        } else if (delegate_type != null && delegate_type.delegate_symbol.has_target) {
                                if (is_in_coroutine ()) {
-                                       result.delegate_target_cvalue = new CCodeMemberAccess.pointer (new CCodeIdentifier ("_data_"), get_delegate_target_cname (get_local_cname (local)));
+                                       result.delegate_target_cvalue = get_variable_cexpression (get_delegate_target_cname (get_local_cname (local)));
                                        if (local.variable_type.is_disposable ()) {
-                                               result.delegate_target_destroy_notify_cvalue = new CCodeMemberAccess.pointer (new CCodeIdentifier ("_data_"), get_delegate_target_destroy_notify_cname (get_local_cname (local)));
+                                               result.delegate_target_destroy_notify_cvalue = get_variable_cexpression (get_delegate_target_destroy_notify_cname (get_local_cname (local)));
                                        }
                                } else {
                                        result.delegate_target_cvalue = new CCodeIdentifier (get_delegate_target_cname (get_local_cname (local)));
@@ -522,7 +522,7 @@ public abstract class Vala.CCodeMemberAccessModule : CCodeControlFlowModule {
                if (param.name == "this") {
                        if (is_in_coroutine ()) {
                                // use closure
-                               result.cvalue = new CCodeMemberAccess.pointer (new CCodeIdentifier ("_data_"), "self");
+                               result.cvalue = get_this_cexpression ();
                        } else {
                                unowned Struct? st = result.value_type.type_symbol as Struct;
                                if (st != null && !st.is_simple_type ()) {
@@ -555,9 +555,9 @@ public abstract class Vala.CCodeMemberAccessModule : CCodeControlFlowModule {
                                // use closure
                                result.cvalue = get_parameter_cexpression (param);
                                if (delegate_type != null && delegate_type.delegate_symbol.has_target) {
-                                       result.delegate_target_cvalue = new CCodeMemberAccess.pointer (new CCodeIdentifier ("_data_"), get_ccode_delegate_target_name (param));
+                                       result.delegate_target_cvalue = get_variable_cexpression (get_ccode_delegate_target_name (param));
                                        if (delegate_type.is_disposable ()) {
-                                               result.delegate_target_destroy_notify_cvalue = new CCodeMemberAccess.pointer (new CCodeIdentifier ("_data_"), get_ccode_delegate_target_destroy_notify_name (param));
+                                               result.delegate_target_destroy_notify_cvalue = get_variable_cexpression (get_ccode_delegate_target_destroy_notify_name (param));
                                        }
                                }
                        } else {
index c400dc2e9b450d16da37eeb9627ea8e51d619c64..7648f41262717b6a827de493bfdd451f50ba6e04 100644 (file)
@@ -160,11 +160,10 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                                params = m.get_async_begin_parameters ();
                        } else {
                                ccall = finish_call;
-
                                // output arguments used separately
                                out_arg_map = new HashMap<int,CCodeExpression> (direct_hash, direct_equal);
                                // pass GAsyncResult stored in closure to finish function
-                               out_arg_map.set (get_param_pos (get_ccode_async_result_pos (m)), new CCodeMemberAccess.pointer (new CCodeIdentifier ("_data_"), "_res_"));
+                               out_arg_map.set (get_param_pos (get_ccode_async_result_pos (m)), get_variable_cexpression ("_res_"));
                        }
                }
 
@@ -806,7 +805,7 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                        // set state before calling async function to support immediate callbacks
                        int state = emit_context.next_coroutine_state++;
 
-                       ccode.add_assignment (new CCodeMemberAccess.pointer (new CCodeIdentifier ("_data_"), "_state_"), new CCodeConstant (state.to_string ()));
+                       ccode.add_assignment (get_variable_cexpression ("_state_"), new CCodeConstant (state.to_string ()));
                        ccode.add_expression (async_call);
                        ccode.add_return (new CCodeConstant ("FALSE"));
                        ccode.add_label ("_state_%d".printf (state));
index d724c3c3a2f163f2524c806a4275ed4cd50326b5..92be271c760b1589dd6222f6cb3751857712e6d5 100644 (file)
@@ -157,9 +157,8 @@ public class Vala.GErrorModule : CCodeDelegateModule {
                                ccode.add_return (new CCodeConstant ("NULL"));
                        }
                } else if (is_in_coroutine ()) {
-                       var async_result_expr = new CCodeMemberAccess.pointer (new CCodeIdentifier ("_data_"), "_async_result");
                        var unref = new CCodeFunctionCall (new CCodeIdentifier ("g_object_unref"));
-                       unref.add_argument (async_result_expr);
+                       unref.add_argument (get_variable_cexpression ("_async_result"));
                        ccode.add_expression (unref);
                        ccode.add_return (new CCodeConstant ("FALSE"));
                } else if (current_return_type != null) {