vala r974 - in trunk: . vala vapi
- From: juergbi svn gnome org
- To: svn-commits-list gnome org
- Subject: vala r974 - in trunk: . vala vapi
- Date: Tue, 5 Feb 2008 18:45:05 +0000 (GMT)
Author: juergbi
Date: Tue Feb 5 18:45:05 2008
New Revision: 974
URL: http://svn.gnome.org/viewvc/vala?rev=974&view=rev
Log:
2008-02-05 Juerg Billeter <j bitron ch>
* vala/valacfgbuilder.vala: assume that control flow ends when
invoking a method with the [NoReturn] attribute
* vapi/glib-2.0.vapi: add [NoReturn] to assert_not_reached
Modified:
trunk/ChangeLog
trunk/vala/valacfgbuilder.vala
trunk/vapi/glib-2.0.vapi
Modified: trunk/vala/valacfgbuilder.vala
==============================================================================
--- trunk/vala/valacfgbuilder.vala (original)
+++ trunk/vala/valacfgbuilder.vala Tue Feb 5 18:45:05 2008
@@ -166,6 +166,16 @@
current_block.add_node (stmt);
handle_errors (stmt);
+
+ if (stmt.expression is InvocationExpression) {
+ var expr = (InvocationExpression) stmt.expression;
+ var ma = expr.call as MemberAccess;
+ if (ma.symbol_reference != null && ma.symbol_reference.get_attribute ("NoReturn") != null) {
+ current_block = null;
+ unreachable_reported = false;
+ return;
+ }
+ }
}
public override void visit_if_statement (IfStatement! stmt) {
Modified: trunk/vapi/glib-2.0.vapi
==============================================================================
--- trunk/vapi/glib-2.0.vapi (original)
+++ trunk/vapi/glib-2.0.vapi Tue Feb 5 18:45:05 2008
@@ -1395,6 +1395,7 @@
public static void return_if_fail (bool expr);
public static void assert (bool expr);
+ [NoReturn]
public static void assert_not_reached ();
/* Message Logging */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]