[vala/staging: 5/5] vala: Add package_name to missing member error for external MemberAccess
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/staging: 5/5] vala: Add package_name to missing member error for external MemberAccess
- Date: Wed, 25 Sep 2019 13:21:33 +0000 (UTC)
commit b4ad44e669742451536ebe395500ca431b697bba
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Sun Sep 22 17:27:00 2019 +0200
vala: Add package_name to missing member error for external MemberAccess
This provides information about the origin of the accessed symbol.
vala/valamemberaccess.vala | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
---
diff --git a/vala/valamemberaccess.vala b/vala/valamemberaccess.vala
index ad3f3d0fc..132f72d05 100644
--- a/vala/valamemberaccess.vala
+++ b/vala/valamemberaccess.vala
@@ -468,13 +468,24 @@ public class Vala.MemberAccess : Expression {
error = true;
string base_type_name = "(null)";
+ unowned Symbol? base_type = null;
if (inner != null && inner.value_type != null) {
base_type_name = inner.value_type.to_string ();
+ base_type = inner.value_type.data_type;
} else if (base_symbol != null) {
base_type_name = base_symbol.get_full_name ();
+ base_type = base_symbol;
}
- Report.error (source_reference, "The name `%s' does not exist in the context of
`%s'".printf (member_name, base_type_name));
+ string? base_type_package = "";
+ if (base_type != null && base_type.external_package) {
+ base_type_package = base_symbol.source_reference.file.package_name;
+ if (base_type_package != null) {
+ base_type_package = " (%s)".printf (base_type_package);
+ }
+ }
+
+ Report.error (source_reference, "The name `%s' does not exist in the context of
`%s'%s".printf (member_name, base_type_name, base_type_package));
return false;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]