diff options
author | Jürg Billeter <j@bitron.ch> | 2008-06-17 20:15:14 +0000 |
---|---|---|
committer | Jürg Billeter <juergbi@src.gnome.org> | 2008-06-17 20:15:14 +0000 |
commit | 0f16446eb53561f488490e0f12549728e5aad767 (patch) | |
tree | 66079b2d951bf2f0468c9525fa4f8fbbba532972 /vala/valasymbol.vala | |
parent | 64d40fa2296b40679e9a045cbf0a7adf020e1f92 (diff) | |
download | vala-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.vala | 29 |
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) { |