[vala] codegen: Add return_default_value helper method
- From: Jürg Billeter <juergbi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] codegen: Add return_default_value helper method
- Date: Mon, 18 Oct 2010 14:33:33 +0000 (UTC)
commit e6aafaa71533d38bf2d67b27b270159c670b1305
Author: Jürg Billeter <j bitron ch>
Date: Mon Oct 18 16:30:33 2010 +0200
codegen: Add return_default_value helper method
codegen/valaccodebasemodule.vala | 4 ++++
codegen/valaccodemethodmodule.vala | 2 +-
codegen/valagasyncmodule.vala | 6 +-----
codegen/valagdbusclientmodule.vala | 12 ++----------
codegen/valagerrormodule.vala | 8 ++------
5 files changed, 10 insertions(+), 22 deletions(-)
---
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
index f5a55a1..c970eaf 100644
--- a/codegen/valaccodebasemodule.vala
+++ b/codegen/valaccodebasemodule.vala
@@ -5674,6 +5674,10 @@ public class Vala.CCodeBaseModule : CodeGenerator {
cfile.add_function (function);
}
+ public void return_default_value (DataType return_type) {
+ ccode.add_return (default_value_for_type (return_type, false));
+ }
+
public virtual string? get_custom_creturn_type (Method m) {
return null;
}
diff --git a/codegen/valaccodemethodmodule.vala b/codegen/valaccodemethodmodule.vala
index a7e7fd7..a7022c2 100644
--- a/codegen/valaccodemethodmodule.vala
+++ b/codegen/valaccodemethodmodule.vala
@@ -651,7 +651,7 @@ public class Vala.CCodeMethodModule : CCodeStructModule {
ccode.add_expression (cerrorcall);
// add return statement
- ccode.add_return (default_value_for_type (creturn_type, false));
+ return_default_value (creturn_type);
cfile.add_function (ccode);
}
diff --git a/codegen/valagasyncmodule.vala b/codegen/valagasyncmodule.vala
index 703e86e..8147358 100644
--- a/codegen/valagasyncmodule.vala
+++ b/codegen/valagasyncmodule.vala
@@ -433,11 +433,7 @@ public class Vala.GAsyncModule : GSignalModule {
propagate_error.add_argument (new CCodeIdentifier ("error"));
ccode.open_if (propagate_error);
- if (return_type is VoidType || return_type.is_real_non_null_struct_type ()) {
- ccode.add_return ();
- } else {
- ccode.add_return (default_value_for_type (return_type, false));
- }
+ return_default_value (return_type);
ccode.close ();
}
diff --git a/codegen/valagdbusclientmodule.vala b/codegen/valagdbusclientmodule.vala
index 223703a..7729d8a 100644
--- a/codegen/valagdbusclientmodule.vala
+++ b/codegen/valagdbusclientmodule.vala
@@ -479,11 +479,7 @@ public class Vala.GDBusClientModule : GDBusModule {
if (call_type == CallType.SYNC || call_type == CallType.FINISH) {
// return on error
ccode.open_if (new CCodeUnaryExpression (CCodeUnaryOperator.LOGICAL_NEGATION, new CCodeIdentifier ("_reply")));
- if (m.return_type is VoidType || m.return_type.is_real_non_null_struct_type ()) {
- ccode.add_return ();
- } else {
- ccode.add_return (default_value_for_type (m.return_type, false));
- }
+ return_default_value (m.return_type);
ccode.close ();
ccode.add_declaration ("GVariantIter", new CCodeVariableDeclarator ("_reply_iter"));
@@ -708,11 +704,7 @@ public class Vala.GDBusClientModule : GDBusModule {
// return on error
ccode.open_if (new CCodeUnaryExpression (CCodeUnaryOperator.LOGICAL_NEGATION, new CCodeIdentifier ("_reply")));
- if (prop.property_type.is_real_non_null_struct_type ()) {
- ccode.add_return ();
- } else {
- ccode.add_return (default_value_for_type (prop.property_type, false));
- }
+ return_default_value (prop.property_type);
ccode.close ();
ccode.add_declaration ("GVariantIter", new CCodeVariableDeclarator ("_reply_iter"));
diff --git a/codegen/valagerrormodule.vala b/codegen/valagerrormodule.vala
index 3a4f77c..a64b38a 100644
--- a/codegen/valagerrormodule.vala
+++ b/codegen/valagerrormodule.vala
@@ -109,10 +109,8 @@ public class Vala.GErrorModule : CCodeDelegateModule {
ccode.add_return (new CCodeConstant ("NULL"));
} else if (current_method != null && current_method.coroutine) {
ccode.add_return (new CCodeConstant ("FALSE"));
- } else if (current_return_type is VoidType) {
- ccode.add_return ();
} else {
- ccode.add_return (default_value_for_type (current_return_type, false));
+ return_default_value (current_return_type);
}
}
@@ -141,10 +139,8 @@ public class Vala.GErrorModule : CCodeDelegateModule {
ccode.add_return (new CCodeConstant ("NULL"));
} else if (current_method != null && current_method.coroutine) {
ccode.add_return (new CCodeConstant ("FALSE"));
- } else if (current_return_type is VoidType) {
- ccode.add_return ();
} else if (current_return_type != null) {
- ccode.add_return (default_value_for_type (current_return_type, false));
+ return_default_value (current_return_type);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]