vala r1458 - in trunk: . gobject vala



Author: juergbi
Date: Tue May 27 21:50:15 2008
New Revision: 1458
URL: http://svn.gnome.org/viewvc/vala?rev=1458&view=rev

Log:
2008-05-27  Juerg Billeter  <j bitron ch>

	* vala/valasemanticanalyzer.vala:
	* vala/valathrowstatement.vala:
	* gobject/valaccodegenerator.vala:

	Fix temporary variable handling for throw statements


Modified:
   trunk/ChangeLog
   trunk/gobject/valaccodegenerator.vala
   trunk/vala/valasemanticanalyzer.vala
   trunk/vala/valathrowstatement.vala

Modified: trunk/gobject/valaccodegenerator.vala
==============================================================================
--- trunk/gobject/valaccodegenerator.vala	(original)
+++ trunk/gobject/valaccodegenerator.vala	Tue May 27 21:50:15 2008
@@ -2313,9 +2313,6 @@
 
 		var cfrag = new CCodeFragment ();
 
-		/* declare temporary objects */
-		append_temp_decl (cfrag, temp_vars);
-
 		// method will fail
 		current_method_inner_error = true;
 		var cassign = new CCodeAssignment (new CCodeIdentifier ("inner_error"), (CCodeExpression) stmt.error_expression.ccodenode);
@@ -2324,6 +2321,8 @@
 		add_simple_check (stmt, cfrag);
 
 		stmt.ccodenode = cfrag;
+
+		create_temp_decl (stmt, stmt.error_expression.temp_vars);
 	}
 
 	public override void visit_try_statement (TryStatement stmt) {

Modified: trunk/vala/valasemanticanalyzer.vala
==============================================================================
--- trunk/vala/valasemanticanalyzer.vala	(original)
+++ trunk/vala/valasemanticanalyzer.vala	Tue May 27 21:50:15 2008
@@ -2554,7 +2554,6 @@
 					Report.error (expr.source_reference, "Invalid type for argument 1");
 				}
 			}
-			expr.value_type = new VoidType ();
 		}
 
 		foreach (MemberInitializer init in expr.get_object_initializer ()) {

Modified: trunk/vala/valathrowstatement.vala
==============================================================================
--- trunk/vala/valathrowstatement.vala	(original)
+++ trunk/vala/valathrowstatement.vala	Tue May 27 21:50:15 2008
@@ -1,6 +1,6 @@
 /* valathrowstatement.vala
  *
- * Copyright (C) 2007  JÃrg Billeter
+ * Copyright (C) 2007-2008  JÃrg Billeter
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -62,6 +62,8 @@
 	public override void accept_children (CodeVisitor visitor) {
 		if (error_expression != null) {
 			error_expression.accept (visitor);
+
+			visitor.visit_end_full_expression (error_expression);
 		}
 	}
 



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