From: Luca Bruno Date: Thu, 9 Sep 2010 13:42:59 +0000 (+0200) Subject: GObject: Add _vala_ suffix to get/set_property to avoid name clashes X-Git-Tag: 0.11.0~101 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=994935e2af012d64fe053709fccfbbf76c090a54;p=thirdparty%2Fvala.git GObject: Add _vala_ suffix to get/set_property to avoid name clashes Fixes bug 624594. --- diff --git a/codegen/valadbusclientmodule.vala b/codegen/valadbusclientmodule.vala index 360d3c9f4..d8aca219e 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 c2be061fb..7923fd3b5 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 b24ea23ec..08bf29335 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 000000000..4895004bf --- /dev/null +++ b/tests/objects/bug624594.vala @@ -0,0 +1,6 @@ +class Foo : Object { + public int property { get; set; } +} + +void main () { +}