[vala] Fix default values of flag enums
- From: Jürg Billeter <juergbi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] Fix default values of flag enums
- Date: Wed, 4 Aug 2010 13:11:45 +0000 (UTC)
commit 54caefae22d8b3a493d07bfc11807fc3d440adc6
Author: Marc-André Lureau <marcandre lureau gmail com>
Date: Wed Aug 4 15:05:54 2010 +0200
Fix default values of flag enums
Fixes bug 605812.
codegen/valaccodebasemodule.vala | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
index 67a6d7c..71137b5 100644
--- a/codegen/valaccodebasemodule.vala
+++ b/codegen/valaccodebasemodule.vala
@@ -681,10 +681,15 @@ public class Vala.CCodeBaseModule : CCodeModule {
cenum.deprecated = en.deprecated;
+ int flag_shift = 0;
foreach (EnumValue ev in en.get_values ()) {
CCodeEnumValue c_ev;
if (ev.value == null) {
c_ev = new CCodeEnumValue (ev.get_cname ());
+ if (en.is_flags) {
+ c_ev.value = new CCodeConstant ("1 << %d".printf (flag_shift));
+ flag_shift += 1;
+ }
} else {
ev.value.accept (codegen);
c_ev = new CCodeEnumValue (ev.get_cname (), (CCodeExpression) ev.value.ccodenode);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]