vala r1608 - in trunk: . gobject vala
- From: juergbi svn gnome org
- To: svn-commits-list gnome org
- Subject: vala r1608 - in trunk: . gobject vala
- Date: Tue, 17 Jun 2008 20:15:14 +0000 (UTC)
Author: juergbi
Date: Tue Jun 17 20:15:14 2008
New Revision: 1608
URL: http://svn.gnome.org/viewvc/vala?rev=1608&view=rev
Log:
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
Modified:
trunk/ChangeLog
trunk/gobject/valaccodeobjecttypesymbolbinding.vala
trunk/vala/valasymbol.vala
Modified: trunk/gobject/valaccodeobjecttypesymbolbinding.vala
==============================================================================
--- trunk/gobject/valaccodeobjecttypesymbolbinding.vala (original)
+++ trunk/gobject/valaccodeobjecttypesymbolbinding.vala Tue Jun 17 20:15:14 2008
@@ -92,7 +92,7 @@
blob.append ("\\0");
start++;
- blob.append (m.name);
+ blob.append (Symbol.lower_case_to_camel_case (m.name));
blob.append ("\\0");
start++;
@@ -164,7 +164,7 @@
dbus_signals.append (dbus_iface_name);
dbus_signals.append ("\\0");
- dbus_signals.append (sig.name);
+ dbus_signals.append (Symbol.lower_case_to_camel_case (sig.name));
dbus_signals.append ("\\0");
}
dbus_signals.append_c('"');
Modified: trunk/vala/valasymbol.vala
==============================================================================
--- trunk/vala/valasymbol.vala (original)
+++ trunk/vala/valasymbol.vala Tue Jun 17 20:15:14 2008
@@ -236,6 +236,35 @@
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) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]