fix error message for invalid symbols, fixes bug 514329
authorJuerg Billeter <j@bitron.ch>
Mon, 4 Feb 2008 23:52:32 +0000 (23:52 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Mon, 4 Feb 2008 23:52:32 +0000 (23:52 +0000)
2008-02-05  Juerg Billeter  <j@bitron.ch>

* vala/valasemanticanalyzer.vala: fix error message for invalid
  symbols, fixes bug 514329

svn path=/trunk/; revision=968

ChangeLog
vala/valasemanticanalyzer.vala

index 5ba7aa0..688b4fa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2008-02-05  Jürg Billeter  <j@bitron.ch>
 
+       * vala/valasemanticanalyzer.vala: fix error message for invalid
+         symbols, fixes bug 514329
+
+2008-02-05  Jürg Billeter  <j@bitron.ch>
+
        * vala/valaclass.vala: improve error reporting for properties,
          fixes bug 514326
 
index 0df6db6..589fd36 100644 (file)
@@ -1461,7 +1461,15 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
 
                        if (expr.symbol_reference == null) {
                                expr.error = true;
-                               Report.error (expr.source_reference, "The name `%s' does not exist in the context of `%s'".printf (expr.member_name, base_symbol.get_full_name ()));
+
+                               string base_type_name = "(null)";
+                               if (expr.inner != null && expr.inner.static_type != null) {
+                                       base_type_name = expr.inner.static_type.to_string ();
+                               } else if (base_symbol != null) {
+                                       base_type_name = base_symbol.get_full_name ();
+                               }
+
+                               Report.error (expr.source_reference, "The name `%s' does not exist in the context of `%s'".printf (expr.member_name, base_type_name));
                                return;
                        }
                }