fix interface base access, fixes bug 527985
authorJuerg Billeter <j@bitron.ch>
Mon, 14 Apr 2008 17:04:37 +0000 (17:04 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Mon, 14 Apr 2008 17:04:37 +0000 (17:04 +0000)
2008-04-14  Juerg Billeter  <j@bitron.ch>

* vala/valasemanticanalyzer.vala: fix interface base access,
  fixes bug 527985

svn path=/trunk/; revision=1223

ChangeLog
vala/valasemanticanalyzer.vala

index 8d9bf35..b0f40e5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2008-04-14  Jürg Billeter  <j@bitron.ch>
 
+       * vala/valasemanticanalyzer.vala: fix interface base access,
+         fixes bug 527985
+
+2008-04-14  Jürg Billeter  <j@bitron.ch>
+
        * vala/valaclass.vala, vala/valainterface.vala,
          vala/valatypesymbol.vala, vala/valavaluetype.vala,
          gobject/valaccodegenerator.vala: prepare support for nullable and
index b48a827..791a722 100644 (file)
@@ -410,6 +410,10 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
                        } else if (m.is_virtual || m.is_abstract) {
                                m.base_method = m;
                        }
+               } else if (current_symbol is Interface) {
+                       if (m.is_virtual || m.is_abstract) {
+                               m.base_interface_method = m;
+                       }
                } else if (current_symbol is Struct) {
                        if (m.is_abstract || m.is_virtual || m.overrides) {
                                Report.error (m.source_reference, "A struct member `%s' cannot be marked as override, virtual, or abstract".printf (m.get_full_name ()));