[vala/0.36] vala: Improve error output of mismatching overriding methods
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/0.36] vala: Improve error output of mismatching overriding methods
- Date: Sat, 9 Dec 2017 13:25:39 +0000 (UTC)
commit f309925984f0ace9fe95d134f05b57f4eea96be5
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Mon Nov 27 19:46:20 2017 +0100
vala: Improve error output of mismatching overriding methods
Include the prototype-string of base-method for easier error finding.
vala/valamethod.vala | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/vala/valamethod.vala b/vala/valamethod.vala
index 1312b17..1778e77 100644
--- a/vala/valamethod.vala
+++ b/vala/valamethod.vala
@@ -563,7 +563,8 @@ public class Vala.Method : Subroutine, Callable {
string invalid_match;
if (!compatible (base_method, out invalid_match)) {
error = true;
- Report.error (source_reference, "overriding method `%s' is
incompatible with base method `%s': %s.".printf (get_full_name (), base_method.get_full_name (),
invalid_match));
+ var base_method_type = new MethodType (base_method);
+ Report.error (source_reference, "overriding method `%s' is
incompatible with base method `%s': %s.".printf (get_full_name (), type_to_prototype_string
(base_method_type), invalid_match));
return;
}
@@ -609,7 +610,8 @@ public class Vala.Method : Subroutine, Callable {
string invalid_match = null;
if (!compatible (base_method, out invalid_match)) {
error = true;
- Report.error (source_reference, "overriding method
`%s' is incompatible with base method `%s': %s.".printf (get_full_name (), base_method.get_full_name (),
invalid_match));
+ var base_method_type = new MethodType (base_method);
+ Report.error (source_reference, "overriding method
`%s' is incompatible with base method `%s': %s.".printf (get_full_name (), type_to_prototype_string
(base_method_type), invalid_match));
return;
}
@@ -621,7 +623,7 @@ public class Vala.Method : Subroutine, Callable {
}
if (base_interface_type != null) {
- Report.error (source_reference, "%s: no suitable interface method found to
implement".printf (get_full_name ()));
+ Report.error (source_reference, "`%s': no suitable interface method found to
implement".printf (get_full_name ()));
}
}
@@ -776,7 +778,7 @@ public class Vala.Method : Subroutine, Callable {
return false;
}
} else if (overrides && base_method == null) {
- Report.error (source_reference, "%s: no suitable method found to override".printf
(get_full_name ()));
+ Report.error (source_reference, "`%s': no suitable method found to override".printf
(get_full_name ()));
} else if ((is_abstract || is_virtual || overrides) && access == SymbolAccessibility.PRIVATE)
{
error = true;
Report.error (source_reference, "Private member `%s' cannot be marked as override,
virtual, or abstract".printf (get_full_name ()));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]