From: Rico Tzschichholz Date: Wed, 25 Oct 2017 11:10:41 +0000 (+0200) Subject: codegen: Avoid possible conflicts with internal property/signal defines X-Git-Tag: 0.39.1~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a481c3ae11c96d4e0aaff4811fb3fd6dfdbd568;p=thirdparty%2Fvala.git codegen: Avoid possible conflicts with internal property/signal defines https://bugzilla.gnome.org/show_bug.cgi?id=788964 --- diff --git a/codegen/valagtypemodule.vala b/codegen/valagtypemodule.vala index e75036041..aefcd0891 100644 --- a/codegen/valagtypemodule.vala +++ b/codegen/valagtypemodule.vala @@ -553,7 +553,7 @@ public class Vala.GTypeModule : GErrorModule { } prop_enum = new CCodeEnum (); - prop_enum.add_value (new CCodeEnumValue ("%s_DUMMY_PROPERTY".printf (get_ccode_upper_case_name (cl, null)))); + prop_enum.add_value (new CCodeEnumValue ("%s_0_PROPERTY".printf (get_ccode_upper_case_name (cl, null)))); signal_enum = new CCodeEnum (); class_init_context = new EmitContext (cl); base_init_context = new EmitContext (cl); @@ -565,7 +565,7 @@ public class Vala.GTypeModule : GErrorModule { generate_class_struct_declaration (cl, cfile); generate_class_private_declaration (cl, cfile); - var last_prop = "%s_LAST_PROPERTY".printf (get_ccode_upper_case_name (cl)); + var last_prop = "%s_NUM_PROPERTIES".printf (get_ccode_upper_case_name (cl)); if (is_gtypeinstance) { cfile.add_type_declaration (prop_enum); @@ -630,7 +630,7 @@ public class Vala.GTypeModule : GErrorModule { prop_enum.add_value (new CCodeEnumValue (last_prop)); if (cl.get_signals ().size > 0) { - var last_signal = "%s_LAST_SIGNAL".printf (get_ccode_upper_case_name (cl)); + var last_signal = "%s_NUM_SIGNALS".printf (get_ccode_upper_case_name (cl)); signal_enum.add_value (new CCodeEnumValue (last_signal)); cfile.add_type_declaration (signal_enum); @@ -2094,7 +2094,7 @@ public class Vala.GTypeModule : GErrorModule { iface.accept_children (this); if (iface.get_signals ().size > 0) { - var last_signal = "%s_LAST_SIGNAL".printf (get_ccode_upper_case_name (iface)); + var last_signal = "%s_NUM_SIGNALS".printf (get_ccode_upper_case_name (iface)); signal_enum.add_value (new CCodeEnumValue (last_signal)); cfile.add_type_declaration (signal_enum); diff --git a/tests/Makefile.am b/tests/Makefile.am index 337dac7a4..6f1874739 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -241,6 +241,7 @@ TESTS = \ objects/bug779219.vala \ objects/bug779955.vala \ objects/bug783897.vala \ + objects/bug788964.vala \ errors/errors.vala \ errors/bug567181.vala \ errors/bug579101.vala \ diff --git a/tests/objects/bug788964.vala b/tests/objects/bug788964.vala new file mode 100644 index 000000000..4865568df --- /dev/null +++ b/tests/objects/bug788964.vala @@ -0,0 +1,11 @@ +public class Foo : Object { + public signal void last (); +} + +public class Bar : Object { + public string dummy { get; set; } + public string last { get; set; } +} + +void main () { +}