[vala] GAsync: Fix closure's field names
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Subject: [vala] GAsync: Fix closure's field names
- Date: Fri, 3 Jul 2009 14:42:11 +0000 (UTC)
commit 7a8d90ddbbdc14fc6c8b5cae158e09e2e9c539ca
Author: Didier 'Ptitjes <ptitjes free fr>
Date: Sun May 31 04:35:48 2009 +0200
GAsync: Fix closure's field names
Parameter names must be escaped like other Vala variables.
Signed-off-by: Didier 'Ptitjes <ptitjes free fr>
codegen/valaccodememberaccessmodule.vala | 2 +-
codegen/valagasyncmodule.vala | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/codegen/valaccodememberaccessmodule.vala b/codegen/valaccodememberaccessmodule.vala
index 4bfd916..a225c80 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 c49f6a2..f2ab75d 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)))));
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]