support partial interface reimplementation, fixes bug 504079
authorJuerg Billeter <j@bitron.ch>
Sat, 19 Apr 2008 22:43:07 +0000 (22:43 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sat, 19 Apr 2008 22:43:07 +0000 (22:43 +0000)
2008-04-20  Juerg Billeter  <j@bitron.ch>

* vala/valasemanticanalyzer.vala: support partial interface
  reimplementation, fixes bug 504079

svn path=/trunk/; revision=1279

ChangeLog
vala/valasemanticanalyzer.vala

index 39f6a25..fe05c26 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-04-20  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valasemanticanalyzer.vala: support partial interface
+         reimplementation, fixes bug 504079
+
 2008-04-19  Jürg Billeter  <j@bitron.ch>
 
        * vala/valasemanticanalyzer.vala: report error when trying to set
index e0b00ba..85d893b 100644 (file)
@@ -180,6 +180,11 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
                                if (base_type.data_type is Interface) {
                                        Interface iface = (Interface) base_type.data_type;
 
+                                       if (cl.base_class != null && cl.base_class.is_subtype_of (iface)) {
+                                               // reimplementation of interface, class is not required to reimplement all methods
+                                               break;
+                                       }
+
                                        /* We do not need to do expensive equality checking here since this is done
                                         * already. We only need to guarantee the symbols are present.
                                         */