summaryrefslogtreecommitdiff
path: root/codegen/valagobjectmodule.vala
diff options
context:
space:
mode:
authorSeverin Heiniger <severinheiniger@gmail.com>2014-06-26 22:12:14 -0700
committerRico Tzschichholz <ricotz@ubuntu.com>2016-11-03 22:35:48 +0100
commit457743fa935c668dcda5b7e9e57187f648357801 (patch)
tree44f66433f8b9eb60824e6508142cdc0e0fa1ba1e /codegen/valagobjectmodule.vala
parent9cc97eb0d982b416802e6373b6b9d1d989a33de8 (diff)
downloadvala-457743fa935c668dcda5b7e9e57187f648357801.tar.gz
codegen: Allow underscores in type parameter names
https://bugzilla.gnome.org/show_bug.cgi?id=644938
Diffstat (limited to 'codegen/valagobjectmodule.vala')
-rw-r--r--codegen/valagobjectmodule.vala15
1 files changed, 9 insertions, 6 deletions
diff --git a/codegen/valagobjectmodule.vala b/codegen/valagobjectmodule.vala
index d4b888708..33bb87805 100644
--- a/codegen/valagobjectmodule.vala
+++ b/codegen/valagobjectmodule.vala
@@ -79,8 +79,11 @@ public class Vala.GObjectModule : GTypeModule {
CCodeConstant func_name_constant;
CCodeFunctionCall cinst, cspec;
- func_name = "%s_type".printf (type_param.name.ascii_down ());
- func_name_constant = new CCodeConstant ("\"%s-type\"".printf (type_param.name.ascii_down ()));
+ var name_prefix = type_param.name.down ();
+ var canonical_prefix = name_prefix.replace ("_", "-");
+
+ func_name = "%s_type".printf (name_prefix);
+ func_name_constant = new CCodeConstant ("\"%s-type\"".printf (canonical_prefix));
enum_value = "%s_%s".printf (get_ccode_lower_case_name (cl, null), func_name).ascii_up ();
cinst = new CCodeFunctionCall (new CCodeIdentifier ("g_object_class_install_property"));
cinst.add_argument (ccall);
@@ -96,8 +99,8 @@ public class Vala.GObjectModule : GTypeModule {
prop_enum.add_value (new CCodeEnumValue (enum_value));
- func_name = "%s_dup_func".printf (type_param.name.ascii_down ());
- func_name_constant = new CCodeConstant ("\"%s-dup-func\"".printf (type_param.name.ascii_down ()));
+ func_name = "%s_dup_func".printf (name_prefix);
+ func_name_constant = new CCodeConstant ("\"%s-dup-func\"".printf (canonical_prefix));
enum_value = "%s_%s".printf (get_ccode_lower_case_name (cl, null), func_name).ascii_up ();
cinst = new CCodeFunctionCall (new CCodeIdentifier ("g_object_class_install_property"));
cinst.add_argument (ccall);
@@ -112,8 +115,8 @@ public class Vala.GObjectModule : GTypeModule {
prop_enum.add_value (new CCodeEnumValue (enum_value));
- func_name = "%s_destroy_func".printf (type_param.name.ascii_down ());
- func_name_constant = new CCodeConstant ("\"%s-destroy-func\"".printf (type_param.name.ascii_down ()));
+ func_name = "%s_destroy_func".printf (name_prefix);
+ func_name_constant = new CCodeConstant ("\"%s-destroy-func\"".printf (canonical_prefix));
enum_value = "%s_%s".printf (get_ccode_lower_case_name (cl, null), func_name).ascii_up ();
cinst = new CCodeFunctionCall (new CCodeIdentifier ("g_object_class_install_property"));
cinst.add_argument (ccall);