[vala] codegen: Fix C code generated for returns in closures in constructors



commit d770a14f2dda8488e6cc03a674c990ec2908dd07
Author: Jürg Billeter <j bitron ch>
Date:   Thu Nov 11 14:23:46 2010 +0100

    codegen: Fix C code generated for returns in closures in constructors
    
    Fixes bug 634551.

 codegen/valaccodebasemodule.vala |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
index 26437d2..89ab3cf 100644
--- a/codegen/valaccodebasemodule.vala
+++ b/codegen/valaccodebasemodule.vala
@@ -131,6 +131,10 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
 	}
 
 	public bool is_in_constructor () {
+		if (current_method != null) {
+			// make sure to not return true in lambda expression inside constructor
+			return false;
+		}
 		var sym = current_symbol;
 		while (sym != null) {
 			if (sym is Constructor) {
@@ -142,6 +146,10 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
 	}
 
 	public bool is_in_destructor () {
+		if (current_method != null) {
+			// make sure to not return true in lambda expression inside constructor
+			return false;
+		}
 		var sym = current_symbol;
 		while (sym != null) {
 			if (sym is Destructor) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]