[vala] codegen: Fix type check of ref parameters
- From: Luca Bruno <lucabru src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] codegen: Fix type check of ref parameters
- Date: Fri, 11 Nov 2011 20:31:29 +0000 (UTC)
commit 3d4112da8c4359b6df9ad97a54878e8fe567c962
Author: Luca Bruno <lucabru src gnome org>
Date: Fri Nov 11 21:29:54 2011 +0100
codegen: Fix type check of ref parameters
Fixes bug 663818.
codegen/valaccodemethodmodule.vala | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/codegen/valaccodemethodmodule.vala b/codegen/valaccodemethodmodule.vala
index a5be334..982f5ce 100644
--- a/codegen/valaccodemethodmodule.vala
+++ b/codegen/valaccodemethodmodule.vala
@@ -443,7 +443,11 @@ public abstract class Vala.CCodeMethodModule : CCodeStructModule {
if (param.direction != ParameterDirection.OUT) {
var t = param.variable_type.data_type;
if (t != null && (t.is_reference_type () || param.variable_type.is_real_struct_type ())) {
- create_method_type_check_statement (m, creturn_type, t, !param.variable_type.nullable, get_variable_cname (param.name));
+ var cname = get_variable_cname (param.name);
+ if (param.direction == ParameterDirection.REF && !param.variable_type.is_real_struct_type ()) {
+ cname = "*"+cname;
+ }
+ create_method_type_check_statement (m, creturn_type, t, !param.variable_type.nullable, cname);
}
} else if (!m.coroutine) {
// declare local variable for out parameter to allow assignment even when caller passes NULL
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]