From: Jürg Billeter Date: Mon, 27 Jul 2009 17:15:31 +0000 (+0200) Subject: Add GError parameter for overriding methods where necessary X-Git-Tag: 0.7.5~61 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50007f6334297a929d58ecc57864a643e64ca3c2;p=thirdparty%2Fvala.git Add GError parameter for overriding methods where necessary Check the error types of the base method as well, fixes bug 548283. --- diff --git a/codegen/valaccodemethodmodule.vala b/codegen/valaccodemethodmodule.vala index 36ec07888..eb73b0f7a 100644 --- a/codegen/valaccodemethodmodule.vala +++ b/codegen/valaccodemethodmodule.vala @@ -104,7 +104,7 @@ internal class Vala.CCodeMethodModule : CCodeStructModule { } } - if (m.get_error_types ().size > 0) { + if (m.get_error_types ().size > 0 || (m.base_method != null && m.base_method.get_error_types ().size > 0)) { foreach (DataType error_type in m.get_error_types ()) { generate_type_declaration (error_type, decl_space); } diff --git a/vala/valamethod.vala b/vala/valamethod.vala index 5acfc655b..5fa7dd08b 100644 --- a/vala/valamethod.vala +++ b/vala/valamethod.vala @@ -453,7 +453,7 @@ public class Vala.Method : Member { return false; } - /* this method may throw more but not less errors than the base method */ + /* this method may throw less but not more errors than the base method */ foreach (DataType method_error_type in get_error_types ()) { bool match = false; foreach (DataType base_method_error_type in base_method.get_error_types ()) {