From 66df326da6e53b342569fa71a7e3870068d94447 Mon Sep 17 00:00:00 2001 From: Juerg Billeter Date: Tue, 5 Feb 2008 00:13:47 +0000 Subject: [PATCH] improve error reporting for methods missing the return type, fixes bug 2008-02-05 Juerg Billeter * vala/valaclass.vala, vala/valastruct.vala: improve error reporting for methods missing the return type, fixes bug 514344 svn path=/trunk/; revision=969 --- ChangeLog | 5 +++++ vala/valaclass.vala | 8 ++++++++ vala/valastruct.vala | 8 ++++++++ 3 files changed, 21 insertions(+) diff --git a/ChangeLog b/ChangeLog index 688b4fa..7bbf5c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2008-02-05 Jürg Billeter + * vala/valaclass.vala, vala/valastruct.vala: improve error reporting + for methods missing the return type, fixes bug 514344 + +2008-02-05 Jürg Billeter + * vala/valasemanticanalyzer.vala: fix error message for invalid symbols, fixes bug 514329 diff --git a/vala/valaclass.vala b/vala/valaclass.vala index 587e008..f42ff40 100644 --- a/vala/valaclass.vala +++ b/vala/valaclass.vala @@ -202,6 +202,14 @@ public class Vala.Class : Typesymbol { } else { m.name = ".new." + m.name; } + + var cm = (CreationMethod) m; + if (cm.type_name != null && cm.type_name != name) { + // type_name is null for constructors generated by GIdlParser + Report.error (m.source_reference, "missing return type in method `%s.%s´".printf (get_full_name (), cm.type_name)); + m.error = true; + return; + } } methods.add (m); diff --git a/vala/valastruct.vala b/vala/valastruct.vala index 8782646..931e42f 100644 --- a/vala/valastruct.vala +++ b/vala/valastruct.vala @@ -129,6 +129,14 @@ public class Vala.Struct : Typesymbol { } else { m.name = ".new." + m.name; } + + var cm = (CreationMethod) m; + if (cm.type_name != null && cm.type_name != name) { + // type_name is null for constructors generated by GIdlParser + Report.error (m.source_reference, "missing return type in method `%s.%s´".printf (get_full_name (), cm.type_name)); + m.error = true; + return; + } } methods.add (m); -- 2.7.4