summaryrefslogtreecommitdiff
path: root/vala/valasymbol.vala
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2008-06-17 20:15:14 +0000
committerJürg Billeter <juergbi@src.gnome.org>2008-06-17 20:15:14 +0000
commit0f16446eb53561f488490e0f12549728e5aad767 (patch)
tree66079b2d951bf2f0468c9525fa4f8fbbba532972 /vala/valasymbol.vala
parent64d40fa2296b40679e9a045cbf0a7adf020e1f92 (diff)
downloadvala-0f16446eb53561f488490e0f12549728e5aad767.tar.gz
Use CamelCase for methods and signals exported to D-Bus, fixes bug 538818
2008-06-17 Jürg Billeter <j@bitron.ch> * vala/valasymbol.vala: * gobject/valaccodeobjecttypesymbolbinding.vala: Use CamelCase for methods and signals exported to D-Bus, fixes bug 538818 svn path=/trunk/; revision=1608
Diffstat (limited to 'vala/valasymbol.vala')
-rw-r--r--vala/valasymbol.vala29
1 files changed, 29 insertions, 0 deletions
diff --git a/vala/valasymbol.vala b/vala/valasymbol.vala
index 3f3db5fb6..8300d9c71 100644
--- a/vala/valasymbol.vala
+++ b/vala/valasymbol.vala
@@ -236,6 +236,35 @@ public abstract class Vala.Symbol : CodeNode {
return result.str;
}
+ /**
+ * Converts a string from lower_case to CamelCase.
+ *
+ * @param lower_case a string in lower case
+ * @return the specified string converted to camel case
+ */
+ public static string lower_case_to_camel_case (string lower_case) {
+ var result = new StringBuilder ("");
+
+ weak string i = lower_case;
+
+ bool last_underscore = true;
+ while (i.len () > 0) {
+ unichar c = i.get_char ();
+ if (c == '_') {
+ last_underscore = true;
+ } else if (last_underscore) {
+ result.append_unichar (c.toupper ());
+ last_underscore = false;
+ } else {
+ result.append_unichar (c);
+ }
+
+ i = i.next_char ();
+ }
+
+ return result.str;
+ }
+
// get the top scope from where this symbol is still accessible
public Scope? get_top_accessible_scope () {
if (access != SymbolAccessibility.PUBLIC) {