[vala] Fix to_string method for enums
- From: Jürg Billeter <juergbi src gnome org>
- To: commits-list gnome org
- Cc: 
- Subject: [vala] Fix to_string method for enums
- Date: Mon, 13 Sep 2010 17:42:08 +0000 (UTC)
commit 39ade29474484c0309e76441897c531df73d5d47
Author: Jürg Billeter <j bitron ch>
Date:   Mon Sep 13 19:41:07 2010 +0200
    Fix to_string method for enums
 codegen/valaccodemethodcallmodule.vala |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)
---
diff --git a/codegen/valaccodemethodcallmodule.vala b/codegen/valaccodemethodcallmodule.vala
index f1dd342..b480a71 100644
--- a/codegen/valaccodemethodcallmodule.vala
+++ b/codegen/valaccodemethodcallmodule.vala
@@ -806,23 +806,23 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
 		function.add_parameter (new CCodeFormalParameter ("value", en.get_cname ()));
 
 		// definition
-		var cblock = new CCodeBlock ();
+		push_context (new EmitContext ());
+		push_function (function);
 
-		var cswitch = new CCodeSwitchStatement (new CCodeConstant ("value"));
+		ccode.open_switch (new CCodeConstant ("value"));
 		foreach (var enum_value in en.get_values ()) {
-			cswitch.add_statement (new CCodeCaseStatement (new CCodeIdentifier (enum_value.get_cname ())));
-			cswitch.add_statement (new CCodeReturnStatement (new CCodeConstant ("\""+enum_value.get_cname ()+"\"")));
+			ccode.add_case (new CCodeIdentifier (enum_value.get_cname ()));
+			ccode.add_return (new CCodeConstant ("\""+enum_value.get_cname ()+"\""));
 		}
-		cblock.add_statement (cswitch);
-		cblock.add_statement (new CCodeReturnStatement (new CCodeConstant ("NULL")));
+		ccode.close ();
+		ccode.add_return (new CCodeConstant ("NULL"));
 
 		// append to file
-
-		cfile.add_type_member_declaration (function.copy ());
-
-		function.block = cblock;
+		cfile.add_function_declaration (function);
 		cfile.add_function (function);
 
+		pop_context ();
+
 		return to_string_func;
 	}
 }
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]