From e537684ae95ac1a906d945d4775bb3c949d75df5 Mon Sep 17 00:00:00 2001 From: Juerg Billeter Date: Wed, 29 Aug 2007 13:31:43 +0000 Subject: [PATCH] improve error reporting in invocation expressions 2007-08-29 Juerg Billeter * vala/valasemanticanalyzer.vala: improve error reporting in invocation expressions svn path=/trunk/; revision=529 --- ChangeLog | 5 +++++ vala/valasemanticanalyzer.vala | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 548c330..ea062c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2007-08-29 Jürg Billeter + * vala/valasemanticanalyzer.vala: improve error reporting in invocation + expressions + +2007-08-29 Jürg Billeter + * vala/valaclass.vala, vala/valasemanticanalyzer.vala, gobject/valacodegeneratorassignment.vala: deny access to instance members from static methods, improve error reporting diff --git a/vala/valasemanticanalyzer.vala b/vala/valasemanticanalyzer.vala index eba19ca..2c131a6 100644 --- a/vala/valasemanticanalyzer.vala +++ b/vala/valasemanticanalyzer.vala @@ -898,6 +898,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor { public override void visit_end_return_statement (ReturnStatement! stmt) { if (stmt.return_expression != null && stmt.return_expression.error) { // ignore inner error + stmt.error = true; return; } @@ -1481,7 +1482,11 @@ public class Vala.SemanticAnalyzer : CodeVisitor { } } else { var arg = arg_it.get (); - if (arg.static_type == null) { + if (arg.error) { + // ignore inner error + expr.error = true; + return false; + } else if (arg.static_type == null) { // disallow untyped arguments except for type inference of callbacks if (!(param.type_reference.data_type is Callback)) { expr.error = true; -- 2.7.4