summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Bruno <lethalman88@gmail.com>2010-09-09 15:42:59 +0200
committerJürg Billeter <j@bitron.ch>2010-09-09 15:45:22 +0200
commit994935e2af012d64fe053709fccfbbf76c090a54 (patch)
treebcfeb3274321fe30f961c8fc4fed0aee1a16cbdf
parent8166abea81a4767977dfa7340b5f6bcf288c1f04 (diff)
downloadvala-994935e2af012d64fe053709fccfbbf76c090a54.tar.gz
GObject: Add _vala_ suffix to get/set_property to avoid name clashes
Fixes bug 624594.
-rw-r--r--codegen/valadbusclientmodule.vala8
-rw-r--r--codegen/valagobjectmodule.vala8
-rw-r--r--tests/Makefile.am1
-rw-r--r--tests/objects/bug624594.vala6
4 files changed, 15 insertions, 8 deletions
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 () {
+}