]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
GObject: Add _vala_ suffix to get/set_property to avoid name clashes
authorLuca Bruno <lethalman88@gmail.com>
Thu, 9 Sep 2010 13:42:59 +0000 (15:42 +0200)
committerJürg Billeter <j@bitron.ch>
Thu, 9 Sep 2010 13:45:22 +0000 (15:45 +0200)
Fixes bug 624594.

codegen/valadbusclientmodule.vala
codegen/valagobjectmodule.vala
tests/Makefile.am
tests/objects/bug624594.vala [new file with mode: 0644]

index 360d3c9f478d8b79256bd6952b8992cd886e358f..d8aca219efca6c05c01dbf1b89bf3f582984de8c 100644 (file)
@@ -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"));
index c2be061fb92c783f219e712462076e2a5e5559ea..7923fd3b5b22b45c61d11ef743cf17f2cc9b251f 100644 (file)
@@ -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"));
index b24ea23ec60e0e81bc9882a057c8bd2562bec4de..08bf293351ecaf32d32309555ab56308a7c86bec 100644 (file)
@@ -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 (file)
index 0000000..4895004
--- /dev/null
@@ -0,0 +1,6 @@
+class Foo : Object {
+       public int property { get; set; }
+}
+
+void main () {
+}