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 ()) {
}
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)) {
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)))));
}
}