]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
fix memory management in switch statements extend switch statement test
authorJürg Billeter <j@bitron.ch>
Thu, 10 Aug 2006 15:50:14 +0000 (15:50 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Thu, 10 Aug 2006 15:50:14 +0000 (15:50 +0000)
2006-08-10  Jürg Billeter  <j@bitron.ch>

* vala/valacodegenerator.vala: fix memory management in switch
  statements
* tests/test-020.vala: extend switch statement test

svn path=/trunk/; revision=98

vala/ChangeLog
vala/tests/test-020.vala
vala/vala/valacodegenerator.vala

index 85c7b0535e2b8af713ca4d75a78713cf775ccb89..7e9f942ed1b16dfd0ca5fe4eb62dbbf37e941218 100644 (file)
@@ -1,3 +1,9 @@
+2006-08-10  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valacodegenerator.vala: fix memory management in switch
+         statements
+       * tests/test-020.vala: extend switch statement test
+
 2006-08-10  Jürg Billeter  <j@bitron.ch>
 
        * vala/valacodegenerator.vala: support switch statements
index f11cee87b9738baaf4fd29bf90d629617c764271..a0e85176409cb2f52c5a1f8a7ab5aa79d84874fe 100644 (file)
@@ -17,6 +17,9 @@ class Maman.Foo {
                case 0:
                        stdout.printf (" 4");
                        break;
+               case 1:
+                       stdout.printf (" BAD");
+                       break;
                default:
                        stdout.printf (" BAD");
                        break;
@@ -29,6 +32,9 @@ class Maman.Foo {
                default:
                        stdout.printf (" 5");
                        break;
+               case 1:
+                       stdout.printf (" BAD");
+                       break;
                }
                
                stdout.printf (" 6");
index bb00d793e61589f813c66dc79d1fa91364ca82c9..0a6a0071a3c4ffae107685481b20292f73db397a 100644 (file)
@@ -1529,8 +1529,8 @@ public class Vala.CodeGenerator : CodeVisitor {
                List<Statement> default_statements = null;
                
                // generate nested if statements                
-               CCodeStatement ctopstmt = null;
-               ref CCodeIfStatement coldif = null;
+               ref CCodeStatement ctopstmt = null;
+               CCodeIfStatement coldif = null;
                foreach (SwitchSection section in stmt.get_sections ()) {
                        if (section.has_default_label ()) {
                                default_statements = section.get_statements ();
@@ -1747,11 +1747,7 @@ public class Vala.CodeGenerator : CodeVisitor {
        }
 
        public override void visit_boolean_literal (BooleanLiteral! expr) {
-               if (expr.value) {
-                       expr.ccodenode = new CCodeConstant ("TRUE");
-               } else {
-                       expr.ccodenode = new CCodeConstant ("FALSE");
-               }
+               expr.ccodenode = new CCodeConstant (expr.value ? "TRUE" : "FALSE");
        }
 
        public override void visit_character_literal (CharacterLiteral! expr) {