diff options
author | Severin Heiniger <severinheiniger@gmail.com> | 2014-06-26 22:12:14 -0700 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2016-11-03 22:35:48 +0100 |
commit | 457743fa935c668dcda5b7e9e57187f648357801 (patch) | |
tree | 44f66433f8b9eb60824e6508142cdc0e0fa1ba1e /codegen/valagobjectmodule.vala | |
parent | 9cc97eb0d982b416802e6373b6b9d1d989a33de8 (diff) | |
download | vala-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.vala | 15 |
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); |