[vala] codewriter: Write enum cname when it differs from the default cname
- From: Luca Bruno <lucabru src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] codewriter: Write enum cname when it differs from the default cname
- Date: Mon, 4 Apr 2011 20:15:44 +0000 (UTC)
commit d3f3dbf16787e95f7bf26b2ce57e8f769f3d8309
Author: Luca Bruno <lucabru src gnome org>
Date: Mon Apr 4 21:53:45 2011 +0200
codewriter: Write enum cname when it differs from the default cname
Based on patch by Evan Nemerson.
Fixes bug 615493.
vala/valacodewriter.vala | 4 ++++
vala/valaenum.vala | 11 ++++++++++-
2 files changed, 14 insertions(+), 1 deletions(-)
---
diff --git a/vala/valacodewriter.vala b/vala/valacodewriter.vala
index 6b83956..6c11da9 100644
--- a/vala/valacodewriter.vala
+++ b/vala/valacodewriter.vala
@@ -591,6 +591,10 @@ public class Vala.CodeWriter : CodeVisitor {
write_string ("has_type_id = false, ");
}
+ if (en.get_cname () != en.get_default_cname ()) {
+ write_string ("cname = \"%s\", ".printf (en.get_cname ()));
+ }
+
write_string ("cheader_filename = \"%s\")]".printf (get_cheaders(en)));
if (en.is_flags) {
diff --git a/vala/valaenum.vala b/vala/valaenum.vala
index f5fca29..fed3286 100644
--- a/vala/valaenum.vala
+++ b/vala/valaenum.vala
@@ -160,12 +160,21 @@ public class Vala.Enum : TypeSymbol {
cname = attr.get_string ("cname");
}
if (cname == null) {
- cname = "%s%s".printf (parent_symbol.get_cprefix (), name);
+ cname = get_default_cname ();
}
}
return cname;
}
+ /**
+ * Returns the default name of this enum as it is used in C code.
+ *
+ * @return the name to be used in C code by default
+ */
+ public string get_default_cname () {
+ return "%s%s".printf (parent_symbol.get_cprefix (), name);
+ }
+
public void set_cname (string cname) {
this.cname = cname;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]