[vala] GObject: Add _vala_ suffix to get/set_property to avoid name clashes



commit 994935e2af012d64fe053709fccfbbf76c090a54
Author: Luca Bruno <lethalman88 gmail com>
Date:   Thu Sep 9 15:42:59 2010 +0200

    GObject: Add _vala_ suffix to get/set_property to avoid name clashes
    
    Fixes bug 624594.

 codegen/valadbusclientmodule.vala |    8 ++++----
 codegen/valagobjectmodule.vala    |    8 ++++----
 tests/Makefile.am                 |    1 +
 tests/objects/bug624594.vala      |    6 ++++++
 4 files changed, 15 insertions(+), 8 deletions(-)
---
diff --git a/codegen/valadbusclientmodule.vala b/codegen/valadbusclientmodule.vala
index 360d3c9..d8aca21 100644
--- a/codegen/valadbusclientmodule.vala
+++ b/codegen/valadbusclientmodule.vala
@@ -1256,8 +1256,8 @@ public class Vala.DBusClientModule : DBusModule {
 		gobject_class.add_argument (new CCodeIdentifier ("klass"));
 		proxy_class_init.block.add_statement (new CCodeExpressionStatement (new CCodeAssignment (new CCodeMemberAccess.pointer (gobject_class, "constructor"), new CCodeIdentifier (lower_cname + "_construct"))));
 		proxy_class_init.block.add_statement (new CCodeExpressionStatement (new CCodeAssignment (new CCodeMemberAccess.pointer (gobject_class, "dispose"), new CCodeIdentifier (lower_cname + "_dispose"))));
-		proxy_class_init.block.add_statement (new CCodeExpressionStatement (new CCodeAssignment (new CCodeMemberAccess.pointer (gobject_class, "get_property"), new CCodeIdentifier (lower_cname + "_get_property"))));
-		proxy_class_init.block.add_statement (new CCodeExpressionStatement (new CCodeAssignment (new CCodeMemberAccess.pointer (gobject_class, "set_property"), new CCodeIdentifier (lower_cname + "_set_property"))));
+		proxy_class_init.block.add_statement (new CCodeExpressionStatement (new CCodeAssignment (new CCodeMemberAccess.pointer (gobject_class, "get_property"), new CCodeIdentifier ("_vala_%s_get_property".printf (lower_cname)))));
+		proxy_class_init.block.add_statement (new CCodeExpressionStatement (new CCodeAssignment (new CCodeMemberAccess.pointer (gobject_class, "set_property"), new CCodeIdentifier ("_vala_%s_set_property".printf (lower_cname)))));
 		cfile.add_function (proxy_class_init);
 
 		prop_enum = new CCodeEnum ();
@@ -1277,7 +1277,7 @@ public class Vala.DBusClientModule : DBusModule {
 
 		// dbus proxy get/set_property stubs
 		// TODO add actual implementation
-		var get_prop = new CCodeFunction ("%s_get_property".printf (lower_cname), "void");
+		var get_prop = new CCodeFunction ("_vala_%s_get_property".printf (lower_cname), "void");
 		get_prop.modifiers = CCodeModifiers.STATIC;
 		get_prop.add_parameter (new CCodeFormalParameter ("object", "GObject *"));
 		get_prop.add_parameter (new CCodeFormalParameter ("property_id", "guint"));
@@ -1287,7 +1287,7 @@ public class Vala.DBusClientModule : DBusModule {
 		get_prop.block = new CCodeBlock ();
 		cfile.add_function (get_prop);
 
-		var set_prop = new CCodeFunction ("%s_set_property".printf (lower_cname), "void");
+		var set_prop = new CCodeFunction ("_vala_%s_set_property".printf (lower_cname), "void");
 		set_prop.modifiers = CCodeModifiers.STATIC;
 		set_prop.add_parameter (new CCodeFormalParameter ("object", "GObject *"));
 		set_prop.add_parameter (new CCodeFormalParameter ("property_id", "guint"));
diff --git a/codegen/valagobjectmodule.vala b/codegen/valagobjectmodule.vala
index c2be061..7923fd3 100644
--- a/codegen/valagobjectmodule.vala
+++ b/codegen/valagobjectmodule.vala
@@ -51,10 +51,10 @@ public class Vala.GObjectModule : GTypeModule {
 		var ccall = new CCodeFunctionCall (new CCodeIdentifier ("G_OBJECT_CLASS"));
 		ccall.add_argument (new CCodeIdentifier ("klass"));
 		if (class_has_readable_properties (cl) || cl.get_type_parameters ().size > 0) {
-			init_block.add_statement (new CCodeExpressionStatement (new CCodeAssignment (new CCodeMemberAccess.pointer (ccall, "get_property"), new CCodeIdentifier ("%s_get_property".printf (cl.get_lower_case_cname (null))))));
+			init_block.add_statement (new CCodeExpressionStatement (new CCodeAssignment (new CCodeMemberAccess.pointer (ccall, "get_property"), new CCodeIdentifier ("_vala_%s_get_property".printf (cl.get_lower_case_cname (null))))));
 		}
 		if (class_has_writable_properties (cl) || cl.get_type_parameters ().size > 0) {
-			init_block.add_statement (new CCodeExpressionStatement (new CCodeAssignment (new CCodeMemberAccess.pointer (ccall, "set_property"), new CCodeIdentifier ("%s_set_property".printf (cl.get_lower_case_cname (null))))));
+			init_block.add_statement (new CCodeExpressionStatement (new CCodeAssignment (new CCodeMemberAccess.pointer (ccall, "set_property"), new CCodeIdentifier ("_vala_%s_set_property".printf (cl.get_lower_case_cname (null))))));
 		}
 	
 		/* set constructor */
@@ -174,7 +174,7 @@ public class Vala.GObjectModule : GTypeModule {
 	}
 
 	private void add_get_property_function (Class cl) {
-		var get_prop = new CCodeFunction ("%s_get_property".printf (cl.get_lower_case_cname (null)), "void");
+		var get_prop = new CCodeFunction ("_vala_%s_get_property".printf (cl.get_lower_case_cname (null)), "void");
 		get_prop.modifiers = CCodeModifiers.STATIC;
 		get_prop.add_parameter (new CCodeFormalParameter ("object", "GObject *"));
 		get_prop.add_parameter (new CCodeFormalParameter ("property_id", "guint"));
@@ -282,7 +282,7 @@ public class Vala.GObjectModule : GTypeModule {
 	}
 	
 	private void add_set_property_function (Class cl) {
-		var set_prop = new CCodeFunction ("%s_set_property".printf (cl.get_lower_case_cname (null)), "void");
+		var set_prop = new CCodeFunction ("_vala_%s_set_property".printf (cl.get_lower_case_cname (null)), "void");
 		set_prop.modifiers = CCodeModifiers.STATIC;
 		set_prop.add_parameter (new CCodeFormalParameter ("object", "GObject *"));
 		set_prop.add_parameter (new CCodeFormalParameter ("property_id", "guint"));
diff --git a/tests/Makefile.am b/tests/Makefile.am
index b24ea23..08bf293 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -70,6 +70,7 @@ TESTS = \
 	objects/bug597161.vala \
 	objects/bug613486.vala \
 	objects/bug620706.vala \
+	objects/bug624594.vala \
 	errors/errors.vala \
 	errors/bug567181.vala \
 	errors/bug579101.vala \
diff --git a/tests/objects/bug624594.vala b/tests/objects/bug624594.vala
new file mode 100644
index 0000000..4895004
--- /dev/null
+++ b/tests/objects/bug624594.vala
@@ -0,0 +1,6 @@
+class Foo : Object {
+	public int property { get; set; }
+}
+
+void main () {
+}



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