From: Didier 'Ptitjes Date: Sun, 31 May 2009 02:35:48 +0000 (+0200) Subject: GAsync: Fix closure's field names X-Git-Tag: 0.7.5~125 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a8d90ddbbdc14fc6c8b5cae158e09e2e9c539ca;p=thirdparty%2Fvala.git GAsync: Fix closure's field names Parameter names must be escaped like other Vala variables. Signed-off-by: Didier 'Ptitjes --- diff --git a/codegen/valaccodememberaccessmodule.vala b/codegen/valaccodememberaccessmodule.vala index 4bfd9163d..a225c80ef 100644 --- a/codegen/valaccodememberaccessmodule.vala +++ b/codegen/valaccodememberaccessmodule.vala @@ -320,7 +320,7 @@ internal class Vala.CCodeMemberAccessModule : CCodeControlFlowModule { if (p.name == "this") { if (current_method != null && current_method.coroutine) { // use closure - expr.ccodenode = get_variable_cexpression ("self"); + expr.ccodenode = new CCodeMemberAccess.pointer (new CCodeIdentifier ("data"), "self"); } else { var st = current_type_symbol as Struct; if (st != null && !st.is_simple_type ()) { diff --git a/codegen/valagasyncmodule.vala b/codegen/valagasyncmodule.vala index c49f6a289..f2ab75d34 100644 --- a/codegen/valagasyncmodule.vala +++ b/codegen/valagasyncmodule.vala @@ -42,7 +42,7 @@ internal class Vala.GAsyncModule : GSignalModule { } foreach (FormalParameter param in m.get_parameters ()) { - data.add_field (param.parameter_type.get_cname (), param.name); + data.add_field (param.parameter_type.get_cname (), get_variable_cname (param.name)); } if (!(m.return_type is VoidType)) { @@ -151,7 +151,7 @@ internal class Vala.GAsyncModule : GSignalModule { foreach (FormalParameter param in m.get_parameters ()) { if (param.direction != ParameterDirection.OUT) { - asyncblock.add_statement (new CCodeExpressionStatement (new CCodeAssignment (new CCodeMemberAccess.pointer (new CCodeIdentifier ("data"), param.name), new CCodeIdentifier (param.name)))); + asyncblock.add_statement (new CCodeExpressionStatement (new CCodeAssignment (new CCodeMemberAccess.pointer (new CCodeIdentifier ("data"), get_variable_cname (param.name)), new CCodeIdentifier (get_variable_cname (param.name))))); } }