[vala] Do not write default param_spec_function in VAPI files



commit 01b30d58c012766e431af3f0144d5318e2c411a7
Author: Jürg Billeter <j bitron ch>
Date:   Thu Sep 3 20:25:52 2009 +0200

    Do not write default param_spec_function in VAPI files

 vala/valaclass.vala      |   22 +++++++++++++---------
 vala/valacodewriter.vala |    3 +--
 2 files changed, 14 insertions(+), 11 deletions(-)
---
diff --git a/vala/valaclass.vala b/vala/valaclass.vala
index 7bb0532..e4b193f 100644
--- a/vala/valaclass.vala
+++ b/vala/valaclass.vala
@@ -721,20 +721,24 @@ public class Vala.Class : ObjectTypeSymbol {
 
 	public override string? get_param_spec_function () {
 		if (param_spec_function == null) {
-			if (is_fundamental ()) {
-				param_spec_function = get_lower_case_cname ("param_spec_");
-			} else if (base_class != null) {
-				param_spec_function = base_class.get_param_spec_function ();
-			} else if (get_type_id () == "G_TYPE_POINTER") {
-				param_spec_function = "g_param_spec_pointer";
-			} else {
-				param_spec_function = "g_param_spec_boxed";
-			}
+			param_spec_function = get_default_param_spec_function ();
 		}
 
 		return param_spec_function;
 	}
 
+	public string? get_default_param_spec_function () {
+		if (is_fundamental ()) {
+			return get_lower_case_cname ("param_spec_");
+		} else if (base_class != null) {
+			return base_class.get_param_spec_function ();
+		} else if (get_type_id () == "G_TYPE_POINTER") {
+			return "g_param_spec_pointer";
+		} else {
+			return "g_param_spec_boxed";
+		}
+	}
+
 	public override string? get_get_value_function () {
 		if (get_value_function == null) {
 			if (is_fundamental ()) {
diff --git a/vala/valacodewriter.vala b/vala/valacodewriter.vala
index 7d082bf..dbc1cb8 100644
--- a/vala/valacodewriter.vala
+++ b/vala/valacodewriter.vala
@@ -199,8 +199,7 @@ public class Vala.CodeWriter : CodeVisitor {
 			write_string ("type_id = \"%s\", ".printf (cl.get_type_id ()));
 		}
 
-		if (cl.get_param_spec_function () != null
-		    && (cl.base_class == null || cl.get_param_spec_function () != cl.base_class.get_param_spec_function ())) {
+		if (cl.get_param_spec_function () != cl.get_default_param_spec_function ()) {
 			write_string ("param_spec_function = \"%s\", ".printf (cl.get_param_spec_function ()));
 		}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]