diff options
author | Juerg Billeter <j@bitron.ch> | 2008-03-31 18:54:00 +0000 |
---|---|---|
committer | Jürg Billeter <juergbi@src.gnome.org> | 2008-03-31 18:54:00 +0000 |
commit | 6cc22c6901067882ef7952f65dbe8307f799fa3b (patch) | |
tree | ff7f726728b0b1320b85302ea9b3b092004c3c14 /vala/valainterfacewriter.vala | |
parent | 71275f71cb6e558588e341af6376d5e0e3a97282 (diff) | |
download | vala-6cc22c6901067882ef7952f65dbe8307f799fa3b.tar.gz |
fix output of enums with methods
2008-03-31 Juerg Billeter <j@bitron.ch>
* vala/valainterfacewriter.vala: fix output of enums with methods
svn path=/trunk/; revision=1164
Diffstat (limited to 'vala/valainterfacewriter.vala')
-rw-r--r-- | vala/valainterfacewriter.vala | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/vala/valainterfacewriter.vala b/vala/valainterfacewriter.vala index d50042130..046363650 100644 --- a/vala/valainterfacewriter.vala +++ b/vala/valainterfacewriter.vala @@ -300,7 +300,7 @@ public class Vala.InterfaceWriter : CodeVisitor { write_indent (); - var first = true; + bool first = true; string cheaders; foreach (string cheader in en.get_cheader_filenames ()) { if (first) { @@ -330,16 +330,31 @@ public class Vala.InterfaceWriter : CodeVisitor { write_identifier (en.name); write_begin_block (); - en.accept_children (this); + first = true; + foreach (EnumValue ev in en.get_values ()) { + if (first) { + first = false; + } else { + write_string (","); + write_newline (); + } - write_end_block (); - write_newline (); - } + write_indent (); + write_identifier (ev.name); + } - public override void visit_enum_value (EnumValue! ev) { - write_indent (); - write_identifier (ev.name); - write_string (","); + if (!first) { + if (en.get_methods ().size > 0) { + write_string (";"); + } + write_newline (); + } + + foreach (Method m in en.get_methods ()) { + m.accept (this); + } + + write_end_block (); write_newline (); } |